netstat
netstat
是一个命令行工具,可以提供有关网络连接的信息。
要列出所有正在侦听的TCP或UDP端口,包括使用端口的服务和套接字状态,请使用以下命令:
netstat -tunlp
选项:
-t
-显示TCP端口。-u
-显示UDP端口。-n
-显示数字地址而不是解析主机。-l
-仅显示监听端口。-p
-显示侦听器进程的PID和名称。仅当你以root用户或 sudo 用户身份运行命令时,才会显示此信息。
显示:
Proto
-套接字使用的协议。Local Address
-进程侦听的IP地址和端口号。PID/Program name
-PID和进程名称。
如果要过滤结果,可使用 grep命令。
netstat
已过时,被ss
和ip
取代,但它仍然是检查网络连接的最常用命令。
使用ss
ss
是新的netstat
。它缺少netstat
的某些功能,但是公开了更多的TCP状态,并且速度稍快。命令选项基本相同,因此从netstat
到ss
的转换并不困难。要使用ss
获取所有监听端口的列表,请输入:
ss -tunlp
使用lsof
lsof
是功能强大的命令行应用程序,可提供有关进程打开的文件的信息。在Linux中,所有内容都是文件。你可以将套接字视为写入网络的文件。要获取具有lsof
的所有侦听TCP端口的列表,请输入:
lsof -nP -iTCP -sTCP:LISTEN
选项:
-n
-不要将端口号转换为端口名称。-p
-不解析主机名,显示数字地址。
-iTCP -sTCP:LISTEN
-仅显示TCP状态为LISTEN的网络文件。
显示:
COMMAND
,PID
,USER
-运行与端口关联的程序的名称,PID和用户。NAME
-端口号。
要查找正在侦听特定端口(例如端口3306
)的进程,可以使用:
lsof -nP -iTCP:3306 -sTCP:LISTEN
评论区