Win10 anaconda python3.6 安装pcap
使用pip或者conda安装包时注意换好源,否则速度很慢。具体设置参见参考链接[4,5]。
使用Linux(物理主机或者虚拟机)安装pypcap包非常容易,不再赘述。Windows10系统上安装的坑很多,这里按照步骤做了具体说明。WinPcap和Win10存在兼容性问题,因此推荐使用Npcap替代WinPcap。Python的pcap模块是libpcap的Python打包版。安装pcap模块需要下载三个组件分别安装。
1)下载
Npcap https://nmap.org/npcap/
NpcapSDK https://nmap.org/npcap/
pypcap https://github.com/pynetwork/pypcap
2)安装
(1)安装Npcap
打开安装程序即可。如果之前安装过winpcap,会先自动卸载。
(2)安装pypcap和NpcapSDK
1. 将NpcapSDK文件夹放到pypcap同级文件夹,文件夹命名为wpdpack
2. 打开anaconda prompt(脚本会自动设置python和conda的环境变量)
3. 进入pypcap所在目录中,执行python setup.py install
如果提示缺少Visual C++ 14.0,则需要安装visual studio 2017,或者只安装缺少的开发工具。
Fixed Python3 on Windows 10 error Visual C++ 14.0 is required
(安装缺少的开发工具需要在线下载,由于网络问题,很可能下载不下来。)
4. 安装成功,回到python环境。测试import pcap,检验是否能用。没有报错,一切正常,则安装成功。
注意:
如果使用的是python3.7.2以上版本,可能会导致安装失败。(原因参见参考链接[3])。而如果用python3.6的版本,可以安装成功。
各虚拟环境的包是相互隔离并独立的,因此如果需要更换Python版本,则dpkt等包还需要重新安装,pycharm interpreter里面的配置也需要切换。
为了切换版本可以使用conda创建虚拟环境的方式实现。参见参考链接[2]。
Pycharm里面的环境管理:
添加的路径可以查到:
则选择相应的已创建的Conda Environment。(注意,下图中,New environment和用命令行conda create的效果一致)
选定并应用该解释器后,可以看到新的环境中只有dpkt、pypcap和默认的几个包。虚拟环境的好处就是在各环境下安装的包不会互相冲突,起到了类似程序中命名空间的作用。
5. 测试抓包
测试脚本:
import pcap
import dpkt
pc=pcap.pcap() #注,参数可为网卡名,如eth0
pc.setfilter('tcp port 80') #设置监听过滤器
for ptime,pdata in pc: #ptime为收到时间,pdata为收到数据
print(ptime,pdata) #...
运行效果:
参考链接
[1] https://visualstudio.microsoft.com/downloads/
[3] Python之pypcap库的安装及简单抓包工具的实现
[4] Anaconda 镜像使用帮助
[5] pypi 镜像使用帮助