最近参照网上的 scapy 库的使用方法写了一个用于抓取所有数据包的脚本,一开始一切正常,但是后来为了测试没有安装驱动的情况下可以输出需要安装驱动,而不是直接报错,于是把 npcap 驱动反复安装卸载多次,就遇到了这个问题:
电脑在连着无线网的时候脚本就抓不到数据包,但是连着有线网就可以抓到。与此同时,wireshark 却一切正常,无论是无线还是有线都可以抓到包。
之后尝试了
from scapy.all import *
import time
def countfun(packet):
global n
n += 1
print(n)
if not IFACES.data:
print("Need install npcap driver")
else:
print("Capturing...")
n = 0
dpkt = sniff(prn=countfun, count=0)
capfile = time.strftime("%Y%m%d%H%M", time.localtime()) + ".pcap"
print(n,"packets captured")
if n != 0:
wrpcap(capfile, dpkt)
print("Saved in " + capfile)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.