揭秘 USB 设备:使用 USBMon 全面了解连接到您 PC 的 USB 设备 (usb功能设置)
简介USB,通用串行总线,设备是我们日常生活的重要组成部分,从存储设备到外围设备,再到智能手机,无处不在,但是,这些设备的工作原理是什么,它们如何与我们的计算机交互呢,USBMon是一个强大的工具,可以帮助我们深入了解连接到我们PC的USB设备,它提供有关设备详细信息、传输数据和错误的详细见解,本文将指导您使用USBMon来全面了解您…。
简介
USB(通用串行总线)设备是我们日常生活的重要组成部分,从存储设备到外围设备,再到智能手机,无处不在。但是,这些设备的工作原理是什么,它们如何与我们的计算机交互呢?USBMon 是一个强大的工具,可以帮助我们深入了解连接到我们 PC 的 USB 设备。它提供有关设备详细信息、传输数据和错误的详细见解。本文将指导您使用 USBMon 来全面了解您的 USB 设备。
如何使用 USBMon
1. 下载并安装 USBMon:从 Microsoft 网站下载并安装 USBMon。2. 启动 USBMon:从“开始”菜单或通过命令提示符启动 USBMon。3. 选择要监视的设备:在主窗口中,选择要监视的 USB 设备。
USBMon 特性
基本设备信息设备名称和描述制造商和产品 IDUSB 版本和速度总线供电状态传输数据信息传入和传出数据包的详细信息数据传输方向和大小传输类型(控制、批量、中断、同构)错误信息设备错误代码和说明USB 协议错误数据传输失败
高级功能
筛选和排序:使用筛选器和排序器锁定特定事件或设备信息。数据导出:将 USBMon 数据导出到 CSV 或 HTML 文件进行进一步分析。命令行选项:使用命令行选项自动化 USBMon 操作。
使用场景
诊断 USB 问题:识别导致 USB 设备出现故障或性能问题的错误。优化 USB 性能:确定影响数据传输速度的因素,并调整设置以提高性能。了解 USB 设备功能:深入了解设备的 USB 描述符和其他高级信息。安全分析:监控 USB 活动以检测恶意设备或未经授权的访问。
示例用法
诊断鼠标问题:如果鼠标出现卡顿或延迟,您可以使用 USBMon 来检测是否有数据传输错误或设备问题。优化 USB 闪存驱动器速度:通过监视传输数据,您可以确定导致 USB 闪存驱动器速度缓慢的瓶颈,例如总线供电问题或 USB 协议错误。了解智能手机的 USB 功能:通过查看 USB 描述符,您可以确定您的智能手机支持哪些 USB 功能,例如高速数据传输或充电。
结论
USBMon 是一个无价的工具,用于了解和诊断 USB 设备。通过提供有关设备信息、传输数据和错误的详细见解,它使我们能够优化 USB 性能、解决问题并了解设备的底层功能。无论是经验丰富的 IT 专业人士还是好奇的个人,USBMon 都可以帮助我们深入了解我们每天依赖的 USB 设备。
怎么关闭USBMON的监控
打开任务管理器,在应用进程中找到USBMON。
右击选择打开文件所在位置,再将该程序结束,最后在文件夹中删除应用即可。
如何用Wireshark捕获USB数据
现在越来越多的电子设备采用USB接口进行通讯,通讯标准也在逐步提高。
那么,我们就会好奇这些设备是如何工作的?而无论你是一个硬件黑客,业余爱好者或者只是对它有一点兴趣的,USB对我们都是具有挑战性的。
事实上通过wireshark,我们可以捕获到usb设备发送给我们主机的数据,这样就可以进一步研究了。
本文中,我们将向大家介绍怎样通过wireshark捕获usb数据,使用的环境如下:l Wireshark 2.0.1(SVN)l Linux kernel 4.1.6你也可以用其他版本的wireshark,只要是1.2.0以上的都行。
这里并没有测试window上能不能行。
简介在开始前,我们先介绍一些USB的基础知识。
USB有不同的规格,以下是使用USB的三种方式:l USB UARTl USB HIDl USB MemoryUART或者Universal Asynchronous Receiver/Transmitter。
这种方式下,设备只是简单的将USB用于接受和发射数据,除此之外就再没有其他通讯功能了。
HID是人性化的接口。
这一类通讯适用于交互式,有这种功能的设备有:键盘,鼠标,游戏手柄和数字显示设备。
最后是USB Memory,或者说是数据存储。
External HDD, thumb drive / flash drive,等都是这一类的。
其中使用的最广的不是USB HID 就是USB Memory了。
每一个USB设备(尤其是HID或者Memory)都有一个供应商ID(Vendor Id)和产品识别码(Product Id)。
Vendor Id是用来标记哪个厂商生产了这个USB设备。
Product Id用来标记不同的产品,他并不是一个特殊的数字,当然最好不同。
如下图:上图是连接在我电脑上的USB设备列表,通过lsusb查看命令。
例如说,我有一个无线鼠标Logitech。
它是属于HID设备。
这个设备正常的运行,并且通过lsusb这个命令查看所有usb设备,现在大家能找出哪一条是这个鼠标吗??没有错,就是第四个,就是下面这条:Bus 003 Device 010: ID 046d:c52f Logitech, Inc. Unifying Receiver其中,ID 046d:c52f就是Vendor-Product Id对,Vendor Id的值是046d,并且Product Id的值是c52f。
Bus 003 Device 010代表usb设备正常连接,这点需要记下来。
准备我们用root权限运行Wireshark捕获USB数据流。
但是通常来说我们不建议这么做。
我们需要给用户足够的权限来获取linux中的usb数据流。
我们可以用udev来达到我们的目的。
我们需要创建一个用户组usbmon,然后把我们的账户添加到这个组中。
addgroup usbmongpasswd -a $USER usbmonecho SUBSYSTEM==usbmon, GROUP=usbmon, MODE=640 > /etc/udev/rules.d/接下来,我们需要usbmon内核模块。
如果该模块没有被加载,我们可以通过以下命令家在该模块:modprobe usbmon捕获打开wireshark,你会看到usbmonX其中X代表数字。
下图是我们本次的结果(我使用的是root):如果接口处于活跃状态或者有数据流经过的时候,wireshark的界面就会把它以波形图的方式显示出来。
那么,我们该选那个呢?没有错,就是我刚刚让大家记下来的,这个X的数字就是对应这USB Bus。
在本文中是usbmon3。
打开他就可以观察数据包了。
最后那么我们获取到了这些有什么用呢?通过这些,我们可以了解到usb设备与主机之间的通信过程和工作原理,也许我们就可以把这些知识用到逆向工程中,得到一些东西。
好了,就到这里!!!
无法安装usbmon
系统内核版本不支持等。
在Linux系统中,如果usbmon安装不成功,原因有:1、系统内核版本不支持。
可以使用命令“uname-r”来查看当前正在使用的内核版本。
2、没有权限:在加载内核模块时,需要root权限。
如果没有足够的权限,则需要切换到root用户或者使用sudo命令,否则安装不成功。
如若转载,请注明出处:https://www.jukee8.cn/105763.html