如何比较 Wireshark 捕获的两帧?

如何比较 Wireshark 捕获的两帧?

我使用 USBPcap 和 Wireshark 捕获 USB 流量来调试 HID 触摸屏。

现在我已经识别出了有趣的 URB_INTERRUPT 数据包,但是我如何比较HID 数据那些?

我添加了一个例子:

样本数据

我想找出二进制差异来猜测 x 和 y 位置编码在哪个字节中,但我没有找到任何适用于 Wireshark 的差异工具。此外,“复制字节...作为原始二进制”给我一个空的剪贴板,因此使用 Sublime 或任何其他文本编辑器也不起作用。

答案1

比较框架相当困难。

我发布了一些有关 Wireshark 的信息,其中涉及一些困难,以及一些可能更有希望的 Comm View(我使用 Comm View)。

比较 Wireshark 帧

如果不存在的话,这听起来确实是一个有趣的小项目。您可能能够使用 perl NET::PCAP 库来提取文件,然后在所需的偏移量处进行必要的比较。您可以将差异和帧编号渲染为 html。我希望我有更多的时间(和 PERL 知识),这样我就可以给你更多的指导。也许其他人知道已经构建的东西(或者可以轻松适应的东西)。

我不清楚您的所有细节,但也许可以为您正在分析的工业协议编写一个解析器,这样就无需进行比较了。

在 Comm View 中比较帧

损坏的帧不计入其他图表和表格中,原因显而易见:CRC 值错误的帧的任何部分都不可信。它可能具有完全错误的 IP 地址、数据有效负载等,尽管在现实生活中,此类帧与原始帧相似。出于同样的原因,CRC 错误不能归因于特定的无线 AP 或站点,因为无法确定真正的发送者的 MAC 地址。

尽管如此,用户可能希望在选项中选中“捕获损坏的帧”框,在这种情况下,损坏的帧也会显示在数据包列表中。默认情况下,此类帧会标记为红色,并在“数据包”选项卡的“错误”列中显示“CRC”标识符

并非所有无线适配器都能够将损坏的帧传递到应用程序级别。只有 CommView for WiFi 支持的推荐适配器才能保证此功能。

相关内容