使用 Scapy 获取数据包的源 IP
Getting source IP of packet using Scapy
所以我正在尝试使用 Scapy 获取我收到的数据包的源 IP,但它似乎不起作用。我一尝试打印 IP,程序就崩溃了。
我发送这个数据包
send(IP(dst="10.0.0.12")/UDP(dport=53))
它已收到,我确定了这一点,我什至在收到后打印了 "Potato",并且它起作用了。
现在,我尝试用这个
打印源 IP
from scapy.all import *
import sys
import time
rcvPkt = sniff(count = 1, filter = "port 53")
print rcvPkt.getlayer(IP).src
但每当我这样做时,它都会说 'list' 对象没有属性 'src'。我该怎么办?
sniff()
returns 包含所有嗅探数据包的 list-like 对象,但您将其视为一个单独的数据包。试试这个:
>>> print rcvPkt[0].getlayer(IP).src
192.168.42.1
所以我正在尝试使用 Scapy 获取我收到的数据包的源 IP,但它似乎不起作用。我一尝试打印 IP,程序就崩溃了。
我发送这个数据包
send(IP(dst="10.0.0.12")/UDP(dport=53))
它已收到,我确定了这一点,我什至在收到后打印了 "Potato",并且它起作用了。 现在,我尝试用这个
打印源 IPfrom scapy.all import *
import sys
import time
rcvPkt = sniff(count = 1, filter = "port 53")
print rcvPkt.getlayer(IP).src
但每当我这样做时,它都会说 'list' 对象没有属性 'src'。我该怎么办?
sniff()
returns 包含所有嗅探数据包的 list-like 对象,但您将其视为一个单独的数据包。试试这个:
>>> print rcvPkt[0].getlayer(IP).src
192.168.42.1