Wireshark編譯環境設定和編譯

來源:互聯網
上載者:User

       Wireshark(不久以前叫Ethereal)是著名的網路通訊協定分析工具,支援多種協議報文解析……(此處省略若干字),下面是來自官方的說明:“Wireshark is the world's foremost network protocol analyzer, and is the de facto (and often de jure) standard across many industries and educational institutions”。

       Wireshark支援Uinx和Windows等多平台,按照官方的Developer's Guide在Windows下編譯一個版本(0.99.8),以下是編譯步驟:(和Developer's Guide的Win32 Step-by-Step Guide一樣)。

1.安裝VC編譯器和Platform SDK。

       在Windows用VC6到VC9之間的任個編譯器(VS2003 Toolkit除外)都可以編譯Wireshark。“Don't use cygwin's gcc!.”GCC(當然是Windows的)是不能正確編譯或者需要花一定的力氣才能正確編譯,所以手冊中沒有不推薦使用GCC。

       至於Platform SDK在安裝 Visual Studio的時候都預設安裝的有,所以額外安裝。沒有安裝Visual Studio?不是吧?到街上按照5 RMB/張光碟片買個版本回來按照安裝說明安裝。到網下載?加上MSDN體積有點大,還是到街上買個D版的方便。

       注意:安裝時要設定vcvars32.bat作為系統變數或者在編譯前調用vcvars32.bat。

2.安裝Cygwin

    下載Cygwin的安裝程式,然後開始安裝……。如果網速不夠快,可以下載本地安裝包進行安裝(據說有500—600M,看來也不小)。

不管是線上或者是本地安裝,要注意選中下面幾個必需的包,這幾個包在Cygwin安裝時預設是不安裝的:

    · Archive / unzip
    · Devel / bison
    · Devel / flex
    · Interpreters / perl
    · Utils / patch
    · Web / wget
選擇方法: 展開後點擊skip,使其變為版本號碼即可.

3.安裝python

        安裝python2.4版本,指導手冊上說2.5的可能有問題,但我的就是2.5,編譯是並沒有遇到問題^_^.

4. 安裝Subversion Client

        這一步不是必須的,可以忽略。

5.擷取原始碼

      擷取源碼後要修改源碼的config.nmake檔案來指定對應的對應的工具以及相關資訊,主要修改由下面幾個方面:

     1.版本資訊設定

              VERSION_EXTRA:指定自訂編譯的版本號碼,字串形式,例如:“-SVN-12345”。

      2.路徑設定

           PROGRAM_FILES:應用程式的按裝目錄,一般為C:/Program Files。這裡要注意如果相關的應用程式不是在同一盤符下面安裝的時候,可能會出現問題:

例如:

          HHC_DIR=$(PROGRAM_FILES)/HTML Help Workshop //產生協助檔案的時候用到,好像安裝系統的時候就預設安裝到C:/Program Files。

          MSVCR_DLL=$(PROGRAM_FILES)/Microsoft Visual Studio 8/VC/redist/x86/Microsoft.VC80.CRT/*.* //生產安裝程式的時候會用到,打報VC的運行庫

WIRESHARK_LIBS=E:/MyCode/wireshark/src/wireshark-win32-libs //依賴庫的路徑,依賴可可以通過makefile檔案自動擷取;

MSVC_VARIANT=MSVC2005    //指定編譯器類型

      3.庫資訊設定

                按照預設設定就可以了。

4.工具設定

        CYGWIN_PATH=d:/cygwin/bin // cygwin的安裝路徑

        PYTHON="d:/python25/python.exe" //設定python的路徑

        MAKENSIS="d:/Program Files/nsis/makensis.exe" //設定nsis打包工具的路徑

        INSTALL2_DIR=E:/MyCode/wireshark/wireshark-gtk2 //編譯輸出檔案路徑(GTK2版本的)

6.設定命令列環境

主要是設定關於VC的環境變數,使可以在命令列中直接運行nmake。同時要把當前的目錄設定成Wireshark源檔案的目錄。

7.編譯Wireshark

設定上面這些就可以編譯了,具體步驟如下:

1.驗證工具安裝是否正確

>nmake -f Makefile.nmake verify_tools

命令將輸出類似於下面的資訊:

     Checking for required applications:
       cl: /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/BIN/cl
       link: /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/BIN/link
       nmake: /cygdrive/c/Programme/Microsoft Visual Studio 8/VC/BIN/nmake
       bash: /usr/bin/bash
       bison: /usr/bin/bison
       flex: /usr/bin/flex
       env: /usr/bin/env
       grep: /usr/bin/grep
       /usr/bin/find: /usr/bin/find
       perl: /usr/bin/perl
       env: /usr/bin/env
       C:/python24/python.exe: /cygdrive/c/python24/python.exe
       sed: /usr/bin/sed
       unzip: /usr/bin/unzip
       wget: /usr/bin/wget

2.下載安裝庫檔案

>nmake -f Makefile.nmake setup

用wget下載和安裝庫檔案,這一步可能需要一些時間。

3. Distclean源檔案

>nmake -f Makefile.nmake distclean

Wireshark的原始碼包含一些為UNIX編譯而準備的檔案,在首次編譯前必須清楚你的源檔案。

4.編譯Wireshark

>nmake -f Makefile.nmake all

編譯需要一定的時間,編譯成功後再產生的目錄中執行wireshark.exe來檢查編譯是否成功。

如果編譯失敗,就按照對應的錯誤提示修改。

8.製作安裝程式(不是必須的)

要製作安裝程式需要完成下面的步驟:

1.下載和安裝NISS

安裝程式有NISS來製作完成,需要安裝NISS程式,同時也需要正確設定config.nmake檔案中的MAKENSIS參數。

2.擷取vcredist_x86.exe

    複製VC的C運行庫的重新發布程式到$(WIRESHARK_LIBS)下面。

3. 產生安裝程式

    > nmake -f Makefile.nmake packaging

    執行成功後,產生的安裝程式在原始碼的/packaging/nsis路徑下,可以在其它的電腦上驗證安裝程式是否正確了….

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.