/proc/net/netstat
和中有很长的统计数据列表/proc/net/snmp
,我认为这两个数据都来自 net-tools 项目。是否有关于这些领域的任何官方或非官方文件?或者甚至是有助于识别它们的网络术语的良好来源?
有些看起来很清楚:
SyncookiesSent
SyncookieFailed
TCPTimeouts
TCPKeepalive
其他不太清楚:
ActiveOpens
PassiveOpens
一些对我来说完全神秘的:
EmbryonicRsts
RcvPruned
... many more ...
更新:我在源代码中找到了定义,但仍然想知道这些描述的去向。它们是否在任何地方编译和发布?
这些
/proc/net/*
文件由内核生成:条目位于net/ipv4/proc.c
内核源代码中,条目列表位于include/uapi/linux/snmp.h
. 它从内核保存的各种 MIB 数据库中获取值。根据
snmp.h
头文件,MIB定义来自以下文档:draft-ietf-ipv6-rfc2011-update-10.txt
: 用于 IP 的 MIB:IP 统计表ActiveOpens
来自 RFC 1213(第 47 页):如果在 RFC 中找不到该
netstat
条目,则必须四处搜索。这些文件中没有详细列出相当多的项目。如果您想要的不仅仅是简短的摘要,则必须在内核源代码中搜索您描述的一些条目。EmbryonicRsts
net/ipv4/tcp_minisocks.c
至少在 Linux 4.16 的第 796 行进行了修改,并且似乎计算了非快速打开连接上的无效 SYN 重置。除非您处于 SYN cookie 泛滥中,否则这可能不会发生。netstat -s
每行都有注释