如何在 Linux CLI 中使用 Wireshark 捕获 USB 流量?

如何在 Linux CLI 中使用 Wireshark 捕获 USB 流量?

我已经找到(希望)设置 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

相关内容