Linux usb 抓包通信日志

 

1. dmesg 内核工具的使用查看相关usb相关信息: dmesg |head   ,    dmesg |tail

2. linux USB抓包工具:usb_mon

    # mount -t debugfs none /sys/kernel/debug
    # modprobe usbmon
   查看当前的USB device: # cat /sys/kernel/debug/usb/devices
         
   下面的输出:
T:  Bus=02 Lev=02 Prnt=03 Port=00 Cnt=01 Dev#=  6 Spd=12   MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0400 ProdID=c35a Rev= 0.63
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=00(>ifc ) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
       
看懂上面的输出 Bus=01 means it's bus 1.

通过上面的P:  Vendor=0400 ProdID=c35a Rev= 0.63 该设备在总线 Bus 2上。

3.使用下面指令开始监听 Bus01上的全部USB数据包。
     # cat  /sys/kernel/debug/usb/usbmon/1u

4.要想开始监听 全部 Bus 上的全部USB数据包:
     # cat  /sys/kernel/debug/usb/usbmon/0u
     
  一旦有数据包,就会打印出来:
    # cat /sys/kernel/debug/usb/usbmon/1u
      f07dbb80 3233986312 S Co:1:012:0 s 40 01 80c0 0000 0000 0
      f07dbb80 3234327703 C Co:1:012:0 0 0
      f07dbb80 3234327880 S Co:1:012:0 s 40 02 0000 0200 0000 0
      f07dbb80 3234329561 C Co:1:012:0 0 0
      f07dbb80 3234329625 S Bi:1:012:1 -115 32 <
      f07dbb80 3234331550 C Bi:1:012:1 -75 32 = 00000000 00000000  

读懂上面的数据,

   URB tag     :标志
   TimeStamp:毫秒数
   Event Type :  S - submission(请求);C - callback(回复);E - submission error.
   URBType   :BusNo:DeviceAddr:EndPointNum
   URBType:   Ci/Co   Control input and output
                          Zi/Zo   Isochronous input and output
                          Ii/Io      Interrupt input and output
                          Bi/Bo   Bulk input and output
   URB Status: 0为没有错误。-XXX是错误码。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值