小编dpa*_*lin的帖子

如何在Windows下嗅探USB端口?

我不时需要在Windows下转储USB流量,主要是为了支持Linux下的硬件,因此我的主要目标是生成用于协议分析的转储文件.

对于USB流量,似乎SniffUsb是明显的赢家......它在Windows XP下运行(但不是更晚),并且具有比早期版本更好的GUI.它产生巨大的转储文件,但一切都在那里.

但是,我的设备实际上是一个USB串行设备,所以我转向Portmon,它可以在没有USB开销的情况下嗅探串口流量.

windows usb usbserial sniffing

37
推荐指数
5
解决办法
8万
查看次数

我怎么能猜出校验和算法?

我们假设我有一些最后有16位校验和的数据包.我想猜猜使用了哪种校验和算法.

首先,根据转储数据,我可以看到数据包有效载荷中的一个字节更改完全改变了校验和,因此我可以假设它不是某种简单的XOR或总和.

然后我尝试了CRC16的几种变体,但没有太多运气.

这个问题可能更倾向于加密,但我真的对任何易于理解的统计工具感兴趣,以找出这可能是哪个CRC.如果其他一切都失败了,我甚至可能会转向绘制不同的CRC算法.

Backgroud故事:我有串行RFID协议,带有某种校验和.我可以毫无问题地重播消息,并解释结果(没有校验和检查),但我无法发送修改后的数据包,因为设备将它们丢弃在地板上.

使用现有的软件,我可以改变RFID芯片的有效载荷.但是,唯一的序列号是不可变的,因此我无法检查每个可能的组合.虽然我可以生成递增1的值的转储,但不足以使详尽的搜索适用于此问题.

如果问题本身不够,可以使用包含数据的转储文件 :-)

需要参考文献? CRC错误检测算法的无意义指南是我在这里提问之后找到的很好的参考.

最后,在接受了答案的非常有用的提示之后,我 使用了这个CRC计算器,并使用已知校验和的xored生成校验和得到0xffff,这使我得出结论,最终xor是CCITT的0x0000的0xffff instread.

checksum crc

16
推荐指数
1
解决办法
1万
查看次数

标签 统计

checksum ×1

crc ×1

sniffing ×1

usb ×1

usbserial ×1

windows ×1