Linux命令行中netstat查看端口占用的方法

直接上干货。

使用netstat查看端口的步骤如下:
1 . 查看所有端口 命令:netstat -a 缺点:信息太乱,建议使用grep
2 核心命令(推荐) 命令:netstat -tulnp 说明: -tTCP -uUDP -l 监听端口 -n 数字地址 -p 进程信息
最准确的输出是直接基于PID和程序名称。

3 过滤特定端口 命令:netstat -tulnp | 正则表达式:8 0 请注意,冒号之前不能有空格。

4 只看TCP或UDP 看看TCP:netstat -tnlp 只看UDP:netstat -unlp
5 新的解决方案:使用 ss 命令:ss -tulnp 比netstat快,参数基本一样。

如何选择? 只需每天使用 netstat -tulnp 即可。
要检查特定端口,请使用 grep。
如果服务器并发高的话,改成ss就可以了。

剩下的问题自己找出来?

linux查看端口命令是什么

哎呀,在Linux系统中查看端口其实很容易。
我在问答论坛混了这么多年,见过很多命令。

首先我们需要使用lsof命令。
这个命令几乎就是要点。
用法如下:lsof -i:端口号。
例如,如果你想查看8 0端口的状态,只需输入lsof -i:8 0即可。
这个东西可以给你显示进程ID(PID)、进程名以及占用8 0端口的用户信息。
如果你不指定端口号,只要输入lsof -i,就会列出所有的网络连接和监听端口。

那么,我们来谈谈netstat命令。
这个东西还不错,用法是这样的:netstat -nltp|grep 端口号。
这里的参数有点意思:

-n:这意味着以数字形式显示IP地址和端口号,而不解析主机名或服务名,这样要快得多。

-l:仅显示处于监听状态(LISTENING)的端口。

-t:限制输出到TCP协议连接。

-p:显示进程ID和名称,不过这个东西需要root权限才能使用。

例如,如果要查看所有 TCP 监听端口和相应进程,请输入 netstat -nltp。
要过滤特定端口,例如端口 2 2 ,请将 grep2 2 添加到末尾,成为 netstat-nltp|grep2 2
我还应该提到 TCP 连接状态。
这个东西可以通过netstat或者ss(比netstat更现代的工具)来看到。
常见状态有:

ESTABLISHED:连接已建立。

LISTENING:服务器正在侦听端口。

TIME-WAIT:连接关闭后等待资源释放的过渡状态。

关于权限要求,某些命令(例如 netstat -p)需要使用 root 权限。

啊,对了,还有一个替代工具叫ss,它的功能与netstat类似,但性能更好,特别推荐在新系统中使用。

总而言之,根据您的需要选择命令。
如果想快速查询单个端口,可以使用lsof -i:端口号;要彻底分析端口和进程,请使用 netstat-nltp 或 ss-tulnp。
就是这样,简单吧?