Linux 接口停止接收数据包,如 tcpdump 所见

bst*_*rre 5 networking linux ethernet tcpdump

我有一个带有两个接口的 linux 盒子:eth0 是内置的,eth1 是 USB-LAN。

在 eth1 上配置了一个 IP。

eth0 已启动但未配置 IP。此接口用于使用 tcpdump 进行嗅探。

问题是 eth0 经常停止接收数据包——我的 tcpdump 捕获是空的,如果我用 ifconfig 查看接口统计信息,我可以看到没有收到任何数据包。

如果我反弹接口 ( ifconfig eth0 down; ifconfig eth0 up),它会再次开始接收数据包。

什么会导致这种情况,有没有办法防止它发生?

Maj*_*nko 1

这可能取决于你的开关。

像这样并行嗅探网络需要一个集线器或一个能够将端口置于“监视模式”的交换机。在此模式下,到其他端口的所有流量都会复制到监控端口以进行嗅探/捕获。

如果没有此监控端口,流量将不会来自交换机 - 它不知道通过该端口发送流量的任何有效原因。