在捕获文件中找到localhost icmp数据包:为什么?
问题描述:
这里是我的tcpdump
过滤器(ip[8]
是IP TTL字段和icmp[0]=11
对应时间超过ICMP消息):在捕获文件中找到localhost 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本地主机数据包?无论如何,这种数据包的目的是什么?而且,最重要的是,为什么没有被上面的过滤器拒绝呢?
答
什么是“$ 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地址?
我喜欢盖伊关于使用-d的建议。
+0
这是我运行脚本的机器的IP地址。至于其余的则是一年前。我不记得:) – 2014-02-07 14:31:52
myIpAddress包含与127.0.0.1不同的东西,对吧? – 2013-02-20 12:15:38
是的,它不是本地主机。 – 2013-02-20 13:06:05
一个奇怪的部分也是这个数据包有不同的src/dst mac地址,但在ip层我们有相同的IP。如果你用wireshark打开pcap文件,你会得到相同的结果吗? – 2013-02-21 09:36:14