我有一台运行CentOS 7的Linux服务器,而且我一直面临着RX丢包数量不断增加的问题。 我相信这可能是由于networking中的电缆/连接器故障引起的。 但是,我没有办法检查每一个连接find问题。 有什么方法可以看到丢弃的数据包来自哪个IP?
使用nmap你可以得到关于你的networking的各种信息,包括,它可以非常有用的跟踪丢包。 --packet-trace选项可用于跟踪所有数据包。 虽然在线上使用nmap的例子和指南有很多,但是一个简单的方法就是:
nmap -sP --packet-trace 192.168.1.0/24
将扫描networking的主机,并在超时的情况下跟踪数据包我在我的本地networking上有这样的事情
nsock_read(): Read request from IOD #1 [192.168.1.42:53] (timeout: -1ms) EID 66
nmap调用可以通过多种方式进行定制和脚本化,以获得有关networking的更多信息,并尝试清除不良连接。
除了nmap之外,还有一个叫做wireshark的graphics工具,可以用于整个主机的networking分析任务,包括查找丢弃的数据包的错误链接/来源。
根据所使用的交换机和networking硬件以及您的访问级别,您可以使用环境中的交换机上的内置pipe理接口来查找exception高速丢弃数据包的物理端口。 对于某些品牌的可pipe理交换机,这种任务甚至可能是脚本化/自动化的; 这种操作的确切语义将取决于具体的networking硬件和configuration。 在正确的使用简单networkingpipe理协议 (SNMP)的环境中,可能是一种新颖的方式,可以从networking中收集所有这些信息(在物理交换机端口上丢弃数据包等),而无需太多工作。
编辑:在上面的例子EID是一个DNS资源logging(RR) ,是端点标识符(EID)的缩写。