USB协议分析仪

USB协议分析仪USB协议分析仪

大家好,又见面了,我是你们的朋友全栈君。

1 ULPI PHY passive sniffing mode
概念: non driving, no pull-up, no pull-down

Function Control.opMode = 1; // non-Driving
OTG Control.DpPulldown = 0; // no pull-down
OTG Control.DmPulldown = 0; // no pull-down
USB IO.ChargerPullupEnDP = 0; // no pull-up
USB IO.ChargerPullupEnDM = 0; // no pull-up

2 Beagle USB Analyzer
2.1 Beagle USB 12 Analyzer
在USB Host和Device之间的DP/DM上连接一个Fairchild USB1T11A,Fairchild USB1T11A连接到隔离器件ADUM1400后,隔离器件再连接到FPGA;FPGA通过CY7C68013A连接到PC。
Figure 2-1 Beagle USB 12 Analyzer

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvb3NlbnBpbg==,size_16,color_FFFFFF,t_70

2.2 Beagle USB 480 Analyzer
USB 2.0的协议分析仪有2个PHY,支持LS/FS的Fairchild USB1T11A,支持HS的USB3300(passive sniffing mode)。
Figure 2-2 Beagle USB 480 Analyzer

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvb3NlbnBpbg==,size_16,color_FFFFFF,t_70

2.3 Beagle USB 5000 v2 analyzer
有2块PCB,下层是模拟PCB,上层是数字PCB,数字PCB上包括FPGA和CYUSB3014 BZX,其中CYUSB3014 BZX负责上传数据到PC,该芯片在数字PCB上的位置靠近Target Host Port口。

2.4 URLs
Review: Total Phase Beagle USB 12 Analyzer
https://eleccelerator.com/review-total-phase-beagle-usb-12-analyzer/

Beagle USB 480
https://www.bunniestudios.com/blog/?p=4106

3 OpenVizsla
3.1 FPGA-based USB analyzer
在USB Host和Device之间的DP/DM上连接一个USB3343(passive sniffing mode),USB3343连接到FPGA;FPGA通过FIFO模式连接到FT2232H,FT2232H连接到PC。
Figure 3-1 OpenVizsla board

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvb3NlbnBpbg==,size_16,color_FFFFFF,t_70

3.2 URLs
Open Hardware FPGA-based USB analyzer
http://openvizsla.org/
https://github.com/openvizsla

USB 2.0 Bus/Protocol Analyzer Hardware/Software Comparison
http://www.summitsoftconsulting.com/UsbAnalyzers.htm

4 Windows软件抓包工具
4.1 Bus Hound

4.2 USBPcap
USBPcap – USB Packet capture for Windows
https://desowin.org/usbpcap/

5 Linux usbmon抓包
5.1 sniff原理
binary格式路径:/dev/usbmonX
text格式路径:/sys/kernel/debug/usb/usbmon

获得usbmon的主设备号:cat /proc/devices
创建binary节点:
mknod /dev/usbmon0 c $major 0
mknod /dev/usbmon1 c $major 1
mknod /dev/usbmon2 c $major 2

5.2 usbmon tcpdump
1)mount -t debugfs none_debugs /sys/kernel/debug
2)cat /sys/kernel/debug/usb/devices – 确定usb的总线号
3)tcpdump -D
4)tcpdump -i usbmon1 -s 128 -w /data/usb_sniff.pcap &
5)killall tcpdump
6)wireshark工具打开usb_sniff.pcap

Intel APL (Gen9, A39X0) 8-port MPH xHCI
usbmon1 – xHCI LS/FS/HS
usbmon2 – xHCI SS

5.3 Wireshark过滤规则
1)usb.src == “1.6.1” and usb.dst == “host” – 改到对应的USB bus_no.addr.ep_no
2)usb.src == host and ublox

5.4 USB协议URB解析Wireshark插件
usb_table = DissectorTable.get(“usb.bulk”)
usb_table:add(0xff, my_proto)
usb_table:add(0xffff, my_proto)

5.5 usbmon sysfs接口
cat /sys/kernel/debug/usb/usbmon/1u > /sdcard/1u_usbmon.txt
命令中1u表示Bus=01,通过命令获得cat /sys/kernel/debug/usb/devices

cd /sys/kernel/debug/usb/usbmon
反向查找,查找不包含”1:003:2″(总线号:设备地址:端点号)字符串的其它内容
cat 1u  |grep -v “1:003:2”
排除多个字符串:cat 1u  |grep -vE “1:003:2|1:004:1”

5.6 usbfs
echo 1 > /sys/module/usbcore/parameters/usbfs_snoop

6 Abbreviations
DSLogic:Dream Source Lab

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150587.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LoadRunner详细使用教程

    LoadRunner详细使用教程文章目录VirturalUserGeneratorControllerAnalysisloadrunner的使用VirturalUserGenerator:录制脚本Controller:场景测试,收集并发测试的数据(多个用户并发场景)Analysis:分析系统并发测试的数据,生成报告和图标loadrunner做性能测试的原理?性能测试主要是多用户的并发,就是多线程模拟用户的操作,什么是集合点,为什莫需要集合点?因为先初始化好的线程需要等待后面还没初始化好的线程,所以设置一个集合点

    2022年5月23日
    63
  • 【c语言】malloc函数详解[通俗易懂]

    【c语言】malloc函数详解[通俗易懂]谈到malloc函数相信学过c语言的人都很熟悉,但是malloc底层到底做了什么又有多少人知道。关于malloc相关的几个函数关于malloc我们进入Linuxman一下就会得到如下结果:也可以这样认为(window下)原型:externvoid*malloc(unsignedintnum_bytes);头文件:#include<malloc.h…

    2022年6月14日
    67
  • 6421B Lab1 规划和配置IPv4

    6421B Lab1 规划和配置IPv4

    2021年8月20日
    48
  • rabbitmq异步处理_怎么解决js异步方法执行顺序

    rabbitmq异步处理_怎么解决js异步方法执行顺序RabbitMQ即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。使用RabbitMQ实现异步更新文章浏览量,提升阅读文章时的响应速度。从直接更新数据库耗时450ms到异步更新数据库耗时50ms,明显提升接口性能,非常的nice~………

    2022年10月4日
    1
  • headless CMS_model view controller

    headless CMS_model view controller目录介绍HeadlessCMS什么是HeadlessCMS?HeadlessCMS的优点HeadlessCMS解决方案的局限性使用HCMS的缺点HCMS的局限性何时何地使用HeadlessCMS?RawCMS:构建自己的HeadlessCMS为什么另一个HeadlessCMS?RawCms特征选择架构服务层认证Lambda表…

    2025年5月30日
    0
  • Win7如何简单的关闭445端口及445端口入侵详解

    Win7如何简单的关闭445端口及445端口入侵详解最近永恒之蓝病毒攻击了很多教育网的同学,下面我们就来看一下如何关闭445端口根据网络安全机构通报,这是不法分子利用NSA黑客武器库泄漏的“永恒之蓝”发起的病毒攻击事件。“永恒之蓝”会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。由于以前国内多次爆发利用445端口传播的蠕虫,运

    2022年6月15日
    125

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号