这取决于你需要什么。
struct sock中包含的大部分信息( 不 struct socket)仅用于调试。 TCP套接字表的转储包含在 的/ proc /净/ TCP ,同样适用于UDP,IGMP,raw,arp,UNIX-domain。这是一个简单的ascii表,
其内容由本输出第1行的标题简要总结:
more /proc/net/tcp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:228B 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 15159 1 ffff8801a1ee2300 100 0 0 10 0
1: 00000000:CC4B 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 13835 1 ffff8801a1ee0700 100 0 0 10 0
并且稍微更广泛地描述了 man proc(5) 页面如下:
的/ proc /净/ TCP
保存TCP套接字表的转储。除了调试之外,大部分信息都没有用。 “sl”值是套接字的内核哈希槽,“local_address”是本地地址和端口号对。 “rem_address”是远程地址和端口号对(如果已连接)。 “St”是套接字的内部状态。根据内核内存使用情况,“tx_queue”和“rx_queue”是传出和传入数据队列。 “tr”,“tm-> when”和“rexmits”字段保存内核套接字状态的内部信息,仅用于调试。 “uid”字段保存套接字创建者的有效UID。
通过如下命令读取和更方便地显示此信息 lsof -i 要么 netstat -4 。
-p
netstat的选项? (例如。netstat -lnap
)这将为您提供拥有过程的名称/ PID。