首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >出口Wireshark分离器

出口Wireshark分离器
EN

Stack Overflow用户
提问于 2019-05-20 00:41:43
回答 2查看 0关注 0票数 0

我已经构建了一个自定义的Wireshark Packet解析器作为用C编写的插件。

如何编译和导出它以便其他人可以使用它而无需再次创建源? 例如,如果某人通过二进制文件安装了Wireshark而不是从源代码构建,那么我如何才能使我的解剖器插件可用,因为他们可能无法从源代码构建解剖器(同时告诉我这是否可能)或不)。

再说一遍,如果我在Lua中编写了解剖器,那么它是否可以以这种方式导出它?

(我是编写解剖器的新手,所以任何帮助都会受到赞赏。)

EN

回答 2

Stack Overflow用户

发布于 2019-05-20 09:14:52

在考虑编译和输出解剖器时应该阅读的资源是:

编译解剖器

假设您使用源代码构建Wireshark而不使用sudo apt-get。

假设您的插件解析器名称为“foo”(通常,这将是您的协议的简称,全部为小写)

插件的目录及其文件

该插件应放在一个新的plugins / foo目录中,该目录至少应包含以下文件:

  • 作者
  • 复印
  • 更新日志
  • 的CMakeLists.txt
  • Makefile.am
  • moduleinfo.h
  • plugin.rc.in

有关这些文件的详细信息,请参阅README.plugins

现在跳回到plugins目录。

对于自定义扩展

转到plugins目录并将Custom.m4.example和Custom.make.example文件复制到同名但没有“.example”后缀的文件中。现在,您已准备好两个自定义文件,用于构建名为“foo”的插件。如果您需要,请替换名称。

对于CMake构建,请在CMake生成步骤命令行上传递自定义插件目录:

CMake ... -DCUSTOM_PLUGIN_SRC_DIR =“plugins / foo”

或者将顶级文件CMakeListsCustom.txt.example复制到CMakeListsCustom.txt(也在顶级源目录中)并进行编辑,以便将CUSTOM_PLUGIN_SRC_DIR设置为()到插件的相对路径,例如

set(CUSTOM_PLUGIN_SRC_DIR plugins / foo)

转到Wireshark-2.4.X目录

运行 $ ./autogen.sh./configure设置构建环境。

好消息是,如果您正在处理单个插件,那么您会发现重新编译插件比重新编译解剖器然后将其链接回Wireshark更快。使用“make -C plugins”来编译你的插件。

坏消息是Wireshark不会使用插件,除非插件安装在它希望找到的地方之一。

解决此问题的一种方法是在运行Wireshark时设置环境变量:WIRESHARK_RUN_FROM_BUILD_DIRECTORY = 1。

您插件的分发

要分发您的插件,您需要为用户提供解剖器的二进制文件(在编译解剖器时生成的.so文件)

用户需要将这些文件放在Wireshark安装个人插件文件夹中,然后重新启动Wireshark。

要查找plugins文件夹,请打开Wireshark并转到帮助 - >关于 - >文件夹。如果个人插件文件夹中提到的路径不存在,则创建相同的路径。

分发Lua解剖器相当容易。

只需将Lua脚本复制粘贴到个人插件文件夹中,您的插件即可开始使用。

票数 0
EN

Stack Overflow用户

发布于 2019-05-20 10:07:08

基本上,如果您不希望他们自己编译Wireshark,我认为您有两个选项:

  1. 构建包含解剖器的安装程序并分发新安装程序。
  2. 构建插件并分发插件,他们需要将插件添加到现有安装中。

第一个选项可确保包含解剖器并与安装程序中包含的Wireshark版本兼容,但通常要求他们卸载当前版本的Wireshark并安装您的。也许这不可取?

第二个选项要求您为给定版本的Wireshark构建插件,并且只要它们已经安装了相同版本的Wireshark,他们就不必卸载他们当前安装的版本Wireshark来安装您的版本。不过,插件不能保证在不同版本中兼容API / ABI,因此您需要为每个使用的Wireshark版本创建一个插件。

就个人而言,我总是创建自己的安装程序,我组织中的任何人都希望它提供的附加功能可以安装它。我永远不必担心插件兼容性问题。我还发现创建内置解剖器与插件解剖器相比更容易一些,只需要更少的开发文件来修改和跟踪。

有关更多信息,请参阅Wireshark开发人员指南,以及Wireshark源代码树中的各种README文件,特别是README.plugins文件(如果您计划构建插件)。您还可以参考Wireshark buildbots来查看构建过程的每个步骤,包括安装程序创建步骤。这是一个很好的参考,特别是如果你在构建过程的任何特定步骤遇到任何困难。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100009037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档