因爲工做須要,我編寫過一個解析內部通訊協議的wireshark的插件,插件是使用lua語言編寫的,因此wireshark必需要支持lua接入才行。windows
通常在windows下的wireshark使用安裝包安裝後,都是支持lua的。只是默認lua支持是處於關閉狀態,在網上一搜索就能知道怎麼打開lua支持了。bash
可是,在Linux下就不必定支持了。咱們公司使用的是CentOS的操做系統,默認使用操做系統光盤安裝的wireshark是沒有lua支持的。因此,我就只能摸索以下的步驟去從新編譯wireshark,而且讓它支持lua插件了。tcp
對了,咱們都是不能聯網的機器。只能使用光盤做爲yum源了。如何使用光盤yum源,請參考網上資料,或者我前面的文章。ide
試驗環境工具
操做系統:CentOS 6.3開發工具
軟件準備
lua
一、CentOS的DVD光盤spa
可是因爲須要支持lua,因此DVD1和DVD2都須要。若是虛擬機使用的,下載下面兩個鏡像就好。
操作系統
若是是能夠聯網的同窗,就不須要準備這兩個東東了,直接聯網用yum就行了。我是個不能聯網的小苦逼插件
二、wireshark源碼包
去wireshark官網下載就行了 https://www.wireshark.org/download/src/all-versions/
注意,如今官網首頁讓下載的是新版本wireshark使用QT開發界面的,我還不會解決依賴關係,因此仍是去下載頁下載老版本的一點的源碼包吧。實驗使用的是下面連接的包
https://www.wireshark.org/download/src/all-versions/wireshark-1.10.5.tar.bz2
三、libpcap源碼包
做爲wireshark的好×××,libpcap我們也不能忘記了。因此去官網下載吧 www.tcpdump.org
就是下圖的紅色箭頭指示的連接。
實驗使用的是首頁的這個連接的包
http://www.tcpdump.org/release/libpcap-1.7.4.tar.gz
所須要的東西都準備好了嗎?如今將wireshark和libpcap的源碼包都放入須要編譯wireshark的機器吧,將系統盤DVD1也推動光驅吧!
開始編譯
一、編譯libpcap
假設我們將源碼包都放到目錄/home/下,下面就開始執行命令
cd /home/ tar -zxvf libpcap-1.7.4.tar.gz cd libpcap-1.7.4 ./configure
結果出現下面圖的error。
此時,若是出現錯誤,就證實我們沒有安裝開發工具,至少就是gcc什麼的沒有裝了。因此,須要安裝上開發工具。具體方法,請參照我前面的那篇文章。
yum groupinstall "開發工具"
接下來咱們就能夠再次執行上面的編譯命令了。
./configure make make install
至此,編譯libpcap已經完事了。
二、第一次嘗試編譯wireshark
依然是老方法,解壓源碼包,而後編譯
cd /home tar -jxvf wireshark-1.10.5.tar.bz2 cd wireshark-1.10.5 ./configure
出現下面的錯誤了,說明我們沒有qt或者gtk的支持和依賴。
三、GTK+安裝圖形庫支持
因此仍是使用yum去解決,我們安裝gtk支持。執行以下命令安裝。
yum install gtk2-devel
安裝完畢以後。接下來,我們能夠繼續執行上面的命令嘗試預編譯了。
./configure
出現以下圖所示彙總:
沒有提示錯誤了,有不須要lua插件支持的同窗能夠直接進行make的編譯了。可是,若是須要插件的同窗,輸出文本的這個提示:
Use Lua library : no
下面咱們就爲了這個作處理了……
四、安裝lua依賴
固然,這個仍是用yum來處理啦。不須要lua,只須要wireshark的同窗就跳過這一步吧!這個時候就要插入DVD2了,固然有網的同窗就不用擔憂了,直接運行命令就好。
有請yum大神……
yum install lua-devel
安裝完畢以後,在執行預編譯命令,應該就能看到:
Use Lua library : yes
五、正式開始編譯wireshark。
仍是那些命令
./configure make make install
等待很漫長,很漫長的時間以後。wireshark終於編譯完成了。
我們驗證一下。
召喚它吧~~~~
wireshark &
點擊菜單的【Help】-->【About Wireshark】
出現以下的窗口: