显示每个接口的IP和TCP统计信息(带接口的netstat -s)

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只是读取这些计数器。