linux – 由FTDI USB串行转换器创建的监控(嗅探) devttyUSB0

linux – 由FTDI USB串行转换器创建的监控(嗅探) devttyUSB0,第1张

概述我想监视(嗅探)由FTDI USB串行转换器创建的/ dev / ttyUSB0的流量.我在 Windows中编写了自己的应用程序,现在我尝试将其移植到linux并使用/ dev / tty / USB0.我想调试实际发生的通信. 软件strace对我来说不是一个选项,因为它只向ioctl显示系统调用. 使用Windows软件“Free Serial Port Monitor”通过嗅探COM1来实 我想监视(嗅探)由FTDI USB串行转换器创建的/ dev / ttyUSB0的流量.我在 Windows中编写了自己的应用程序,现在我尝试将其移植到linux并使用/ dev / tty / USB0.我想调试实际发生的通信.

软件strace对我来说不是一个选项,因为它只向ioctl显示系统调用.

使用windows软件“Free Serial Port Monitor”通过嗅探COM1来实现.

输出dmesg:

[16975.000221] usb 7-1: new full-speed USB device number 5 using  uhci_hcd[16975.193543] usb 7-1: New USB device found,IDvendor=0403,IDProduct=6001[16975.193548] usb 7-1: New USB device strings: Mfr=1,Product=2,SerialNumber=3[16975.193552] usb 7-1: Product: FT232R USB UART[16975.193555] usb 7-1: Manufacturer: FTDI[16975.193558] usb 7-1: SerialNumber: A400BJII[16975.200550] ftdi_sio 7-1:1.0: FTDI USB Serial Device converter detected[16975.200599] usb 7-1: Detected FT232RL[16975.202604] usb 7-1: FTDI USB Serial Device converter Now attached to ttyUSB0

但是我试过moserial做这个和命令“echo foobar> / dev / ttyUSB0”验证,如果它工作.我的软件也没有为moserial创建输出.

更新:

找到了如何直接监控usb,现在我需要将USB数据包转换为RS-232(FTDI基本上做什么).

>设置usbmon

modprobe usbmon

1.1对于2.6.23之前的linux内核,您还需要运行此命令

modprobe -t deBUGfs none / sys / kernel / deBUG
> usbmon0将监控从所有usbmon0到usbmonX的任何流量
2.1.找到正确的USB设备

cat / sys / kernel / deBUG / usb / devices | grep FTDI -A 7 -B 4

T:  Bus=07 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 12 Spd=12   MxCh= 0D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1P:  vendor=0403 ProdID=6001 Rev= 6.00S:  Manufacturer=FTDIS:  Product=FT232R USB UARTS:  SerialNumber=A400BJIIC:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 90mAI:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sioE:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0msE:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

2.2.注意端口的总线编号(总线= 07),因此监控的usbmon将是usbmon7

2.3.使用wireshark捕获usbmon7接口或使用以下命令将输出输出到控制台(stdout)…用bus-ID替换数字

cat / sys / kernel / deBUG / usb / usbmon / 7u

什么意思’你’?
 https://www.kernel.org/doc/Documentation/usb/usbmon.txt

目前支持两种格式:原始格式或“1t”格式和“1u”格式.内核2.6.21中不推荐使用’1t’格式. ‘1u’格式添加了一些字段,例如ISO帧描述符,间隔等.它产生稍长的行,但是否则是’1t’格式的完美超集.
>如何将USB捕获转换为RS-232捕获?
我不知道…… Todo

解决方法 有了你的提示,我设法解决了我的问题,所以这是我的最后一点提示:

>使用Wireshark,打开usbmon0并使用此过滤器

usb.capdata or at

发出两次命令echo asd> / dev / ttyUSB0在Wireshark中生成以下结果

您可以使用tshark从捕获文件中提取整个剩余捕获数据:

tshark -r capture.pcapng -T fIElds -e usb.capdata

总结

以上是内存溢出为你收集整理的linux – 由FTDI USB串行转换器创建的监控(嗅探)/ dev / ttyUSB0全部内容,希望文章能够帮你解决linux – 由FTDI USB串行转换器创建的监控(嗅探)/ dev / ttyUSB0所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1019382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存