usb7
精巧强大的USB外设

使用手册

一:介绍

  • 支持 2.4GHz WiFi。
  • tinySniffer中有2个 USB 接口,一个用于连接USB外设,另一个用于将tinySniffer连接到USB Host(例如 macOS、Windows 或 Linux 计算机)。
  • 有2种工作模式:
    • 配置模式:未连接USB外设,将tinySniffer接入macOS、Windows 或 Linux 计算机时,tinySniffer将进入配置模式。
    • 抓包模式:连接USB外设的时候。
  • 有2个LED ,分别为红色和绿色:
    • 在配置模式下,红色LED灯亮。这主要是用来在tinySniffer中配置WiFi,并用 www.usb7.cn 账号注册tinySniffer。
    • 连接WiFi后,绿色LED闪烁

二:连接WiFi并注册tinySniffer

  • 2.1 打开 www.usb7.cn ,使用微信登入。
  • 2.2 将tinySniffer连接到macOS、Windows 或Linux计算机(确保tinySniffer没有连接USB外设,在配置模式)。
  • 2.3 大约25秒后,tinySniffer完成启动,红色LED灯亮,在计算机浏览器中输入tinySniffer IP地址172.16.10.1访问tinySniffer。
  • 2.4 按照浏览器中的说明将tinySniffer连接到 WiFi。10秒后,可以看到tinySniffer WiFi IP地址,绿色LED开始闪烁(表示 WiFi 已连接)。
  • 2.5 点击 “Go to register” 按钮注册tinySniffer到 www.usb7.cn 账户。

三:将USB外设连接到tinySniffer

  • 将USB外设(例如键盘或音频设备)连接到tinySniffer。
  • 注意:请不要连接大流量USB外设,如U盘等大流量设备。

四:登录 www.usb7.cn 并访问tinySniffer

访问tinySniffer

  • 登录 www.usb7.cn ,点击"我的设备"并访问tinySniffer

    • 登录名 / 密码 = sniff / tinySniffer
  • sniff命令

sniff@tinySniffer:~$ sniff -h
Usage: sniff [-h] [-i] [-u UPLOAD_FILENAME] [-s] [-r] [-R] [-F [FILTERS]]

tinySniffer starts usb capture when:
1) tinySniffer (with usb peripheral plugged) is connected to usb host (this powers on tinySniffer) (save to new file)
2) usb peripheral is unplugged and re-plugged to tinySniffer (save to new file)
3) run "sniffer.py -r" to restart usb capture and save to new file
4) run "sniffer.py -R" to emulate usb peripheral unplug / replug, restarts usb capture and save to new file

optional arguments:
  -h, --help            show this help message and exit
  -i, --info            show usb capture info
  -u UPLOAD_FILENAME, --upload UPLOAD_FILENAME
                        stop usb capture and upload captured file
  -s, --stop            stop usb capture
  -r, --restart         restart usb capture and save to new file
  -R, --RESTART         emulate usb peripheral unplug / replug, restart usb capture and save to new file
  -F [FILTERS], --FILTERS [FILTERS]
                        set capture filter, support multiple filters, separated by ","
                        must use together with -r or -R argument to restart usb capture
                        supported capture filters are:
                            URB_ISO_OUT, URB_ISO_IN, URB_BULK_OUT, URB_BULK_IN
                        examples:
                            sniff -F URB_ISO_OUT,URB_ISO_IN -r
                            sniff -F URB_BULK_OUT -R
                            sniff -F URB_ISO_OUT,URB_ISO_IN,URB_BULK_OUT,URB_BULK_IN -R
                            sniff -F -R   # this is to clear capture filters
  • 检查USB外设是否连接
sniff@tinySniffer:~$ lsusb
Bus 003 Device 002: ID 0c76:1676 JMTek, LLC.
  • 检查sniff命令运行状态
sniff@tinySniffer:~$ sniff -i
capturing device:
  3-1
capturing file:
  /home/sniff/tinySniffer.pcap
capturing filters:
  • 运行sniff -R模拟USB外设的拔插,这对抓取完整的USB枚举过程很有用
sniff@tinySniffer:~$ sniff -R
  • 检查抓包文件
sniff@tinySniffer:~$ ls -l
total 1692
-rw-r--r-- 1 sniff sniff 978932 May  5 09:04 tinySniffer-1.pcap
-rw-r--r-- 1 sniff sniff  12288 May  5 09:04 tinySniffer-2.pcap
-rw-r--r-- 1 sniff sniff 741376 Mar  8 11:01 tinySniffer.pcap
  • 上传抓包的USB数据包,请按照浏览器中的说明将上传的文件保存到电脑
sniff@tinySniffer:~$ sniff -u tinySniffer-1.pcap 
Info: success bring down existing capture process
tinySniffer-1.pcap 100.00% 24.00 bytes/24.00 bytes

五:使用Wireshark查看捕获的USB数据包

Wireshark查看捕获的USB数据包

六:使用Wireshark显示过滤器

usb.urb_type == URB_COMPLETE

七:使用capture filter

  • 使用capture filter可以过滤掉指定的USB数据包,减小捕获的USB数据包文件。
  • 请运行命令"sniff -h"查看关于使用capture filter的详细信息。

八:Endpoints mapping

  • 必要的时候,我们的软件会使用endpoints mapping技术。在使用endpoints mapping的时候,可以运行命令"sniff -i"查看 sniff 命令运行状态。
sniff@tinySniffer:~$ sniff -i 
capturing device:
  1-1
capturing file:
  /home/sniff/tinySniffer-6.pcap
capturing filters:
  URB_BULK_IN
endpoints mapping:
  our usb packets capturing is software technology, below endpoint mapping is used:
  usb host    tinySniffer    usb peripheral
  EP1IN       <-             EP1IN
  EP2IN       <-             EP5IN
  EP2OUT      ->             EP2OUT
  EP3OUT      ->             EP3OUT
  EP4OUT      ->             EP4OUT