Python3 pypcap库的安装最全攻略,可不安装VC14.0

在python2.7的时候,我使用的是winpcap和libpcap,安装过程很简单,如果缺少VS组件,可以使用Microsoft Visual C++ Compiler for Python 2.7

如果是python3,winpcap就兼容问题,所以只能安装pypcap:

python版本是3.6.8

1. 安装npcap,到官网下载exe,使用的是npcap-1.50.exe

2. 下载npcap源码,版本是npcap-sdk-1.10.zip,解压后放入与下面同一目录下

3. 下载pypcap源码解压,pypcap-1.2.0.tar.gz,注意我用的是1.2,如果版本过高可能不适配,这个跟你的windows系统以及python版本都有关系,我是windows10

4. 进入pypcap-1.2.0文件夹下面,使用python setup.py install安装,这时候可能会有很多问题

最难解决的就是缺少VC14.0++的问题,VC14.0其实就是VC2015,微软官方目前最新出的是2015~2019那个,依然有人说只安装VC.exe不能解决问题,得安装build tools。我试过都没有成功,于是自己下载了Visual Studio 2019自己选择组件安装,尝试各种组件达10G后依然没有解决,中间还有各种文件缺失需要在环境变量里设置LIB、INCLUDE、path等等,依然出现无法编译pcap.c或者其他.c和.h文件。可能是因为windows 10的组件版本不匹配,毕竟最后都搜索到了windows Kit下,

这个文件应该是windows 10的各种补丁,咱也不知道到底哪个版本对,反正各种尝试依旧不好使。

遂放弃了安装VC的想法,于是找到了mingw这个神器,是不用安装VC就可以编译需要c或c++底层库的包。具体下载http://www.mingw-w64.org/doku.php,mingw-w64-install.exe,安装时候的选择还是很重要的,否则可能会出错。

1. 参数选择

i686是32位,python32位就选它。

win32,windows系统就选择它,linux选另一个。

sjlj,32位的话最好选这个,反正我们只是编译一下,没有太高要求。

2. 安装之后设置一下环境变量中的path,

具体位置\mingw-w64\i686-8.1.0-win32-sjlj-rt_v6-rev0\mingw32\bin

3. 再次进入pypcap-1.2.0(注意之前的第一部分的3个步骤还是得完成:安装npcap等等)

使用python setup.py build -cmingw32,如果没有报错就是成功了,再python setup.py install应该就可以了。注意可能有些warining输出不用在意,只要没有error就好。

现在检查一下python代码里的import pcap是否还有红线,没有就表示安装成功了。

如果你发现换成python3之后怎么之前的代码抓不到包了,那么很可能是因为pcap底层有了一些虚拟设备,代码没有在实际的网卡上抓包。先输出看下你的设备,然后挨个输出下抓包就能找到实际的网卡了。

import pcap 
devs = pcap.findalldevs() 
print(devs) 
pc = pcap.pcap(devs[4], promisc=True, immediate=True, timeout_ms=50) 

for ptime, pdata in pc: print(ptime, pdata):
    print(ptime, pdata)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容