2020-07-07 19:01
⁄ 工业·编程
⁄ 共 423字
Linux 下 对USB抓包是 使用USBMON 即 usb monitor模组来进行抓包操作。需要Linux在编译时打开CONFIG_USB_MON。
挂载debugfs文件系统
sudo mount -t debugfs none_debugs /sys/kernel/debug
确认内核中是否有加载usbmon模块
lsmod | grep usbmon
或者
ls /sys/module/usbmon
如果发现没有对应的目录或者模块,则表示需要加载usbmon
modprobe usbmon
抓取USB日志
最好先用lsusb –t 查看一下需要抓哪个USB总线的数据
如果要抓所有...
tcpdump, USB编程, Wireshark, 软件调试阅读全文
2020-05-15 06:59
⁄ 工业·编程
⁄ 共 1105字
USB(Universal Serial BUS,通用串行总线);
VID(Vender ID供应商识别码)和PID(Product ID产品识别码);
每一个USB设备都有VID和PID,PID/VID唯一标识一个设备,HardwareID是为了给系统识别的 ,他是根据PID/VID而生成的。
VID是由供应商向USB-IF(Implementers Forum 应用者论坛)申请。每一个供应商的VID是唯一。
PID是由供应商自行决定;
主机通过VID和PID来识别不同的设备,根据他们(以及设备的版本号),可以给设备加载或安...
USB编程阅读全文
2020-04-25 15:16
⁄ 工业·编程
⁄ 共 650字
查阅了发现抓取usb包的工具,主要有以下三个:Bus Hound,USBlyzer 和-USBTrace,我使用的是Bus hound和USBlyzer。关于这两个工具的使用我就不在这班门弄斧了,我今天想说的是wireshark这个工具。
无意中发现wireshark也可以抓取usb数据包,而且列出来的信息也比较直观。 可能有些人的wireshark无法抓取usb包,那是因为你在安装的过程中都是一路默认下去的。所以如果想用wireshark抓取usb数据的话,可以考虑重新安装。 ...
USB编程阅读全文
2013-12-09 16:50
⁄ 工业·编程
⁄ 共 1369字
当USB插入USB总线时,USB控制器会自动为该USB设备分配一个数字来标示这个设备。另外,在设备的每个端点都有一个数字来表明这个端点。 USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务(Transaction),事务有四种类型,分别是Bulk Transaction、Control Transaction、Interrupt Transaction和Isochronous Transaction。每次事务都会分解成若干个数据包在USB总线上传输。每次传输必须历经两个或三...
USB编程阅读全文
2013-12-08 18:43
⁄ 工业·编程
⁄ 共 1580字
USB is implemented in terms of software drivers (which I don't discuss here) and hardware. The hardware divides into host controllers, hubs, and functions:
The host controller connects a tree of USB devices to a host (computer, console, and so on). Multiple host controllers can be present. Each host controller anchors one device tree.
A hub is a device with multiple ports, into which are p...
USB编程阅读全文
2013-12-08 18:41
⁄ 工业·编程
⁄ 共 3509字
How can my application detect when my device is attached or removed?
To find out when a device has been attached or removed, catch the WM_DEVICECHANGE messege with the parameter DBT_DEVNODES_CHANGED. Then use SetupDi_ functions to find out what device was attached or removed. A Usenet post on the subject is USB Device Insertion/Removal Event Notification. Also see my example code.
How can my ap...
USB编程阅读全文
2013-12-08 18:39
⁄ 工业·编程
⁄ 共 3351字
Host controllers ---> Usb root hub ---> usb functions(devices)
基本步骤:
1)打开HCD%X
2) 得到上面的USB root hub
3) 遍历usb root hub上连接的usb 设备。获取信息
4)如果有多个usb口,循环前3步。
下面介绍通讯用的几个IOCTL:
1)USB_HCD_DRIVERKEY_NAME ,用于获取USB设备驱动在注册表中的键名。相应的一个结构体是:
typedef struc...
USB编程阅读全文
2013-12-08 18:35
⁄ 工业·编程
⁄ 共 1194字
对于USB编程,其中一个函数叫做:
BOOL WINAPI DeviceIoControl( __in HANDLE hDevice, __in DWORD dwIoControlCode, __in LPVOID lpInBuffer, __in DWO...
USB编程阅读全文
2013-12-08 18:32
⁄ 工业·编程
⁄ 共 386字
USB编程的第一个步骤就是寻找你插入的USB设备.为了找到你的USB设备,首先要知道你的USB设备的GUID.一种类型的USB设备的GUID是这个类型唯一的。
使用下列的几个函数变可以找到你的USB的设备名字:
SetupDiGetClassDevs()
SetupDiEnumDeviceInfo()
SetupDiGetDeviceRegistryProperty()
SetupDiEnumDeviceInterfaces()
SetupDiGetDeviceI...
USB编程阅读全文
2013-12-08 17:23
⁄ 工业·编程
⁄ 共 1858字
一、概述
当前计算机的USB口已很普遍,USB2.0理论传输速率最高为480Mbps,即60MB/s,USB3.0理论传输速率最高为5Gbps,即625MB/S。目前USB口主要用于U盘、USB硬盘、USB键盘、USB鼠标、USB摄像头、USB光驱等。
其实,增加一条USB联机线(也有叫USB联网线、共享线、互联线、对拷线、对联线)利用USB口还可实现很多基于USB口的光驱共享、数据共享、网络共享、联网、键鼠共享、剪贴板共享、档案共享、USB点对点通讯、USB点对多点通...
USB编程阅读全文