終於在windows上成功編譯了wireshark源代碼,箇中酸辛,都是淚。。只能說要多試!python
windows上編譯wireshark共用到三個東西:wireshark源代碼、python、cygwinwindows
下面是編譯成功所用的三種軟件的版本:工具
wireshark源代碼:flex
我用1.12.7和1.12.8都成功了,各類版本能夠從https://www.wireshark.org/download/src/all-versions/下載3d
python:unix
我用的是python2.6版本code
cygwin:blog
從網上下載最新版本,整個過程在線安裝,如下庫默認不安裝,須要手動安裝:圖片
Archive / unzip Devel / bison Devel / flex Interpreters / perl Utils / patch Web / wget dos2unix
準備工做作好了,開始正式的編譯過程:ip
編譯config.nmake文件
(1)WIRESHARK_LIBS, 設置編譯wireshark所需的庫所在的目錄,默認便可。(1.12.7和1.12.8是沒有WIRESHARK_LIBS的,忽略便可) (2)PROGRAM_FILES,設置本機程序安裝目錄,默認便可。 (3)MSVC_VARIANT,由於我使用VS2008編譯,將VS2010前#去掉便可 (4)CYGWIN_PATH,將其設置爲cygwin的bin目錄,例如C:\cygwin\bin。 (5)MSVCR_DLL,若是VS安裝在D盤,請在這裏相應的地方用絕對路徑表示,而不要去修改前面的PROGRAM_FILES,不然會出現意想不到的錯誤。
編譯wireshark
1)檢查工具是否都存在:nmake -f Makefile.nmake verify_tools
2)執行nmake -f Makefile.nmake setup,下載一些東西,過程有點長,會有不少的信息,最後會顯示出下圖:
3)執行下nmake -f Makefile.nmake distclean,最後顯示下圖
4)執行nmake -f Makefile.nmake all,過程比較長,耐心等待,最後會顯示下圖:
成功編譯後的wireshark源代碼文件夾中出現了不少目標文件,還生成了一個wireshark-gtk2文件夾,裏面有好幾個exe文件,好比wireshark.exe,tshark.exe,dumpcap.exe等。具體以下所示:
這個圖片就是wireshark-gtk2文件夾中的一部分。
體會:
編譯過程當中是遇到了不少問題的,可是隻要環境配對了,不少小問題,多本身想一想,多百度,總能找到解決方法,重要的是不放棄,必定會成功!