我試圖寫一個簡單的代碼,檢測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