因为工做须要,我编写过一个解析内部通讯协议的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】
出现以下的窗口: