~$ cat /proc/net/tcp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 0101007F:0035 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 11864 1 0000000000000000 100 0 0 10 0
1: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 11692 1 0000000000000000 100 0 0 10 0
2: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 267923 1 0000000000000000 100 0 0 10 0
3: 00000000:1A0A 00000000:0000 0A 00000000:00000000 00:00000000 00000000 1000 0 389967 1 0000000000000000 100 0 0 10 0
4: 00000000:0CEA 00000000:0000 0A 00000000:00000000 00:00000000 00000000 117 0 14040 1 0000000000000000 100 0 0 10 0
5: 6F0A0A0A:D76D 4C4B14D1:0050 08 00000000:00000001 00:00000000 00000000 1000 0 249979 1 0000000000000000 112 4 33 10 -1
拿第一列举例
local_address 0101007F:0035 本地IP(网络字节序):本地端口(网络字节序)
rem_address 00000000:0000 远端IP(网络字节序):远端端口(网络字节序)
st 0A 套接字状态,不同套接字对应不同的值
enum {
TCP_ESTABLISHED = 1,
TCP_SYN_SENT, // 2
TCP_SYN_RECV, // 3
TCP_FIN_WAIT1, // 4
TCP_FIN_WAIT2, // 5
TCP_TIME_WAIT, // 6
TCP_CLOSE, // 7
TCP_CLOSE_WAIT, // 8
TCP_LAST_ACK, // 9
TCP_LISTEN, // 0A
TCP_CLOSING, // 1 /* Now a valid state */
TCP_MAX_STATES /* leave at the end! */
};
tx_queue:rx_queue 00000000:00000000 发送队列中的数据长度:状态是ESTABLISHED,表示的时接受队列中的数据长度,状态是LISTEN,表示已完成队列的长度
tr tm->when 00:00000000 定时器类型,0表示没有启动定时器。1表示重传定时器,4表示持续定时器,2表示连接定时器、FIN_WAIT_2定时器或TCP保活定时器,3表示TIME_WAIT定时器
retrnsmt 00000000 超时重传次数
uid 0 用户id
timeout 0 持续定时器或者保活定时器周期性发送出去但未被确认的TCP段数目,收到ACK后清零。
inode 11864 1 0000000000000000 100 0 0 10 0
11864 套接字对应的inode
1 sock结构的引用数
0000000000000000 sock结构的实例地址
100 RTO,单位是clock_t
0 用来计算延时确认的估值
0 快速确认数和是否启用的标志位的或运算结果
10 当前拥塞窗口大小
0 如果满启动阀值大于0x7ffffff显示-1,否则表示慢启动阀值