で 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 ソース アドレスを取得できません。何か考えはありますか?