2016-01-13 55 views
0

因此,我試圖獲取使用Scapy接收的數據包的源IP,但它似乎不起作用。當我嘗試打印IP時,程序就會崩潰。使用Scapy獲取數據包的源IP地址

我把這個分組

send(IP(dst="10.0.0.12")/UDP(dport=53)) 

而且它收到的,我確信這一點,我甚至後我收到了印有「土豆」,和它的工作。 現在,我嘗試使用這個

from scapy.all import * 
import sys 
import time 

rcvPkt = sniff(count = 1, filter = "port 53") 
print rcvPkt.getlayer(IP).src 

打印源IP,但每當我做到這一點,它說,「名單」對象有沒有屬性「src」中。我該怎麼辦?

+0

這很有趣。我得到這個:'AttributeError:'list'object has no attribute'getlayer'' –

回答

0

sniff()返回一個包含所有嗅探數據包的類似列表的對象,但是您將它視爲一個單獨的數據包。試試這個:

>>> print rcvPkt[0].getlayer(IP).src 
192.168.42.1