Linux編譯wireshark,並支持lua插件

因爲工做須要,我編寫過一個解析內部通訊協議的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就行了。我是個不能聯網的小苦逼t_0027.gif插件

wKioL1YwcoHQBaYEAADb3rWyc4I880.jpg

二、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我們也不能忘記了。j_0002.gif因此去官網下載吧 www.tcpdump.org

就是下圖的紅色箭頭指示的連接。

wKioL1Ywc_Sikk_NAAGbl3KgzCY004.jpg

實驗使用的是首頁的這個連接的包

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。

wKioL1YweIHyB-mOAAFP1Xo4JgI994.jpg

此時,若是出現錯誤,就證實我們沒有安裝開發工具,至少就是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的支持和依賴。

wKiom1Ywg9Hy2tyhAAFoNgrnkus175.jpg


三、GTK+安裝圖形庫支持

因此仍是使用yum去解決,我們安裝gtk支持。執行以下命令安裝。

yum install gtk2-devel

安裝完畢以後。接下來,我們能夠繼續執行上面的命令嘗試預編譯了。

./configure

出現以下圖所示彙總:

wKioL1YwicOz1F_bAAKUTON-jgM628.jpg

沒有提示錯誤了,有不須要lua插件支持的同窗能夠直接進行make的編譯了。可是,若是須要插件的同窗,輸出文本的這個提示:

Use Lua library : no

下面咱們就爲了這個作處理了……


四、安裝lua依賴

固然,這個仍是用yum來處理啦。不須要lua,只須要wireshark的同窗就跳過這一步吧!這個時候就要插入DVD2了,固然有網的同窗就不用擔憂了,直接運行命令就好。

有請yum大神……

yum install lua-devel

安裝完畢以後,在執行預編譯命令,應該就能看到:

Use Lua library : yes

wKiom1YwjN7Q8UgoAAMrJ4BxmE0274.jpg


五、正式開始編譯wireshark。

仍是那些命令

./configure
make
make install

等待很漫長,很漫長的時間以後。wireshark終於編譯完成了。

我們驗證一下。

召喚它吧~~~~

wireshark &

點擊菜單的【Help】-->【About Wireshark】

出現以下的窗口:

wKiom1YwjqjAxdtnAAMXGVhlDu4059.jpg


終於完事了,寫這個東西居然花了我一個下午的時間。我也是醉了……t_0024.gif

相關文章
相關標籤/搜索