如何检索系统中使用的端口?

时间:2011-11-22 04:35:36

标签: linux network-programming

以Linux特定的方式,如何获取所有开放UDP端口的列表以及当前在某个界面中接受连接的所有TCP端口?

1 个答案:

答案 0 :(得分:5)

最常见的方法是使用带有以下标志的netstat控制台实用程序:

netstat -plan

其中:

-p : Show the PID and name of the program to which each socket belongs;
-l : Show only listening sockets;
-a : Show both listening and non-listening sockets;
-n : Show numerical addresses instead of trying to determine symbolic host, port or user names.

有关其他输出选项和标记,请查看手册页man netstat。根据您的特定需求,只能检查TCP或UDP(例如)协议连接:

netstat -4 --tcp --udp --all

或者,lsof -i可能会有所帮助。

您最有可能对以下信息感兴趣(特殊/ proc文件系统):

/ proc - proc文件系统的挂载点,通过以下文件访问内核状态信息:

  • / proc / net / dev - 设备信息
  • / proc / net / raw - 原始套接字信息
  • / proc / net / tcp - TCP套接字信息
  • / proc / net / udp - UDP套接字信息
  • / proc / net / igmp - IGMP组播信息
  • / proc / net / unix - Unix域套接字信息
  • / proc / net / ipx - IPX套接字信息
  • / proc / net / ax25 - AX25套接字信息
  • / proc / net / appletalk - DDP(appletalk)套接字信息
  • / proc / net / nr - NET / ROM套接字信息
  • / proc / net / route - IP路由信息
  • / proc / net / ax25_route - AX25路由信息
  • / proc / net / ipx_route - IPX路由信息
  • / proc / net / nr_nodes - NET / ROM nodelist
  • / proc / net / nr_neigh - NET / ROM邻居
  • / proc / net / ip_masquerade - 伪装连接
  • / proc / net / snmp - statistics