iperf使用方法_使用Wireshark分析USB设备的传输过程

    在计算机原理与应用课程中,我们学习了USB接口的基本工作原理。“百闻不如一见,百见不如一干。”有没有办法能够分析和观察USB设备的传输过程呢?有!最简单的办法就是使用Wireshark软件。

1

安装Wireshark和USBPcap

Wireshark是目前最为流行的网络抓包分析软件,可以从https://www.wireshark.org网站下载最新的软件包。Wireshark的下载页面一般会包括多个版本,可以选择Stable Release的最新版本。在本文写作时,最新的版本是3.0.7。在Windows上安装最新版本的Wireshark时,它会自动安装USB抓包软件USBPcap。

如果你的Wireshark没有包括USBPcap软件,你也可以直接访问https://desowin.org/USBPcap/去下载并安装USBPcap软件,这是一个开源的USB协议抓包软件。

Linux下也有一个类似的软件,叫usbmon。

2

抓取USB数据

如果使用最新版本的Wireshark,启动软件后,点击“捕获|选项”菜单,在“捕获接口”对话框中(图1)选择”USBPcap1”作为要监听的网口。然后点击“开始”按钮就可以抓取USB数据。图 2是Wireshark中抓取到的USB鼠标的操作。

bb810b9c95617f2a43ee22ab3355b351.png

图1在捕获接口对话框中选择USBPcap1

d3cb7d0b06e2f59646b6573fae28ba63.png

图2 Wireshark中抓取的USB鼠标操作

更多的USBPcap软件的操作方法请参见:https://desowin.org/USBPcap/tour.html。

3

分析USB数据

3.1.  USB鼠标数据分析

只要移动鼠标,我们就可以在Wireshark的分组列表中看到几条USB消息(图3)。在消息中host表示是主机,而1.1.1是USB鼠标的地址,其中第一个数是总线编号(bus id),第二个数是设备地址(device address),第三个数是端点号(endpoint number)。

323ef3af94136cfe2b65399f327aa698.png

图3 Wireshark的分组列表中显示的USB鼠标消息

这些消息都是从鼠标传递给主机的,而且都是以中断方式传输的。USB支持4种传输方式,其中鼠标、键盘这类设备主要以中断方式进行传输,特点是数据包很小,实时性好。

点击任意一条USB协议数据,在下面的协议分析窗口都可以看到数据分析的结果。

7a86a3ad055993a1f3f25fa4b1b27d9a.png

图 4 Wireshark中对USB数据的分析

对于每种类型的USB设备,在USB标准组织的网站上都可以找到详细的文档:https://www.usb.org/documents。对于鼠标、键盘设备可以参考《Universal Serial Bus (USB) Device Class Definition for HumanInterface Devices (HID)》的标准。图5给出了鼠标消息的定义,字节0表示是否有按键,接下来的两个字节表示X和Y方面的偏移量。图4这条消息表示用户按下了鼠标的左键,但是没有移动鼠标的位置。

35e90122ea5b135dbaffabf1ccfa932d.png

图 5 USB标准中对鼠标消息的定义

3.2.  U盘数据分析

我们尝试将U盘插入电脑,并观察Wireshark的抓包结果(图6)。

e63b3304d404885be00276177765b6a4.png

图 6 U盘插入电脑的信令

和鼠标不同,这里的消息是双向的,既有U盘发给主机的,也有主机发给U盘的。这些消息的传输类型也和鼠标不同,都是控制传输。这些消息是设备刚插入时,主机查询设备信息并对设备进行配置的消息。其实鼠标刚插入时也是有这些消息的,只是我们没有抓到。

我们在过滤器中输入下面的表达式:

usb.idVendor

我们就可以在消息窗口看到U盘返回给主机的设备信息(图7)。在其中我们可以看到U盘的产商和型号。

5061d38c4a3a07ced1982f5f849e4419.png

图7 U盘的设备信息

这些消息后面的一些消息属于USBMS协议(图8),这是Mass Storage设备特有的消息,U盘和USB硬盘都属于Mass Storage设备。

ed53cb7d7fd328af3dec68ad5b7ba80b.png

图8USBMS消息

这些USBMS消息的传输类型基本上都是Bulk传输,这是一种大数据量的传输,你可以看到一次传输几k到几十k字节。

4

结束语

使用Wireshark可以清晰地看到USB设备传输的情况,对于我们深入理解USB协议会很有帮助。欢迎同学们用Wireshark来分析手边的USB设备,并和我们分享你的结果。

公众号近期内容回顾

23352bc8c68a4936cfc83e83336d8069.png去冬游啦 |洛阳· 遇见九朝古都

23352bc8c68a4936cfc83e83336d8069.png移动通信网络TDOA定位的新型小波去噪预处理算法

23352bc8c68a4936cfc83e83336d8069.png课题组同学在2019年中国研究生电子设计竞赛中取得佳绩

23352bc8c68a4936cfc83e83336d8069.pngVDES陆地子系统物理层设计与实现

23352bc8c68a4936cfc83e83336d8069.png通信辐射源个体识别技术

23352bc8c68a4936cfc83e83336d8069.png多载波专用移动通信系统数字预失真功放线性化技术研究

23352bc8c68a4936cfc83e83336d8069.png使用Iperf进行网络性能测试

23352bc8c68a4936cfc83e83336d8069.png我是怎么发现程序抄袭的


d6db50627e5961cbe62ade2444e7e14f.png微信号: bitpmcrg 欢迎关注北京理工大学专业移动通信组的公共号“北理工通信课题组” c014f9b1e283fce27bbfd1fb804dfbd2.png b7c04d43b15e1a625fbf826802836214.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值