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

零窗口探测定时器正在等待