2024年2月19日发(作者:)
RNDIS/ECM/MBIM报文简述
本文对USB CDC中三种较常见的Communication Class报文内容进行了简单的描述。
相关资料为《Remote NDIS Specification, V1.1》August 9, 2002。
其报头格式如表1所示。
表1 Remote-NDIS 报头
其报文示例如图1所示。红色标记部分为其包头部分,余下为MAC包。
图1 RNDIS示例报文
利用wireshark,分析其MAC包,如图2所示。
由此可知,该包为IPv4,UDP。
图2 MAC包示例
2. ECM
相关资料为《Universal Serial Bus Communications Class Subclass Specification for
Ethernet Control Model Devices, v1.2》February 9, 2007。目前为MacOS采用。
用Lecroy USB Analyzer抓包的结果看,没有报头,仅是MAC包。
用wireshark分析该包,如图3所示。
图3 ECM报文格式示例
由此可见,该虚拟网卡地址为 0x00:0x0C:0x29:0xA3:0x9B:0x6D。
3. MBIM
相关资料为《Universal Serial Bus Communications Class Subclass Specification for Mobile
Broadband Interface Model, v1.0》November 14, 2011。目前为win8采用。
其报文结构如图4所示。
图4 MBIM报文格式
其中Header具体结构如表2所示。
表2 NTP16结构
其中NDP16具体结构如表3所示。
其中Datagram为IP包内容,其结构如图5所示。
用Busfound抓包,如图6所示。
综上可知,该IP报文为IPv4的IGMP包。
因wireshark无法识别该网口,所以无法使用该工具。
表3 NDP16结构
图5 IP包格式
图6 MBIM报文示例
4. 总结
由上分析可知:
1) RNDIS/ECM数据包均为MAC包,区别在于,RNDIS有报头,而ECM没有。
2) MBIM数据包为为IP包,而且不仅有报头,而且也有“报尾”。
发布评论