我尝试使用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(你可以浏览我的上一个问题)。有没有人能解决这个问题?
1条答案
按热度按时间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处理程序” 可以 * 被激活,但是发生了意外的事情,并且是 * 正数 *)。