为什么wireshark捕获的数据包不是发往我的主机?

xcz*_*zhh -1 tcpip wireshark tcpdump

来自wireshark的截图

我的 IP 被配置为 192.168.101.91,我不明白为什么我的主机正在接收目标地址为 192.168.87.203(以及我没有捕获的许多其他 IP)的数据包,因为我已经关闭了我的 KVM 并且禁用ip转发。TCP/IP 不应该过滤这些数据包吗?

sho*_*hok 5

作为网络嗅探器的 Wireshark 将接口固件(如果存在)和驱动程序置于混杂模式,这意味着它指示网络堆栈捕获到达您的接口的任何数据包。

所以真正的问题是:为什么来自其他 IP 的数据包到达您的接口?这是由于无线以太网网络的工作方式:AP 基本上使用其无线电接口向所有附近的侦听器广播数据包。通常,当接口接收到数据包时,它会检查它是否应该抓取并处理它,或者是否应该丢弃接收到的帧。这是使用在 DST MAC 字段中编码的信息完成的:如果目标 MAC 等于接口 MAC,则接受数据包,否则丢弃。

然而,Wireshark 改变了这一点,告诉接口固件/驱动程序你实际上想要任何到达它的数据包。这就是您看到不适合您的数据包的原因。

如果您不想看到这些无关的数据包,您有两个选择:

  • promiscuous mode从wireshark中取消选择该选项;
  • 使用wireshark的过滤功能过滤掉不感兴趣的数据包