码迷,mamicode.com
首页 > 其他好文 > 详细

抓包分析第八组

时间:2018-11-19 00:28:31      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:.com   mil   font   新建   9.png   分片   复位   固定   进程   

---------------------

 

 

 

 TCP报文格式

技术分享图片

 

解析TCP头部数据20字节固定首部:ec 61 8f 50 06 5c b7 11 00 00 00 00 80 02 ff ff b8 81 8f 50

TCP 报文 =以太网头部(14字节)+IP 头部(20个字节)+TCP 头部(20字节)+TCP数据部分

源端口占2个字节ec 61;0xec61转化为十进制为60513 ;发送tcp包的进程端口为60513

目的端口占2个字节: 8f 500x8f50转化为十进制为36688 ;接受tcp包的进程端口为36688

序号字段占4个字节:06 5c b7 11

确认号字段占4个字节:00 00 00 00

 数据偏移占4bit(位):0x80 转化为2进制为 1000 0000 数据偏移为1000 8;数据偏移的单位为4字节;数据偏移=4*8=32字节

保留字段 6位:0x80 0x020x80的低4位和0x02的高2位;1000 0000 0000 0010绿色的字段表示的保留字段

01 0010 这6位的数据解析:

1位:URG(紧急比特)当 URG =1 时,表明紧急指针字段有效.它告诉系统此报文段中有紧急数

据,应尽快传送 (相当于高优先级的数据 )。

2位:ACK(确认比特)只有当 ACK=1 时确认号字段才有效。当 ACK=0 时,确认号无效。

4位:RST(复位比特) 当 RST =1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他

原因),必须释放连接,然后再重新建立运输连接。

5位:SYN(同步比特)同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。

6位: FIN (终止比特) 用来释放一个连接。 当 FIN=1 时,表明此报文段的发送端的数据已发送完毕,

并要求释放运输连接。

窗口字段占2个字节:0xff 0xff; 0xff转化十进制为 65535;窗口字段是用来控制对方发送的数据

量,单位字节,tcp 连接的一端根据设置的缓存空间大小确定自己的接收窗大小,

然后通知对方以确定对方发送窗口的上限。

检验和占2个字节:检验和字段检验的范围包括 首部 和数据 这两部分。在计算检验和时,要在 TCP报

文段的前面加上 12 字节的伪首部。0xb8 0x81

 紧急指针字段: 占 2个字节 ,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。

0x00,0x00.

选项字段 : 长度可变。 TCP 首部可以有多达 40 字节的可选信息,用于把附加信息传递给终点,或

用来对齐其它选项 , 此报文选项字段占12个字节; 02 04 05 b4 01 03 03 01 01

01 04 02

填充字段 这是为了使tcp整个首部长度是 4 字节的整数倍

 IP头部信息的分析

IP数据包格式

技术分享图片45 00 00 34 29 23 40 00 40 06 00 00 c0 a8 c7 f0 b7 e8 77 d9

版本字段:占4位。0x45;版本字段=4 说明当前的IP协议的版本为4,通常称为IPV4,下一个版本为6

通常称为IPv6;

首部长度:占4位。0x45; IP报文的首部长度=5 单位为4个字节;IP首部字节数=5*4=20个字节;IP

部长度都是4的整数倍

服务类型:占 8 位,服务类型

0 1 2 3 4 5 6 7

优先级:占3位,用于表示数据报文的重要程度,优先级取值0(普通优先级)~7(网络控制高优先级)

DT R 位表示本数据报希望的传输类型。

D 表示低时延( Delay)需求

T 表示高吞吐量( Throughput )要求

R 代表高可靠性( Reliability )要求

总长度字段:占2个字节,因此数据报文的最大长度为2 ^16 -1=65535 字节; 0x00 0x34 表示总长度

(首部与数据之和长度)=0x0034=52字节=IP 首部(20个字节)+TCP首部(20个字

节)+TCP(选项长度12个字节)

片偏移:0x40,0x00(0100 0000 0000 0000)13位,片偏移表示的是:较长的分组在分片后,某片

在原分组中的相对位置。 也就是说, 相对用户数据字段的起点,该片从何处开始。片偏移以

8 个字节为偏移单位。这就是说,每 个分片的长度一定是 8 字节( 64 位)的整数倍。

寿命(生存时间): 8 位 ,0x3d,生存时间字段常用的的英文缩写是 TTL(Time To Live) ,表明是数据报在网络中的寿命。 由发出数据报的源点设置这个字段。 其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。最初的设计是以秒作为 TTL 的单位。每经过一个路由器时,就把 TTL 减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于 1 秒,就把 TTL 值减 1。当 TTL 值为 0 时,就丢弃这个数据报。

协议 8 位,0x06;协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的 IP层知

道应将数据部分上交给哪个处理过程。

首部检验和:2个字节,0x56,0x72;这个字段只检验数据报的首部,但不包括数据部分。这是因为数

据报每经 一个路由器, 路由器都要重新计算一下首部检验和 (一些字段, 如生存时

间、 标志、片 偏移等都可能发生变化) 。不检验数据部分可减少计算的工作量。

源地址: 占 32 位。 c0 a8 c7 f0 =192.168. 199.240

目的地址: 32 位。 b7 e8 77 d9 =183.232.119.217

udp报文格式

技术分享图片

Tcp协议的连接管理

技术分享图片

主机192.168.199.2向主机183.232.119.2发起连接请求

主机183.232.119.2向主机192.168.199.2应答

主机192.168.199.2183.232.119.2应答

第一次握手数据包

客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图

技术分享图片

 

 

第二次握手的数据包

服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图

技术分享图片

 

第三次握手的数据包

客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:

技术分享图片

就这样通过了TCP三次握手,建立了连接

Ip报文格式

类型和首部长度各四位   IP总长度,以太网帧长度92-以太网帧头部14=

技术分享图片技术分享图片

Icmp报文格式

技术分享图片

技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片

 

数据链路层的帧格式

技术分享图片

技术分享图片 

抓包分析第八组

标签:.com   mil   font   新建   9.png   分片   复位   固定   进程   

原文地址:https://www.cnblogs.com/djh123/p/9980758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!