pypcap安裝過程記錄
阿新 • • 發佈:2019-01-09
最近看到可以通過python來抓包分析,比起以前通過wireshark+lua來分析要更順手一些,因此也考慮使用pypcap來做一些嘗試。但直接pip install pycap總是失敗,因此寫下此文件來記錄安裝過程
- pypcap的官網地址是:https://github.com/dugsong/pypcap,可以看到最後更新日期為2010年,因此果斷使用winpython 2.7環境來做試驗
- 下載pypcap原始碼,閱讀install檔案中"Building under Windows"部分
- 根據文件描述,安裝Pyrex模組。執行:python -m easy_install Pyrex
- 下載WinPcap原始碼,地址是:http://www.winpcap.org/devel.htm,下載
- 檢查INSTALL文件中提到的distutils.cfg,發現不用修改。
- 文件中提到“Unpack the module sources to c:\pypcap, and developer's pack to c:\wpdpack.
Edit the pypcap Makefile; uncomment the following line:
CONFIG_ARGS = --with-pcap=..\\wpdpack”,可以看出使用了一個相對目錄來尋找WinPcap目錄。照辦!在我的電腦上修改後:
PYTHON = D:\\WinPython-32bit-2.7.10.2\\python-2.7.10\\python.exe
CONFIG_ARGS = --with-pcap=..\\wpdpack - 文件中提到“and change the line:
pyrexc pcap.pyx
to read:
$(PYTHON) c:\Python26\Scripts\pyrexc.py pcap.pyx” ,在我的電腦上修改後$(PYTHON) D:\WinPython-32bit-2.7.10.2\python-2.7.10\Scripts\pyrexc.py pcap.pyx - 在pypcap目錄下執行"D:\WinPython-32bit-3.4.2.3\tools\mingw32\bin\mingw32-make",發現會報錯"error: Unable to find vcvarsall.bat"。經pycharm下除錯後發現是需要VS2008編譯環境,但我的電腦上只有VS2010環境。因此要在執行make之前,先"set VS90COMNTOOLS=%VS100COMNTOOLS%
- 繼續make報錯,提示"..\wpdpack\include/pcap\pcap.h(41) : fatal error C1083: 無法開啟包括檔案:“pcap-stdinc.h”: No such file or directory"
- 修改setup.py中:for sd in ('include/pcap', 'include', ''): 修改為 for sd in ('include', 'include/pcap', ''): 再重新make可以成功
- 再執行"D:\WinPython-32bit-3.4.2.3\tools\mingw32\bin\mingw32-make install"來安裝模組,根據文件描述檢查pcap.pyd是存在的。
- 此時啟動ipython,執行import pcap 可以成功。根據文件描述,執行:pcap.pcap().next() 可以看到輸出。
- 因此可以確認pypcap是安裝成功了。
- 繼續安裝dpkt,開始後面的研究吧。