Linux 查看指定端口的占用状态情况,可直接使用 netstat 命令,结合 grep 管道指定端口即可。
查看指定端口的占用状态
netstat -ntulp | grep 10059
查看所有 10059 端口使用情况,笔者的示例中,返回如下:
tcp 0 0 172.16.16.144:10059 172.16.16.143:6379 TIME_WAIT -
表明本地的 10059 端口向 143 机器的 6349(应该是 redis server 端口)端口建立的 tcp 连接处于 TIME_WAIT 状态。
关于 netstat 命令的主要选项说明如下:
- -t
- 指明显示 TCP 端口。
- -u
- 指明显示 UDP 端口。
- -n
- 不进行 DNS 轮询,显示 IP。
- -l
- 仅列出有在 Listen(监听)的服务状态。
- -p
- 显示建立相关链接的程序名。
查看当前所有 tcp 端口
只需要把上述示例的 UDP 端口选项去掉即可,Linux 下的命令如下:
netstat -antlp
返回如下:
Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 579 192.168.71.5.60674 45.76.103.39.43002 ESTABLISHED tcp4 0 0 192.168.71.5.60672 172.16.16.32.6033 SYN_SENT ......
值得注意的是,Mac 下上述命令会提示参数,需要 -p 选项后面加上协议 TCP 或者 UDP 等。
netstat -nlp tcp