当前位置: 首页 > article >正文

USB抓包分析

1、USB传输协议基本概念

        一个传输(控制、批量、中断、等时):由多个事务transaction组成; 一个事务transaction (IN、OUT、SETUP):由一多个包Packet组成。USB数据在主机与usb设备间被传输,之间的关联叫做管道pipe。一个USB设备可以有多个管道。

        包是USB总线上数据传输的最小单位,不能被打断或干扰,否则会引发错误。若干个数据包组成一次事务传输,一次事务传输也不能打断,属于一次事务传输的几个包必须连续,不能跨帧完成。一次传输由一次到多次事务传输构成,可以跨帧完成。USB包由四部分组成,即包标识符字段(PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP)。

2、抓包工具准备

        (1) Wireshark,https://www.wireshark.org/download.html。下载安装,注意安装过程中勾选install USBPcap...

        

        如果是已经安装wireshark,也可以另外安装usbpcap,下载地址为USBPcap download | SourceForge.net(包括wincap或者ncap都可以单独卸载或者安装,WinPcap · Download)

        (2) Bus Hound, Bus Hound 可以选择下载免费版本,但是使用时会有限制。一次抓包只能包含32的命令,每个数据传输只能抓取前8字节。 

3、使用Wireshark抓包

        打开wireshark软件,选择USBPcap*作为捕获对象,这里出现多个USBPcap接口取决于主机包含几个usb接口,需要正确选择对应需要专包的usb端口。另外,每次停止后重新抓包,建议关闭wireshark后重新打开选择接口。       

 

 开始抓包,此时在usb端口没有插入任何设备(包括蓝牙鼠标等),结果如下。

下面是对蓝牙鼠标设备的抓包。


http://www.kler.cn/a/6467.html

相关文章:

  • 混合开发环境---使用编程AI辅助开发Qt
  • Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
  • Oracle 数据库函数的用法(一)
  • druid与pgsql结合踩坑记
  • 重拾设计模式--建造者模式
  • 【序】前端监控:打造高效稳定的用户体验
  • Spring Security
  • 【C语言蓝桥杯每日一题】—— 递增序列
  • C 学习笔记 —— 结构(二)
  • 【面试】互联网相关面试题
  • 操作系统结构
  • 【C语言学习】预处理命令
  • 【从零开始学习 UVM】10.7、UVM TLM —— TLM Fifo [uvm_tlm_fifo]
  • [windows-rs]Rust 调用 Windows API
  • 2023-4-1刷提情况
  • C++内存模型
  • LeetCode-5. 最长回文子串
  • Docker基础操作
  • c++编写动态星空
  • 我在 bilibili 学代码审计
  • Haar特征
  • 【CSS】课程网站横版导航栏 ( 横版导航栏测量及样式 | 代码示例 )
  • Linux中vi编辑器使用及ps系统管理命令
  • 如何看待 Chat-GPT 的崛起
  • Hibernate多表关联——(一对多关系)
  • 设计模式之责任链模式