/proc/net/ip_conntrack 或 nf_conntrack 中的“使用”列?

/proc/net/ip_conntrack 或 nf_conntrack 中的“使用”列?

我想整合我自己的小脚本来解析 conntrack 数据,以便从一些也是 NAT 路由器的 Linux 机器获取定制的网络信息。

conntrack 表中的一行示例如下:

ipv4 2 tcp 6 300 ESTABLISHED src=1.1.1.2 dst=2.2.2.2 sport=2000 dport=80 src=2.2.2.2 dst=1.1.1.1 sport=80 dport=12000 [ASSURED] mark=0 use=2

所有这些字段都已在其他地方描述,但我找不到关于最后一列的任何信息(使用=2,但通常使用=1)。

在规划我的脚本时,我发现完全相同的 IP /端口组合在理论上可能会重复出现 - 即打开,传递一些数据,关闭,过一段时间再次打开。

此“使用”列是否表明此 IP/端口组合之前已出现过?如果是,在什么时间范围内?

答案1

use属性是引用计数。它主要由垃圾收集器使用。/proc/net/nf_conntrack您可以解析命令的输出conntrack -E来实时处理 conntrack 事件,而不是定期解析文件。

如果你对细节感兴趣,你可以阅读第 9 章“Linux 内核网络:实现和理论“。

相关内容