4

这是我的tcpdump过滤器(ip[8]是 IP ttl 字段,icmp[0]=11对应于时间超过的 ICMP 消息):

(ip and ip[8]=2 and src host $myIPAddress) or (icmp and dst host $myIPAddress and icmp[0]=11)

这是我在捕获文件中找到的内容:

>>> p.show()
###[ Ethernet ]###
  dst       = 00:15:f2:e3:90:e9
  src       = 00:11:43:e5:48:10
  type      = 0x800
###[ IP ]###
     version   = 4L
     ihl       = 5L
     tos       = 0xc0
     len       = 56
     id        = 19126
     flags     = 
     frag      = 0L
     ttl       = 254
     proto     = icmp
     chksum    = 0xa697
     src       = 127.0.0.1
     dst       = 127.0.0.1
     \options   \

为什么我捕获了ICMP localhost数据包?无论如何,这种数据包的目的是什么?而且,最重要的是,为什么上面的过滤器没有拒绝它?

4

1 回答 1

0

什么是“$myIpAddress”?它真的是一个 IPv4 地址吗?如果它实际上是类似于 FQDN 或主机名的任何东西,那么手册页会解释会发生什么:

http://www.tcpdump.org/manpages/pcap-filter.7.html

 host host
 (stuff removed)
 If host is a name with multiple IP addresses, each address will be checked for a match.

我不确定如果是会发生什么,可能IP映射到MAC地址?

我喜欢 Guy 关于使用 -d 的建议。

于 2014-02-07T12:12:48.447 回答