利用PyUSB重放Wiresh捕获的数据包

2024-10-03 11:13:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我用wireshark拍到了一个URB包:

219774  438.775555000   host    31.0    USBVIDEO    66  SET CUR Request  [Brightness]

Wireshark显示以下偏移十六进制文本:

^{pr2}$

现在,我尝试使用PyUSB按以下方式重放此数据包:\

device = usb.core.find(idVendor=0x04f2, idProduct=0xb2ea)
device.detach_kernel_driver(0)
cfg = device.get_active_configuration()
intf = cfg[(0,0)]
ep = intf[0]
data = 'c03998300288ffff5302000401000000d78f51530000000084ad08008dffffff02000000020000002101000200020200000000000000000000000000000000003200'
data = [ int(''.join([data[i], data[i+1]]), base=16) for i in range(0, len(data), 2)]
print '%d/%d written' %(ep.write(object_to_write), len(object_to_write))

哪些输出:

11/66 written

这让我觉得我不明白pyusb为数据准备了多少元数据,wireshark省略了多少元数据等等,有什么想法可以解决这个问题吗?在


Tags: to数据hostdatalenobjectdevicecfg