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工具