Linux下安裝Wireshark
wireshark依賴於libpcap,所以如果系統中未安裝libpcap,也要將其一並安裝
一、下載源碼
源碼文件
wireshark-x.x.x.tar.gz wireshark安裝源文件
libpcap-x.x.x.tar.gz libpcap安裝源文件
下載地址
Wireshark 網址 http://sourceforge.net/projects/wireshark/
libpcap 網址 http://www.tcpdump.org/
二、安裝
安裝libpcap:這步安裝的目的是給wireshark提供所需的pcap.h
tar xvf libpcap-xxx.tar.gz
cd libpcap-xxx
./configure
make
如果本步出錯,則根據錯誤提示,查看相關的環境變量PATH是否正確,比如要用到bison這個文件,是要用/usr/bin/bison,而如果在環境變量PATH中/usr/bin比較靠后,則實際會用到其它目錄下的bison,因此要做的就是把/usr/bin在PATH變量中提到前面
make install
安裝wireshark
tar xvf wireshark-xxx.tar.gz
cd wireshark-xxx
./configure
如果在裝wireshark之前沒有安裝libpcap,可能在wireshark安裝執行 ./configure時報錯“找不到pcap.h”,解決方法是先裝libpcap源碼包,再裝wireshark
make
如果報錯“./gtk/main_menubar.c:3644: 找不到函數g_strcmp0()”
此處g_strcmp0應該是某個已經存在的庫文件中函數,但是系統中可能該庫不存在,或該庫中沒有這個函數
解決方法:
./plugins/asn1/packet-asn1.c的613行有函數g_strcmp()的定義,注意不是g_strcmp0()
將這個函數的定義復制到./gtk/main_menubar.c中開始的某個位置,並將其名字改為g_strcmp0()
static int
g_strcmp0(gconstpointer a, gconstpointer b)
{
if (a == 0) a = empty;
if (b == 0) b = empty;
return strcmp(a, b);
}
同時,將./plugins/asn1/packet-asn1.c 463行的 static const char empty[] = ""; 也復制到./gtk/main_menubar.c的開始位置,因為g_strcmp0要用到empty
make install
三、運行
在shell中輸入wireshark&即可運行圖形化的wireshark工具