当前位置:  开发笔记 > 编程语言 > 正文

Wireshark Dissector:如何识别丢失的UDP帧?

如何解决《WiresharkDissector:如何识别丢失的UDP帧?》经验,为你挑选了0个好方法。

如何在自定义Wireshark解剖器中识别丢失的UDP帧?

我为CQS提要编写了一个自定义解剖器(参考页面).收到此Feed时,我们的服务器之一存在差距.根据Wireshark的说法,从未收到过一些UDP帧.我知道帧已经发送,因为我们所有其他服务器都没有间隙.

CQS帧由多个消息组成,每个消息具有其自己的序列号.我的自定义解剖器向Wireshark提供以下数据:

cqs.frame_gaps          - the number of gaps within a UDP frame (always zero)
cqs.frame_first_seq     - the first sequence number in a UDP frame
cqs.frame_expected_seq  - the first sequence number expected in the next UDP frame
cqs.frame_msg_count     - the number of messages in this UDP frame

我在自定义列中显示每个值,如此屏幕截图所示:wireshark screenshot http://img692.imageshack.us/img692/9484/wiresharkcqs.jpg

我尝试将代码添加到我的解剖器中,只需保存最后处理的序列号(作为本地静态),并在解剖器处理帧时标记间隙current_sequence != (previous_sequence + 1).这不起作用,因为可以按随机访问顺序调用解剖器,具体取决于您在GUI中单击的位置.所以你可以处理第10帧,然后是第15帧,然后第11帧,等等.

有没有办法让我的解剖器知道它前面的框架(或后面的框架)是否缺失?

解剖器用C语言编写.

(另请参阅serverfault.com上的配套文章)

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有