IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ubuntu16.04下wireshark1.x(2.x)的C插件开发指北 -> 正文阅读

[系统运维]Ubuntu16.04下wireshark1.x(2.x)的C插件开发指北

1 环境说明

本机的环境是
虚拟机安装的Ubuntu16.04桌面版
源码安装的wireshark 2.6.10

2 插件开发

我的源码文件夹名称就是wireshrk-wireshark-2.6.10,下面简称为wireshark2,同理,下文中的wireshark1.x代表是wireshak1.x版本源码文件的简称

Tips_1: 源码中plugins文件夹的意思就是插件(plugin)集合

Tips_2: Ubuntu中在文件夹里面用快捷键 Ctrl + H 可以显示隐藏文件夹,Ctrl + F 可以显示文件搜索框

Tips_3: 在gedit文件夹编辑器中,查找某一内容的快捷键为 Ctrl + F ,替换的快捷键为Ctrl + H

2.1 复制文件

进入 wireshark2/plugins/epan 文件夹下创建foo文件夹
(如果是wireshark1.x版本的话,目录应该为 wireshaek1.x/plugins/)
在这里插入图片描述

然后,进入 wireshark2/plugins/epan/gryphon 文件夹
(如果是wireshark 1.x版本的话,目录应该是wireshark/plugins/gryphon 总之记住一个原则,foo文件夹和gryphon文件夹是同一级别)

复制以下文件
1、AUTHORS(可选,没什么大用)
2、CMakeList.txt
3、Makefile.am
4、Makefile.in
{
/* 以下文件为wireshark 1.x 版本需要额外复制的 */
5、 COPYING
6、ChangeLog
7、Makefile.common(内置插件所依赖的文件)
8、moduleinfo.h:(内置插件的版本信息)
9、 moduleinfo.nmake( Windows平台下DLL的版本信息)
10、 plugin.rc.in: Windows(平台下的DLL资源模板)
}

2.2 修改文件

总体思路,跟着gryphon来,哪里有gryphon,哪里就有你的插件就完事了

2.2.1 修改foo文件夹中的文件

1、 修改CMakeList.txt
将文件中的gryphon直接全部替换成foo

2、修改Makefile.am
同理,直接将gryphon替换成foo,除此之外,还有两个地放需要注意:
NONGENERATED_REGISTER_FILES 这里存放的是你的源码文件,一般都叫 packet-xxx-.c , 我的叫packet-foo.c,如果有多个.c文件,则都需要添加到这个变量中
CLEAN_HEADER_FILES 这里存放的是源码文件头文件,有就放,没有就不放 在这里插入图片描述
图片中的 example.c 没有任何意义,只是告诉你有多个文件该如何添加,“ \ ” 一定不能省略

3、修改Makefile.in
直接将gryphon替换成foo

{
/* 以下内容针对 wireshark1.x 版本 */
4、修改makefile.common
PLUGIN_NAME为foo(你自己插件的名字)NONGENERATED_REGISTER_C_FILES 和CLEAN_HEADER_FILES 的修改方式同上

5、修改moduleinfo.h
定义报名、版本号(没特殊需求就不用改)

6、 moduleinfo.nmake
将包名、版本号改变成和前一步相同即可

7、 plugin.rc.in文件是windows下编译使用的资源文件,用于添加给dll文件的特定信息

}

2.2.2 修改foo目录外的文件

1、在路径 wireshark2/plugins下,修改 Makefile.am文件
在 SUBDIRS 中添加插件路径,我的为epan/foo
在这里插入图片描述
这里要注意一个小细节,他的排列都是按照字母顺序来的,如果你的插件叫hoo,添加的位置就应该放到gryphon的后面,后面的文件更改原则也是如此。

2、和上面的路径一样,这次修改Makefile.in文件,修改方法也同上面一样
在这里插入图片描述

3、回到wireshark源码目录,即wireshark2,修改 configure.ac 文件
直接 Ctrl + F 查找gryphon,然后按照gryphon的格式插入foo的目录
在这里插入图片描述
{
/* 以下内容针对wireshark1.x 版本 */
1、plugins/Makefile.am文件
需要将自己插件所在的目录(本例中为foo)添加进SUBDIRS变量

2、同1的路径下,修改Makefile.in
直接替换掉gryphon,换成oo

3、在wireshark1.x目录下,找到Makefile.am
添加dlopen plugins/foo/foo.la语句到plugin_ldadd中(可以直接搜索gryphon进行定位)

4、 在wireshark1.x目录下,找到configure.ac
添加plugins/foo/Makefile语句到AC_OUTPUT中

5、在wireshark1.x/epan目录下,找到Makefile.am
添加…/plugins/foo/packet-foo.c到plugin_src

6、 在wireshark1.x/packaging/nsis找到Makefile.nmake
给PLUGINS变量添加…/…/plugins/foo/foo.dll

7、在同5的路径下,找到wireshark.nsi
在Dissector Plugins区块中,给File声明添加如下语句:
File “…\plugins\foo\foo.dll”

8、在wireshark1.x/plugins路径下,找到Makefile.nmake
在PLUGIN_LIST下添加foo目录

/* 最后三步针对的是windows平台,不改也行 */

}

3 编译

wireshark1.x和2.x版本操作都是一样的,只有第三步中的foo路径不一样而已

1.、在 源码文件目录wireshark2中
执行 ./autogen.sh命令
在这里插入图片描述
{
如果执行./autogen.sh报错:

./autogen.sh: 1: ./autogen.sh: autoconf: not found
……(以下省略)

则需要安装 autoconf, automake 和 libtool
执行 apt install autoconf automake

libtool必须源码安装

#1. 获取源码
命令行依次输入:

wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz

tar xvf libtool-2.4.6.tar.gz

cd libtool-2.4.6

#2. 配置

./configure

#3. 编译

make

#4. 安装

make install

}

2、仍然是该路径下,接着执行
sudo make
在这里插入图片描述
3、进入到foo文件夹
执行 sudo make install
在这里插入图片描述
等一切完成之后,sudo wireshark 就ok了
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:25:02  更:2021-10-03 17:25:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:20:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码