首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[wireshark]如何使用插件剖析数据包

[wireshark]如何使用插件剖析数据包
EN

Stack Overflow用户
提问于 2013-05-29 02:22:15
回答 1查看 948关注 0票数 0

我们的团队目前正在构建一个wireshark解析器,该解析器可以解析特定类型的数据包。我们已经基于一个模板构建了我们的包。

假设我们构建的插件的名称是ABC,现在我们的目标是,每当我们在wireshark的过滤器框中键入ABC时,我们都希望看到(捕获)我们发送的数据包。

正如您在图像中看到的,如果我们按ip.destination过滤,wireshark就知道这是我们感兴趣的数据包。当前的任务是,当我键入插件名称ABC时,我希望得到相同的结果。

如果问题不是很清楚,我深表歉意,我们才刚刚开始,还处于初始阶段。任何提示或建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2013-05-29 22:54:27

像往常一样分析插件,如this页面中所述。正如链接中所述,当您在proto_register_ABC()下使用proto_register_protocol()注册协议时,作为第三个参数提供的缩写字符串将注册为过滤器名称。

有关创建插件的信息可以在"doc/README.plugins“文件中找到。

如果您想为数据包中的数据结构注册筛选器(您可以再次查看上面的链接以获取说明),请查找函数proto_register_ABC() (这里的ABC是您的协议名称),将您的数据成员添加到静态数组"hf_register_info hf[]“中,如下所示。

代码语言:javascript
复制
void 
proto_register_ABC(void)
{
    static hf_register_info hf[] = {
        { &hf_foo,
          { "FOO member", "foo", FT_BYTES,
            BASE_NONE, NULL, 0x0, NULL, HFILL }}
        };

必须声明hf_foo。您输入的第二个字符串:

代码语言:javascript
复制
{ "FOO member", "ABC", FT_BYTES,
                BASE_NONE, NULL, 0x0, NULL, HFILL }}

例如,第二个字符串"foo“是您的过滤器名称。

现在,如果您的解析函数dissect_ABC()工作正常,那么您将能够使用"ABC“自动过滤您的协议数据包。您还可以查看其他剖析是如何做到这一点的,例如"TCP“。查看"epan/dissectors/packet-tcp.c“。

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

https://stackoverflow.com/questions/16798851

复制
相关文章

相似问题

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