Linux 下查看 1900 端口占用情况的方法
Published on Nov. 4, 2024, 8:38 a.m.
- 使用
netstat
命令(适用于大多数Linux发行版) netstat
命令用于显示网络连接、路由表、接口统计信息等。- 要查看1900端口是否被占用,可以在终端中输入以下命令:
netstat -tuln | grep 1900
- 解释:
-tuln
选项:-t
表示显示TCP协议相关的连接信息。-u
表示显示UDP协议相关的连接信息。-l
表示只显示正在监听(listening)的端口。-n
表示以数字形式(而不是将IP地址和端口号解析为域名和服务名称)显示结果。grep 1900
用于在netstat -tuln
的输出结果中筛选出包含“1900”的行。
- 如果1900端口被占用,会显示类似这样的结果(以UDP协议为例):
udp 0 0 0.0.0.0:1900 0.0.0.0:* 0
- 其中“udp”表示协议类型,“0.0.0.0:1900”表示本地地址(0.0.0.0表示所有本地IP地址)和端口号,“0.0.0.0:*”表示外部地址(这里表示任何外部地址),最后的“0”可能是进程的相关标识等信息。
-
如果没有输出结果,则说明1900端口没有被占用。
-
使用
ss
命令(在一些较新的Linux发行版中更推荐) ss
命令用于获取套接字统计信息,它可以替代netstat
命令的大部分功能,并且在性能上可能更好。- 查看1900端口是否被占用的命令如下:
ss -tuln | grep 1900
- 选项
-tuln
的含义与netstat -tuln
中的类似,grep 1900
的作用也是筛选出包含1900的行。 -
输出结果的解读方式与
netstat
命令的输出结果类似。如果有输出,则端口被占用;如果没有输出,则端口未被占用。 -
使用
lsof
命令(可以查看占用端口的进程详细信息) lsof
命令用于列出打开文件的进程。由于在Linux中,网络连接也被视为一种文件,所以可以用它来查看占用端口的进程。- 要查看1900端口是否被占用,可以使用以下命令:
lsof -i :1900
- 其中
-i
选项表示查看网络相关的文件(即网络连接),:1900
表示指定端口号为1900。 - 如果1900端口被占用,会显示占用该端口的进程的详细信息,包括进程ID(PID)、用户、命令等。例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME some_app 1234 user 3u IPv4 12345 0t0 UDP *:1900
- 这里“some_app”是占用端口的应用程序名称,“1234”是进程ID,“user”是运行该进程的用户,“3u”是文件描述符相关信息,“IPv4”表示网络协议类型,“12345”可能是与设备相关的编号,“UDP *:1900”表示使用UDP协议,监听所有本地IP地址上的1900端口。
- 如果没有输出,则说明1900端口没有被占用。