2016-01-13 296 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