需要帮助解码IPv4和IPv6的scapy.sr1结果

时间:2016-09-08 16:07:04

标签: networking ipv6 scapy ipv4

我有以下代码:

ans4 = sr1(IP(dst=hostname) / ICMP())
ans6 = sr1(IPv6(dst=hostname) / ICMPv6EchRequest())

我正在尝试解析ans4和ans6的内容。特别是,我想知道主机名是否实际响应了ping回复。我看到ans4.show()和ans6.show()以及ans6.summary()和ans6.summary()以及一堆其他方法和属性,但我似乎无法找到我要找的东西。我可以解析repr(ans),这是一个字符串,但这是最好的方法吗?

1 个答案:

答案 0 :(得分:1)

这个问题有点含糊地问,但如果我说对了 - 这应该做的工作:

>>> hostname = 'www.google.com'
>>> ans,unans=sr(IP(dst=hostname)/ICMP())
Begin emission:
.......Finished to send 1 packets.
..*
Received 10 packets, got 1 answers, remaining 0 packets
>>> ans.summary( lambda(s,r): r.sprintf("%IP.src% : %ICMP.type%") )
216.58.208.100 : echo-reply