笔者这几天在调试基于车载以太网DoIP(ISO13400)的UDS诊断协议,(ISO14229+ISO15765)所有就用wireshark来监控一下报文,看看TCP层、DoIP层和UDS层的数据报文。
wireshark软件 ETH 以太网帧(数据链路层)目标地址和源地址都指的是MAC地址,即物理地址。目标地址:22:34:C0:01:00:01,源地址:E8:6A:64:20:61:3B,报文这里没有给出前导码和校验码
类型一般指IPv4、IPv6、ARP、Vlan
比如 在clinet 广播网关时发送的包(寻找网关,该地址是自己设置的,并不是网关分配的,所以再寻找网关,也挺形象 who and tell),ARP类型,
以一组报文为例:前面划红线的是目标地址+源地址+类型
TCP帧(传输层)
以具体的TCP报文为例:源IP:a9 fe 64 0a (169.254.100.10) 目标IP:a9 fe 64 64(169.254.100.100)
299:SYN Seq = 0,
300:SYN ACK Seq =0,Ack=1
301:ACK Seq = 1,Ack = 1
上面SYN代表建立链接 ACK代表响应包 Ack 代表确认序列号
通信双方的序列号和确认号会互换,并且按照len的数据增加
TCP四次挥手
FIN ACK:FIN 客户端(服务器)发出断开链接, Seq = 1 Ack = 5
ACK:服务器响应 ACK =1 Seq = 5 Ack =2
FIN ACK:FIN 服务器(客户端)发出断开链接,Seq = 5,Ack = 2
ACK:客户端响应 ACK =1 Seq = 2 Ack = 6
DoIP:Diagnostic communication over Internet Protocol,通过以太网的诊断通信,或者叫车载以太网,
诊断数据类的一个报文格式如下:
以具体的报文为例:
UDS(Unified Diagnostic Services)统一诊断服务,UDS 对 DoIP的数据报文格式进行重新定义
以安全访问为例进行介绍:具体报文在下面
请求seed :27 01
响应seed:67 01 XX XX XX XX