使用 wireshark 软件对协议进行还原

需要一些计算机网络的基础,还是比较容易分析的

实验基本信息:

实验环境:Windows10 x64 , WireShark3.6.2
先进行抓包,抓包过程在此不赘述,参考链接:

(1) TCP协议分析

wireshark报告分析 wireshark结果分析_wireshark报告分析

源IP: 172.20.120.252

目的IP:167.71.198.221

源端口:59267

目的端口:443(https默认端口)

源MAC:dc:71:96:5e:8a:e4

目的MAC:44:ec:ce:d2:ff:c3

一共四层:

层名

作用

Frame:物理层

数据包概述

Ethernet:链路层

双方的mac地址

Internet Protocol:网络层

双方的IP地址

Transmission Control Protocol:传输层

TCP/UDP层,双方的端口

以太网帧结构:

wireshark报告分析 wireshark结果分析_wireshark_02

链路层抓包(以太网头部):

其中,目的MAC(44:ec:ce:d2:ff:c3)六字节,源MAC(dc:71:96:5e:8a:e4)六字节,类型(0x0800)两字节,0x0800 表示 IPv4 协议

wireshark报告分析 wireshark结果分析_wireshark_03

我们可以得到应该以IPv4的格式分析下面的数据

Ipv4数据报格式:

wireshark报告分析 wireshark结果分析_wireshark_04

网络层抓包(IP数据头部):

结构名称

解释

在实例中的体现

IP版本,首部长度

版本为4,头部长度为20字节(以4字节为一单位,故写5)

0x45

区分服务

默认为0x00

0x00

总长度

总长度为52

0x0034

Id

50972

0xc71c

三个标志位3bits+片位移13bits

其中不得分片有效

0x40

生存时间TTL

128

0x80

上层协议

6代表tcp协议

0x06

首部校验和

在此失效

0x0000

源IP

172.20.120.252

0xac1478fc

目的IP

167.71.198.221

0xa74c6dd

wireshark报告分析 wireshark结果分析_IP_05

下面分析TCP报文段结构:

wireshark报告分析 wireshark结果分析_wireshark_06

传输层抓包(TCP报文头部):

结构名称

解释

在实例中的体现

源端口

59267

0xe783

目的端口

443(https默认端口)

0x01bb

序列号

436007830

0x19fcf396

确认号

0

0x00000000

TCP首部长度

二进制1000

0x80

首部长度+保留+八个标志位(图中只有六个标志位)

------

0x8002

窗口大小

64240

0xfaf0

检验和

0x935c

0x935c

紧急指针

0

0x0000

选项

------

0x020405b40103030801010402

wireshark报告分析 wireshark结果分析_tcp/ip_07

到此,TCP头部结束

(2) UDP协议分析

随机抓取一个UDP包,物理层、链路层、网络层基本不变,除了蓝框里由TCP(06)变成了UDP(17)

wireshark报告分析 wireshark结果分析_IP_08

下面分析不同的传输层

UDP报文段结构:

wireshark报告分析 wireshark结果分析_udp_09

结构名称

解释

在实例中的体现

源端口

8000

0x1f40

目的端口

4016

0x0fb0

长度

311

0x0137

校验和

----

0x5f05

wireshark报告分析 wireshark结果分析_IP_10

后面全都是数据:

wireshark报告分析 wireshark结果分析_tcp/ip_11