windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。
安裝 PYQT5 pypcap
環(huán)境:
windows10_x64
python3.6.3
pycharm2017.2.4
備注:
需要安裝
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
1:建立虛擬環(huán)境
創(chuàng)建虛擬環(huán)境,基于python3.6.3,自動(dòng)包含 pip? setuptools
2:安裝pyqt5
pycharm直接在虛擬環(huán)境中安裝pyqt5,自動(dòng)安裝sip?
3.安裝dpkt
pycharm直接在虛擬環(huán)境中安裝dpkt
4.安裝pypcap
4.1下載pypcap源碼https://github.com/pynetwork/pypcap/releases
4.2根據(jù)官網(wǎng)https://github.com/pynetwork/pypcap提示,windows下裝個(gè)Npcap
WinPcap has compatibility issues with Windows 10, therefore it's recommended to use Npcap (Nmap's packet sniffing library for Windows, based on the WinPcap/Libpcap libraries, but with improved speed, portability, security, and efficiency). Please enable WinPcap API-compatible mode during the library installation.
4.3https://nmap.org/npcap/? ?npcap下載地址。
?
打開(kāi)WinPcap?API-compatible mode,這是pypcap要求的。
打開(kāi)Support raw 802.1 traffic (and? monitor mode)for wireless adapters? ? 像是無(wú)線網(wǎng)絡(luò)支持。
??
4.3下載npcap的SDK??https://nmap.org/npcap/
4.4 解壓npcap SDK??
放到一個(gè)盤(pán)的根目錄并改文件夾名為wpdpack
我放在了D盤(pán)
(至少我這樣,是可以正常安裝成功的)
4.5解壓pypcap
這個(gè)要解壓到和SDK同一個(gè)盤(pán)符下,也放根目錄吧。作者寫(xiě)的東西是基于linux的,沒(méi)有盤(pán)符的概念,不會(huì)跨盤(pán)符去找文件。
4.6執(zhí)行命令進(jìn)行安裝
介紹都說(shuō)的很簡(jiǎn)單? python.exe? setup.py install
這個(gè)python是你的系統(tǒng)下的python,不是你虛擬環(huán)境中的python,這個(gè)路徑又長(zhǎng)。
教你個(gè)不用來(lái)回確認(rèn)路徑的方法,和我以前配置pycharm external tools 一樣簡(jiǎn)單。
4.6.1,用pycharm 打開(kāi)pypcap的文件夾。
4.6.2,打開(kāi)setup.py
4.6.3,鼠標(biāo)右鍵,運(yùn)行它
4.6.4,編輯它的運(yùn)行參數(shù)
4.6.5,運(yùn)行參數(shù)如下:
?
有用的其實(shí)就3條:
1 Script 腳本文件,我們的setup.py
2 Script parameters: 腳本參數(shù) install?
3 Python interpreter:用的是哪個(gè)python虛擬環(huán)境? python
好了,安裝命令的? python? setup.py install 三個(gè)都有了。
再運(yùn)行一下這個(gè)setup.py就可以了。
?
它自動(dòng)生成的命令是:
D:\PythonTest\Virtual_Sniffer\Scripts\python.exe D:/pypcap-1.2.0/setup.py install
自認(rèn)高手的就自己照著去敲吧,我是懶的敲,就用這樣的方法來(lái)執(zhí)行了。
?
安裝完成了。接下來(lái)打包。
pyinstall ****.py,圖形配置在pyinstall文章。
問(wèn)題是打包到了別的電腦,無(wú)法正常啟動(dòng),提示加載DLL失敗,提示出錯(cuò)的行是? import pcap,warn******.txt中并沒(méi)有提示這個(gè)模塊怎么樣。
誤打誤撞,在別的電腦,首先安裝NPCAP,并勾選winpcapAPI。然后再運(yùn)行,就可以了。
?
?
安裝
pcap方法接收5個(gè)參數(shù):
- name,監(jiān)聽(tīng)的網(wǎng)卡名稱。
- snaplen,捕獲的每個(gè)數(shù)據(jù)包的最大長(zhǎng)度。
- promisc,是否開(kāi)啟混雜模式
- timeout_ms,接收數(shù)據(jù)包的超時(shí)時(shí)間
- immediate,立即模式,如果啟用則不會(huì)緩存數(shù)據(jù)包
?
我遇到了cookie抓取長(zhǎng)度不夠的問(wèn)題。
爛寫(xiě)了一些東西,加上標(biāo)記,自己再拼接。
有空試試snaplen。但是它默認(rèn)是65535。還能改大么?
轉(zhuǎn)載于:https://www.cnblogs.com/jackadam/p/8279080.html
總結(jié)
以上是生活随笔為你收集整理的windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git可视化客户端
- 下一篇: 【CF913F】Strongly Con