使用 netstat 检查端口
netstat 是一个命令行工具,可以提供有关网络连接的信息。
netstat - atulnp会显示所有端口和所有对应的程序,用grep管道可以过滤出想要的字段
-a :all,表示列出所有的连接,服务监听,Socket资料
-t :tcp,列出tcp协议的服务
-u :udp,列出udp协议的服务
-n :port number, 用端口号来显示
-l :listening,列出当前监听服务
-p :program,列出服务程序的PID
Proto :网络传输协议,主要为tcp和udpLocal Address :本地的ip:portForeign Address:远程主机的ip:portState :连线状态,主要有监听( LISTEN )和建立(ESTABLISED)PID :服务的进程编号Program name:服务名称
netstat 命令示例示例
显示所有已开放端口,请使用以下命令:
netstat -anp
要列出正在侦听的所有 TCP 或 UDP 端口,包括使用端口和套接字状态的服务
请使用以下命令:
netstat -tunlp
此命令中使用的选项具有以下含义:
-t – 显示 TCP 端口。-u – 显示 UDP 端口。-n – 显示数字地址而不是主机名。-l – 仅显示侦听端口。-p – 显示进程的 PID 和名称。仅当您以 root 或 sudo 用户身份运行命令时,才会显示此信息。
通过以上两种方式查询到服务的PID号
通过ps命令查询对应的服务
ps -ef |grep 87254
查询指定端口通过grep过滤:
netstat -tnlp | grep :80
注:Proto – 套接字使用的协议。Local Address – 进程侦听的 IP 地址和端口号。PID/Program name – PID 和进程名称。
三、使用 lsof 检查端口
lsof 是一个功能强大的命令行实用程序,它提供有关进程打开的文件的信息。
在 Linux 中,一切都是文件,可以将套接字视为写入网络的文件。
要使用 lsof 获取所有侦听 TCP 端口的列表:lsof -nP -iTCP -sTCP:LISTEN
使用的选项如下:-n – 不要将端口号转换为端口名称。-p – 不要解析主机名,显示数字地址。-iTCP -sTCP:LISTEN – 仅显示 TCP 协议状态为 LISTEN 的网络文件。
使用 lsof 命令
lsof -i:端口号 用于查看某一端口的占用情况,比如查看9092端口使用情况
lsof -i:9095
可以看到9095端口已经被nginx占用
lsof -i:22220
```![在这里插入图片描述](https://img-blog.csdnimg.cn/3b0c3924eea942dfbdc45cdeb121368b.png)