4

我正在倾倒传出的流量。我只想要发往我的局域网之外的 TCP 和 UDP 数据包,没有别的。我刚刚将以下过滤器与 tcpdump 一起使用:

ip and (tcp or udp) and (not icmp) and src host myIPAddr and not dst net myNet/myNetBits and not ip broadcast

但我捕获了以下数据包:

###[ Ethernet ]###
  dst       = ff:ff:ff:ff:ff:ff
  src       = 00:1e:4a:e0:9e:00
  type      = 0x806
###[ ARP ]###
     hwtype    = 0x1
     ptype     = 0x800
     hwlen     = 6
     plen      = 4
     op        = who-has
     hwsrc     = 00:1e:4a:e0:9e:00
     psrc      = X.X.X.X
     hwdst     = 00:00:00:00:00:00
     pdst      = Y.Y.Y.Y
###[ Padding ]###
        load      = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

这里发生了什么?我以为我只是在转储IP数据包。

4

2 回答 2

3

将主机上的过滤设置为源:

tcpdump src <YOUR_IP>
于 2018-03-04T23:10:09.323 回答
1

通过查看您的转储,您收到了 IP 协议类型的ARP数据包(即ptype = 0x800)。您还应该过滤掉 ARP 数据包and (not arp),这应该会清理您的转储。我认为,如果您查看 tcpdump 代码,您会发现它还保留这些特定 ARP 数据包的原因(但由于 IP 使用这些数据包进行网络解析,我猜这些 ARP 数据包被 tcpdump 视为 IP 的一部分)。

亲切的问候,

于 2012-06-05T14:06:36.857 回答