解决Windows 10下python安装pypcap失败的问题

本文对比了pypcap、libpcap和pcap-ct三个Python抓包库,在Windows环境下进行网络抓包的应用。推荐使用pcap-ct,因为它不仅兼容pypcap的API,还简化了安装流程,修复了已知BUG,是基于Clibpcap的高效Python封装。
部署运行你感兴趣的模型镜像

先说结论,直接使用pcap-ct。

 

因为项目需求需要在windows下抓包,用python编程。所以就找相关的轮子。找到了三个:

1、pypcap(pip install pypcap)

2、libpcap(pip install libpcap)

3、pcap-ct(pip install pcap-ct)

那么,这三个有啥区别呢?其实从底层来说,都是基于C libpcap的python封装,无非是使用方便不方便的问题。

pypcap对C libpcap封装后,提供了pythonic的API接口;

而libpcap就比较简单粗暴了,根据官网说法:

libpcap is a lightweight Python package, based on the ctypes library.

It is fully compliant implementation of the original C libpcap from 1.0.0 up to 1.9.0 API and the WinPcap's 4.1.3 libpcap (1.0.0rel0b) API by implementing whole its functionality in a clean Python instead of C.

就是说即使是python的实现,也完全兼容WinPcap 4.1.3的API,比较复杂难用(不然我为啥用python???);

pcap-ct兼容pypcap的API,并且简化了安装并修复了BUG。

坑就是!!!:

在Win10上,我先安装了Npcap(win10要Npcap,WinPcap有兼容性问题),勾选了WinPcap兼容,下载Npcap-SDK和pypcap源码放在同一目录,然后再pypcap目录下 python setup.py install,源码编译安装pypcap(需要电脑安装visual studio 2015以上版本,有编译依赖)。结果安装完成后发现有bug,python程序可以发现网络接口,一抓包就闪退,还不报错。

然后安装libpcap,可以抓包,但接口实在太难用,就想有没有其他方法。

然后想着要不试一下pcap-ct,结果真香,直接pip安装就行,还没乱七八糟的依赖,我要给作者点赞!

参考:

1、Python之pypcap库的安装及简单抓包工具的实现

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值