linux 使用scapy嗅探网络流量,得到“无法激活pcap处理程序”

ktca8awb  于 2022-11-22  发布在  Linux
关注(0)|答案(1)|浏览(378)

我尝试使用python3嗅探网络适配器(TP-LINK,0 bda:b711),但收到一个OS错误:无法激活pcap处理程序

from scapy.all import *
from scapy.config import conf
from scapy.layers.dot11 import Dot11

conf.use_pcap = True

def callBack(pkg):
    if pkg.haslayer(Dot11):
        if pkg.type == 0 and pkg.subtype == 8:
            print("dBm_AntSignal=", pkg.dBm_AntSignal)
            print("dBm_AntNoise=", pkg.dBm_AntNoise)

sniff(iface='wlp1s1', monitor='True', prn=callBack)

我觉得libpcap有问题,我想从sniff那里得到dBm_AntSignal和dBm_AntNoise,根据别人的说法,代码可以运行MacBook(你可以浏览我的上一个问题)。有没有人能解决这个问题?

vwkv1x7d

vwkv1x7d1#

如果您发布了issue #1136 on the libpcap issues list,那么您可能设法确定pcap_activate()返回了PCAP_ERROR。如果您通过修改Scapy代码来确定pcap_activate()返回了PCAP_ERROR,请尝试进一步修改它,如果pcap_activate()返回PCAP_ERROR,则报告pcap_geterr()的结果,以便在此特定示例中找出 * 原因 pcap_activate()返回了PCAP_ERROR。问题是PCAP_ERROR可能会因为许多不同的原因而被返回,如果不是不可能的话,很难猜出是哪一个。
(And然后在Scapy's issue list上提交一个问题,指出pcap_activate()失败的错误消息应该基于pcap_activate()的返回值,对于某些错误,还应该基于pcap_geterr()的结果。他们还应该区分pcap_activate()的错误返回值(负数)和pcap_activate()的 * 警告 * 返回值,其指示“pcap处理程序”
可以 * 被激活,但是发生了意外的事情,并且是 * 正数 *)。

相关问题