网络抓包网址:www.study.huatec.com服务器
图中数据包为HTTP协议的封装包,则它的封装包信息有:网络
Frame 88(序号):物理层的数据帧帧信息spa
Ethernet Ⅱ :数据链路层的以太网信息3d
Internet Protocol Version 4 :网络层IP数据包信息指针
Transmission Control Protocol :传输层TCP信息blog
Hypertext Transfer Prontocol :应用层HTTP信息ci
一、分析传输层协议(TCP、UDP)的报文格式,TCP协议的链接管理。路由
过滤器中输入表达式:http contains study.huatec.com 获得此网址的HTTP协议信息get
TCP报文信息:位于transmission control protocolcmd
(图为HTTP数据包中的TCP报文信息)
TCP报文格式:
16位源端口号(57987) |
目的端口(80) |
|||
|
||||
|
||||
首部 |
保留 |
标志位 |
窗口大小(1023) |
|
|
16位紧急指针 |
|||
选项 |
||||
数据 |
确认号:是上次成功接收到数据的顺序号加1 ,此确认号的二进制数据为:0x21325384
首部:指出TCP首部共有多少个4字节,长度在20-60之间,此报文首部共20个字节。
窗口大小:让对方设置窗口大小,此报文中Window size=1023,表示一次能够发送1023个字节的数据,窗口其实是一种流量控制的机制。
校验和:检验的范围包括首部和数据,用于检验TCP报头部分和数据部分的正确性。
标识字段:用于汇报此报文的属性,是否为优先报文,字段是否有效等。
紧急指针:指出报文段中紧急数据共有多少字节,紧急数据放在最前面。此报文紧急指针值为0,即无紧急数据。
UDP报文信息:
筛选出UDP报文,本次抓包中无UDP协议,DNS协议运行在UDP协议上,属于传输层协议
UDP报文格式:
16位源端口(62906) |
16位目的端口(53) |
16位UDP长度(42) |
16位UDP校验和 |
数据 |
TCP三次握手:
①:客户端->服务器:SYN=1,seq=x(请求);
②:服务器->客户端:SYN=1,seq=y(请求),ACK=1,ack=x+1(确认上一个数据);
③:客户端->服务器:ACK=1,seq=x+1(客户端的第二次请求),ack=y+1(确认服务器发来的数据);
41,45,47数据包便是TCP的三次握手过程,Info以下:
①41 57986(客户端) -> 80(服务器)Seq=0 【第一次握手:标志位为SYN,序号为0】
②45 80(服务器)-> 57986(客户端) Seq=0 ACK=1【第二次握手:标志位为ACK,SYN,序号为0】
③47 57986(客户端) -> 80(服务器)Seq=1 ACK=1【第三次握手:标志位为ACK,序号为1】
三次握手后创建HTTP:
二、分析网络层协议的报文格式,IP、ICMP的报文格式
IP报文:
版本号 |
头部长度 |
8位服务类型 |
16位总长度 |
|
|
标志 |
13位片偏移 |
||
8位生存时间 |
8位协议 |
16位头部校验和 |
||
32位源IP地址 |
||||
32位目的IP地址 |
||||
IP选项 |
||||
数据 |
16位总长度:因为该字段长为16比特,因此IP数据报最长为65535字节。此报文长度为536。
16位标识字段:惟一标识每一份数据包,每发一份报文它的值加1,IP把MTU与数据包的长度进行比较,若须要则进行分片。
标志: DF(don’t fragment)表示能够分片
MF(more fragment)表示set标识还有分片
13位片偏移:指该片偏移原始数据包开始的位置。此包片偏移为0。
生存时间:设置了数据报能够通过的最多路由器数量。此报生存时间为128。
协议字段:1--ICMP 2--IGMP 6--TCP 17--UDP
ICMP报文获取:
使用tracert跟踪路由命令,肯定IP数据包访问目标所采起的路径
在cmd命令提示符中输入:tracret study.huatec.com
在wireshark中进行捕获
ICMP报文:
类型 |
代码 |
校验和 |
(这四个字节取决于ICMP报文的类型) |
||
ICMP的数据部分(长度取决于类型) |
三、分析数据链路层的帧格式
标志字段 F |
地址字段 A |
控制字段 C |
信息字段 INFO |
帧校验序列FCS |
标志字段 F |
源地址:00:0a:1a:15:39:2a ;目的地址:70:f9:6d:47:d9:00 ;类型:0×0800