proc/net/tcp 和 proc/net/tcp6 变量¶
本文档描述了 /proc/net/tcp 和 /proc/net/tcp6 接口。请注意,这些接口已被弃用,建议使用 tcp_diag。
这些 /proc 接口提供有关当前活动的 TCP 连接的信息,它们分别由 net/ipv4/tcp_ipv4.c 中的 tcp4_seq_show() 和 net/ipv6/tcp_ipv6.c 中的 tcp6_seq_show() 实现。
它将首先列出所有正在侦听的 TCP 套接字,然后列出所有已建立的 TCP 连接。/proc/net/tcp 的一个典型条目如下所示(由于行长,分为 3 部分):
46: 010310AC:9C4C 030310AC:1770 01
| | | | | |--> connection state
| | | | |------> remote TCP port number
| | | |-------------> remote IPv4 address
| | |--------------------> local TCP port number
| |---------------------------> local IPv4 address
|----------------------------------> number of entry
00000150:00000000 01:00000019 00000000
| | | | |--> number of unrecovered RTO timeouts
| | | |----------> number of jiffies until timer expires
| | |----------------> timer_active (see below)
| |----------------------> receive-queue
|-------------------------------> transmit-queue
1000 0 54165785 4 cd1e6040 25 4 27 3 -1
| | | | | | | | | |--> slow start size threshold,
| | | | | | | | | or -1 if the threshold
| | | | | | | | | is >= 0xFFFF
| | | | | | | | |----> sending congestion window
| | | | | | | |-------> (ack.quick<<1)|ack.pingpong
| | | | | | |---------> Predicted tick of soft clock
| | | | | | (delayed ACK control data)
| | | | | |------------> retransmit timeout
| | | | |------------------> location of socket in memory
| | | |-----------------------> socket reference count
| | |-----------------------------> inode
| |----------------------------------> unanswered 0-window probes
|---------------------------------------------> uid
timer_active
0
没有定时器正在等待
1
重传定时器正在等待
2
另一个定时器(例如,延迟确认或保活)正在等待
3
这是一个处于 TIME_WAIT 状态的套接字。并非所有字段都包含数据(甚至可能不存在)
4
零窗口探测定时器正在等待