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

相关文章
相关标签/搜索