最近在尝试利用python+pypcap+dpkt抓取IP数据包做应用流量分类,dpkt利用pip install 命令安装还是比较顺利,但是pypcap的安装费了很长一段时间,这里做一个总结。
1、直接用pip install pypcap会报 pcap.h not found,
参考这篇博客(https://blog.csdn.net/bestboyxie/article/details/53406626)的操作:需要先去 http://www.winpcap.org/archive/(或者https://www.winpcap.org/devel.htm) 下载sdk开发包,解压后得到文件夹WpdPack,将文件夹里的include文件夹和Lib文件夹分别放到python的安装目录下的include目录和Lib目录下,就没有这个报错了;
后面还有一个报错:error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)
按照提示,到 http://aka.ms/vcpython27 下载 VCForPython27,下载python的C拓展包编译器并安装,也可以解决这个报错。
2、但棘手的是后一个报错:error: command ‘C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\link.exe’ failed with exit status 1120,
这个报错在百度和google上没有找到相关解决方案,最后的解决方式是在 https://pypi.org/project/pypcap/1.1.6/ 下载了1.1.6版本的pypcap库(目前最新的1.2.2,安装这一个版本是同样的报错),然后将pypcap文件夹和WpdPack文件夹放在C盘目录下(放在其他的同一文件夹下也是同样的报错),打开cmd ,执行cd C:\pypcap-1.1.6 ,进入pypcap文件夹,通过 python setup.py install 安装成功。
3、在import pcap时又出现了一个报错:找不到指定模块,
这里尝试通过 https://www.winpcap.org/install/default.htm 下载了WinPcap_4_1_3.exe的可执行文件,点击安装后,就可以顺利import了。