Linux能够使用netstat -s显示协议统计信息。 输出如下所示:
摘抄:
7487 times unabled to send RST due to no memory TCPDSACKIgnoredOld: 817 TCPDSACKIgnoredNoUndo: 7246527 TCPSpuriousRTOs: 4583587 TCPSackShifted: 15825 TCPSackMerged: 455582
但是这些都是通过所有networking接口累积的。 有没有办法查看每个接口的统计数据? 我知道/sys/class/net/$INTERFACE/statistics中有数据包级别的统计/sys/class/net/$INTERFACE/statistics ,但是找不到任何与协议有关的数据。
Netstat -s是/proc/net/netstat的更直观的显示。 其中的计数器是全局的,而不是每个接口。 要获得这样的信息,您将需要使用libpcap来使用/编写监视工具。
捕获这些统计信息的代码在各种相关的TCP / UDP / IP代码path中调用,并增加SNMP MIB。
没有关于接口或任何连接属性(如端口或IP)存储的信息,它只是input代码path的时间的基本计数器。
netstat -s只是读取这些计数器。