我已经找到(希望)设置 Wireshark 和usbmon
内核模块所需的一切 - 包括允许非 root 用户捕获 USB 流量:https://www.wireshark.org/docs/wsug_html_chunked/ChCustCommandLine.html
然而,当尝试将所有这些放在一起时,SE 或 Google 上没有一个资源提供命令行示例来启动捕获并将其转储到我可以在 GUI 中打开并分析的文件中。
答案1
它看起来像是负责tshark
从命令行捕获内容的命令。首先,我们需要识别要捕获的设备。使用tshark -D
$ tshark -D
1. enp1s0
2. lo (Loopback)
3. any
4. bluetooth-monitor
5. nflog
6. nfqueue
7. bluetooth0
8. usbmon0
9. bluetooth1
10. usbmon1
11. usbmon2
12. ciscodump (Cisco remote capture)
13. dpauxmon (DisplayPort AUX channel monitor capture)
14. randpkt (Random packet generator)
15. sdjournal (systemd Journal Export)
16. sshdump (SSH remote capture)
17. udpdump (UDP Listener remote capture)
通过反复试验,我们发现我们感兴趣的是设备#10,因此我们运行:
$ tshark -i 10
Capturing on 'usbmon1'
1 0.000000 host → 1.2.0 USB 64 GET DESCRIPTOR Request DEVICE
2 0.000160 1.2.0 → host USB 82 GET DESCRIPTOR Response DEVICE
注意:tshark -i usbmon1
也有效。
用于-c [number]
限制行数,并以可导入 Wireshark GUI 的格式-w [out file name].pcap
保存捕获。pcap
$ tshark -c 100 -i 10 -w usbmon1-dump.pcap