嗅探USB串行连接

嗅探USB串行连接

我试图在 Ubuntu 15.04 下读取 USB/串行连接,而不是连接的真正“成员”。由于总线上只能有 2 个实例读/写。我已经使用 modprobe usbmon 启动 usbmonitor,现在我尝试使用wireshark 读取连接。它显示 usbmon 正常,但在我看来,好像只发送了标头和协议包。如果我使用终端模拟器发送一些号码,我找不到自己的消息。

答案1

尝试使用socat。根据权限,您可能必须以 root 身份运行它。

picocom下面是 socat在 FreeBSD 上使用 USB 串行连接记录与 pyboard之间传输的示例。

Socat 启动(作为 root)如下:

socat -d -v -x PTY,link=/tmp/serial,wait-slave,rawer \
/dev/cuaU0,rawer > & socat.txt

picocom 的启动方式(也以 root 身份)如下:

# picocom /tmp/serial

的部分内容socat.txt。板子上的数据前面有“<”,我输入的数据前面有“>”

< 2017/10/01 15:37:57.488955  length=48 from=0 to=47
2e 32 20 6f 6e 20 32 30 31 37 2d 30 38 2d 32 33  .2 on 2017-08-23
3b 20 50 59 42 76 31 2e 31 20 77 69 74 68 20 53  ; PYBv1.1 with S
54 4d 33 32 46 34 30 35 52 47 0d 0a              TM32F405RG..
54 79 70 65                                      Type
--
> 2017/10/01 15:38:01.181435  length=1 from=0 to=0
0d                                               .
--
< 2017/10/01 15:38:01.247992  length=37 from=48 to=84
20 22 68 65 6c 70 28 29 22 20 66 6f 72 20 6d 6f   "help()" for mo
72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0d  re information..
0a                                               .
3e 3e 3e 20                                      >>> 
--
> 2017/10/01 15:38:05.413958  length=1 from=1 to=1
68                                               h
--
< 2017/10/01 15:38:05.416064  length=6 from=85 to=90
0d 0a                                            ..
3e 3e 3e 20                                      >>> 
--
> 2017/10/01 15:38:06.290046  length=1 from=2 to=2
65                                               e
--
< 2017/10/01 15:38:06.292079  length=1 from=91 to=91
68                                               h
--
> 2017/10/01 15:38:06.579576  length=1 from=3 to=3
6c                                               l
--
< 2017/10/01 15:38:06.581082  length=1 from=92 to=92
65                                               e
--
> 2017/10/01 15:38:06.816570  length=1 from=4 to=4
70                                               p
--

相关内容