看这篇文章之前,最好看看前两篇,甚至跟着前两篇文章动手做一做
wireshark3.x的源码中已经不包含 autogen.sh configure.ac 等文件
于是wireshark3.x版本中将无法再使用
./autogen.sh
./configure
sudo make
sudo make install
的方式进行安装插件,取而代之的是cmake的方法,不过cmake的方法更为简单
(对上面安装方法不明白的可以看看上一篇文章)
另外说一点题外话:
在本专栏的第一篇文章中,第四节介绍了两种安装的方法,一种是用 ./configure 命令的方式,另一种是建立build文件夹然后用cmake命令的方式。
本专栏的第二篇文章中,无论是复制文件还是修改文件,都会出现CMakeList.txt和Makefiles.am两个文件。
不妨大胆猜测修改 CMakeList.txt 文件适用于cmake的安装方式,而修改Makefiles.am 文件则适用于 ./configure 的方式
有了前一篇文章的知识,这里就简单介绍一下如何在wireshark3.x的版本下进行插件的安装。
2.1 复制文件wireshark3.x 的文件目录结构类似于 wireshark2.x
首先还是在 wireshark3.x/plugins/epan 目录下创建 foo 文件夹
然后将gryphon文件夹中的 CMakeList.txt 中文件复制过来(AUTOHOR可选,没啥用)
bingo,就复制一个文件,packet-foo.c是源码文件,当然有头文件,也要放进来
根据文章开头的推测,我们只需要修改 CMakeList.txt 即可,于是找到将foo文件夹中的 CMakeList.txt 文件
将 gryphon 替换成foo
根据上一篇文章的套路,在主目录下还有一个 CMakeList.txt 文件,
进入文件,直接搜索gryphon,进行定位,然后按照gryphon的格式,给foo也来一份一样的
由于wireshark3.x我们是用建立build文件夹的方法安装的,于是我们回到build文件夹,打开终端依次执行以下命令:
sudo cmake -G “Unix Makefiles” …/wireshark3.x/
sudo make
sudo make install
可以发现,这个执行速度是非常快的,比用./configure的方式快了几倍
值得注意的是,build文件夹和wireshark3.x在同一目录下时才可以用cmake那句语句,不然的话,是需要用户自己修改 …/wireshark3.x/ 部分的(其实这部分就是wireshark3.x源码的路径)
直接
sudo wireshark
来验证我们的推论,如果可以加载foo,则推论正确
perfect!



