我试图写一个简单的代码,检测IP地址为scapy
的IP源地址,问题是haslayer
函数看起来没有返回任何东西。'haslayer'函数不工作在scapy-python
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
所以我没能赶上IP源地址的ICMP请求 任何想法?
像一个魅力工作,非常感谢。但没有记录,我需要做一个循环活的捕获。 – Hussam 2013-03-22 20:03:47
我从属性错误中的'list'和计数参数'sniff'中猜测后者可以给出多个值。但重要的是不要丢弃有用的错误与一个非特定的'除了:' – Anthon 2013-03-22 20:24:12