Linux 下查看 1900 端口占用情况的方法

Published on Nov. 4, 2024, 8:38 a.m.

  1. 使用netstat命令(适用于大多数Linux发行版)
  2. netstat命令用于显示网络连接、路由表、接口统计信息等。
  3. 要查看1900端口是否被占用,可以在终端中输入以下命令:
    netstat -tuln | grep 1900
  4. 解释:
    • -tuln选项:
    • -t表示显示TCP协议相关的连接信息。
    • -u表示显示UDP协议相关的连接信息。
    • -l表示只显示正在监听(listening)的端口。
    • -n表示以数字形式(而不是将IP地址和端口号解析为域名和服务名称)显示结果。
    • grep 1900用于在netstat -tuln的输出结果中筛选出包含“1900”的行。
  5. 如果1900端口被占用,会显示类似这样的结果(以UDP协议为例):
    udp 0 0 0.0.0.0:1900 0.0.0.0:* 0
  6. 其中“udp”表示协议类型,“0.0.0.0:1900”表示本地地址(0.0.0.0表示所有本地IP地址)和端口号,“0.0.0.0:*”表示外部地址(这里表示任何外部地址),最后的“0”可能是进程的相关标识等信息。
  7. 如果没有输出结果,则说明1900端口没有被占用。

  8. 使用ss命令(在一些较新的Linux发行版中更推荐)

  9. ss命令用于获取套接字统计信息,它可以替代netstat命令的大部分功能,并且在性能上可能更好。
  10. 查看1900端口是否被占用的命令如下:
    ss -tuln | grep 1900
  11. 选项-tuln的含义与netstat -tuln中的类似,grep 1900的作用也是筛选出包含1900的行。
  12. 输出结果的解读方式与netstat命令的输出结果类似。如果有输出,则端口被占用;如果没有输出,则端口未被占用。

  13. 使用lsof命令(可以查看占用端口的进程详细信息)

  14. lsof命令用于列出打开文件的进程。由于在Linux中,网络连接也被视为一种文件,所以可以用它来查看占用端口的进程。
  15. 要查看1900端口是否被占用,可以使用以下命令:
    lsof -i :1900
  16. 其中-i选项表示查看网络相关的文件(即网络连接),:1900表示指定端口号为1900。
  17. 如果1900端口被占用,会显示占用该端口的进程的详细信息,包括进程ID(PID)、用户、命令等。例如:
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME some_app 1234 user 3u IPv4 12345 0t0 UDP *:1900
  18. 这里“some_app”是占用端口的应用程序名称,“1234”是进程ID,“user”是运行该进程的用户,“3u”是文件描述符相关信息,“IPv4”表示网络协议类型,“12345”可能是与设备相关的编号,“UDP *:1900”表示使用UDP协议,监听所有本地IP地址上的1900端口。
  19. 如果没有输出,则说明1900端口没有被占用。

Tags: