使用Scapy获取数据包的源IP

时间:2016-01-13 17:59:30

标签: python scapy

所以我正在尝试使用Scapy获取我收到的数据包的源IP,但它似乎不起作用。一旦我尝试打印IP,程序就会崩溃。

我发送此信息包

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

它收到了,我确定了,我收到它之后甚至打印了“马铃薯”,它起作用了。 现在,我尝试使用此

打印源IP
from scapy.all import *
import sys
import time

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

但每当我这样做时,它说'list'对象没有属性'src'。我该怎么办?

1 个答案:

答案 0 :(得分:1)

sniff()返回一个包含所有嗅探数据包的类似列表的对象,但您将其视为单个数据包。试试这个:

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