在项目开发当中,我们需要一个usb转继电器的设备当开关控制无线发射设备,采购部采购时并未详细了解Relay设备的运行环境就买了一批设备,之后发现设备厂家只提供了windows库,而我们是要在linux中开发.无语中...... Relay设备虽然是无驱的,可我并不知道它的协议,怎么办呢? I have no choice ,but I have bus hound,LOL. 厂家提供了windows的管理工具,可以实现Relay的开断,因此我通过Bus Hound截取usb数据包,得到通信协议.…
USB包类型和传输过程  USB是一种串行总线,因此数据都是一位一位传输的,如同串口那样,但是USB在真实物理电路上却不是TTL电平,而是一种差分信号采用NRZI编码,就是用变化表示0,不变表示1,同时在USB中数据时低字节先发送的即LSB.USB中的数据交互最小单位是包一个包由许多域组成,但是统一的是每个包都有同步域开始,然后紧接着PID,这里的PID不是指PID,而是指类似包命令码这么一个意思.PID只用到了低四位,高四位是低四位的取反用于校验PID字段,常见的PID由USB标准中查到如下,…
1. 软件准备 安装Wireshark # yum install wireshark wireshark-gnome .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode p…
0x01 问题提出 在一次演练中,我们通过wireshark抓取了一个如下的数据包,我们如何对其进行分析? 0x02 问题分析 流量包是如何捕获的? 首先我们从上面的数据包分析可以知道,这是个USB的流量包,我们可以先尝试分析一下USB的数据包是如何捕获的. 在开始前,我们先介绍一些USB的基础知识.USB有不同的规格,以下是使用USB的三种方式: l USB UART l USB HID l USB Memory UART或者Universal Asynchronous Receiver/Tr…
  前期准备: 一.硬件资源:STM32F103,USB-FS固件库. 链接: STM32 之 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序) https://blog.csdn.net/ZCShouCSDN/article/details/78936456?utm_source=blogxgwz1 二.调试软件:usbtrace3.0或者BusHound,用于看USB设备的信息.KEIL编译环境-用于开发. 后续相关工作: (1)用STM32CubeMX配置,具体实现其它的…
开发或者调试USB设备相关的工具或者驱动,一个调试的利器就是usbmon抓包. 在ubuntu下使用步骤如下: 1 运行命令  sudo  mount -t debugfs none  /sys/kernel/debug ,如果提示已经挂载,则下次抓包就可以不运行这个命令了.表示系统默认会挂载. 2 运行命令  sudo modprobe usbmon 3 查看usbmon监控可以识别到的设备号.如下图,生成了几个usb设备号. 4 找出你需要监控的总线编号.如果找呢,根据设备的信息,包括设备描…
Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能测试 HTTP/HTTPS流量记录 Web会话处理 安全测试 自定义扩展性 本文讨论的主要内容是如何设置Fiddler,使PC和移动设备上可以抓取HTTPS数据包. 首先,在菜单栏选择Tools->FiddlerOptions,切换到Connections选项卡 第二步,勾选允许远程连接,并设置一个…
知道如何获取适配器的信息了,那我们就开始一项更具意义的工作,打开适配器并捕获数据包.编写一个程序,将每一个通过适配器的数据包打印出来. 打开设备的函数是 pcap_open(). (Open a generic source in order to capture / send (WinPcap only) traffic.) pcap_t* pcap_open ( const char * source, int snaplen, int flags, int read_timeout, st…
Linux 中的网络数据包捕获 Ashish Chaurasia, 工程师 简介: 本教程介绍了捕获和操纵数据包的不同机制.安全应用程序,如 VPN.防火墙和嗅探器,以及网络应用程序,如路由程序,都依赖类似于本文描述的方 法来完成工作.一旦接触到它们,您将会离不开它们. 标记本文! 发布日期: 2004 年 5 月 31 日 级别: 初级 访问情况 8870 次浏览 建议: 2 (查看或添加评论) 1 star2 stars3 stars4 stars5 stars 平均分 (共 9 个评分)…
上一讲中知道了如何获取适配的信息,这一将我们讲写一个程序蒋每一个通过适配器的数据包打印出来. 打开设备的函数是pcap_open().函数原型是 pcap_t* pcap_open(const char* source,int snaplen,int flags,int read_timeout,struct pcap_rmtauth *auth,char * errbuf):‘ pcap_rmatauth { int type. char *username;;//Zero-terminate…