我正在尝试编写一个简单的代码来检测 ICMP 数据包的 IP 源地址scapy
,问题是haslayer
函数看起来没有返回任何内容。
from scapy.all import *
while 1:
pkt = sniff ( iface="eth0" , count = 1 )
pkt.summary()
try:
if pkt.haslayer(IP):
ipsrc =pkt.getlayer(IP).src
print ipsrc
except:
pass
结果是
Ether / IP / ICMP 10.0.2.15 > 10.0.2.11 echo-request 0 / Raw
Ether / IP / ICMP 10.0.2.15 > 10.0.2.11 echo-request 0 / Raw
Ether / IP / ICMP 10.0.2.15 > 10.0.2.11 echo-request 0 / Raw
所以我无法捕获 ICMP 请求的 IP 源地址有什么想法吗?