TCP通信调试助手===wireshark使用
笔者这几天在调试基于车载以太网DoIP(ISO13400)的UDS诊断协议,(ISO14229+ISO15765)所以就用wireshark来监控一下报文,看看TCP层、DoIP层和UDS层的数据报文。
wireshark软件
- 选择指定端口进行报文监控
- 以太网数据和报文解析(双击进行去可以查看具体报文解析)
- 错误帧类型:
- [TCP Previous segment not captured] :该帧TCP报文之前的报文未收到
- [TCP Out-Of-Order]:TCP包乱序
- [TCP dup ack XXX#X]:重新传某一个包
- [TCP Fast Retransmission]:快速重传
- [TCP Retransmission]:重传
ETH 以太网帧(数据链路层)
- 类型一般指IPv4、IPv6、ARP、Vlan
比如 在clinet 广播网关时发送的包(寻找网关,该地址是自己设置的,并不是网关分配的,所以再寻找网关,也挺形象 who and tell),ARP类型,
IP帧(网络层)
以一组报文为例:前面划红线的是目标地址+源地址+类型
- 45:4为IPv4,5指的IP头部共20字节,即(5)*4字节。
- 00:服务类型
- 00 2A:总共42字节,IP头部+TCP头部 ETH(14)+IP(20)+ICMP(22) = 16*3+8 = 56 56-14 =42
- 10 5D:标识
- 40 00:标志和分片偏移,标志:保留/是否分片/最后一片,各占一位 ,后面是分片之后相对于原始数据的偏移,以8字节为一个单位
- 05:生存期,TTL,最多可以经过的路由数
- 01:协议,TCP(0x06)、UDP(0x11)还是ICMP(0x01),
- E2 17 :校验数,校验方法为何校验,以16位位一组进行累加,最后取反,注意:超过16位的需要重新再组合相加,校验的两位按0x00处理,0x4500+0x2A+0x105D+0x4000+0x0501+0xC0A8+0x0106+0xC0A8+0x0108 = 0x21DE6,然后0x1DE6+0x02 = 0x1DE8,取反之后为0xE217,所以校验位0xE217
- C0 A8 01 06 :192.168.1.6 C0 A8 01 08:192.168.1.8
TCP帧(传输层)
以具体的TCP报文为例:源IP:a9 fe 64 0a (169.254.100.10) 目标IP:a9 fe 64 64(169.254.100.100)
- d0 e6:53478
- 34 58:13400
- eb bd ca ae :序列号 可以确认
- 02 d1 83 1a:确认号
- 50:5代表头部字节数,单位是4字节,5*4 = 20字节
- 18:1保留 8代表PSH,通信过程中,提示接收端把缓存区数据读走,SYN,建立链接,FIN:断开链接 ACK:响应包,确认序列号正常,RST:重新链接
- fa fd:窗口大小
- d1 53:TCP校验和,与IP计算方法一样
- 00 00:紧急指针
TCP三次握手
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帧(应用层)
DoIP:Diagnostic communication over Internet Protocol,通过以太网的诊断通信,或者叫车载以太网,
诊断数据类的一个报文格式如下:
以具体的报文为例:
- 02:协议版本
- fd:协议版本反码
- 80 02:诊断肯定响应类型 0x0000-0008 节点管理类 0x4000-0x4004 车辆信息类 0x8001-0x8003 诊断类
- 00 00 00 07:数据报文长度(后面的DoIP Payload)
- 00 09:源地址 (应用层通信双方设备的地址)
- 0e 80:目标地址
- 00:ACK Code,响应码
- 85 02:UDS报文
UDS帧(应用层,DoIP上层)
UDS(Unified Diagnostic Services)统一诊断服务,UDS 对 DoIP的数据报文格式进行重新定义
以安全访问为例进行介绍:具体报文在下面
请求seed :27 01
响应seed:67 01 XX XX XX XX
发送请求
相应数据
版权声明:
作者:ZhangYixi
链接:http://zyixi.xyz/tcp%e9%80%9a%e4%bf%a1%e8%b0%83%e8%af%95%e5%8a%a9%e6%89%8bwireshark%e4%bd%bf%e7%94%a8/
来源:一西站点
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论