没有合适的资源?快使用搜索试试~ 我知道了~
TCP二进制实例分析通信过程和字段含义
需积分: 17 11 下载量 114 浏览量
2015-09-13
00:01:12
上传
评论
收藏 117KB DOCX 举报
温馨提示
试读
29页
这个是http://blog.csdn.net/u010476739/article/details/48403035里对应的文档
资源推荐
资源详情
资源评论
实验场景:自己电脑开启 服务器,主页有一个文件上传的表单,用舍友的电脑访问
并上传一个小文件,抓包到 连接以及上传文件时的数据包进行分析,文件位置:上传
文件分析,用显示过滤器:,一次对显示的报文进行分
析
首先分析 建立连接的三次握手:
1、TCP 连接第一次握手
:
! " #$%&' $( )
* +$$ )$ $,-./0+
12:
, 3 1 / 4 5 6 7 8 - * + & 9
:
:
; ; < :
首先分析一下 7 报文:
在 /=4 位置是标志和片偏移共 3,> 即: 片偏移全为 ,
而低 位的为 : 表示这个 7 数据包不要分片。
在 5 位置是 *:这里 > 即:,在 6 是协议字段这里是 >:表示后面的是
报文
正式分析 报文:
源端口号:> 即:,表示对方浏览器用 端口访问我的服务器
目的端口:> 即:,表示我的 服务器是在用 端口
序号:这个是对方发送同步请求是选用的一个序号,
确认号:由于这是第一次连接请求,所以置空为
分开来说,即:
前 : 表示数据偏移,也就是首部的长度,这里是 ?3,正好是 =3@最后A
的字节数。
往后 : 做保留置空
后面 : 分别来说:
第一个,B05:表示紧急激活后面的紧急指针字段,这里为
第二个,,-:激活确认号字段,因为是第一次请求所以 ,- 置空为
第三个,$6:推送,让收到这个 报文的 处理模块加快上传到应用程
序中,这里为 ,一般都不用
第四个,0$:复位,表示连接出现差错需要重新连接,也用来拒绝非法报文
段或拒绝打开
第五个,$%&:同步,在连接时用来同步序号,这里为 再加上 ,- 为 表示
这是一个 连接请求报文
第六个,47&:终止,用来释放一个连接,表示发送方的数据已经发送完毕,
并要求释放链接,这里为
; ;
窗口:表示自己能接受的 控制窗口,这里 >; ; 即:3,表示自己能接受的
发送窗口值为 3,自己的缓存够用
<
检验和:检验包括首部和数据部分,略。
紧急指针:本报文段中的紧急数据的字节数,这里为 ,暂且认为表示的是紧急数据
的字节数,紧急数据属于 数据字段其后就是普通的数据
向下是可选项:
:
+> CD :
其中:
>:类型,这里表示这个是 +$$ C 设置的选项
>:长度,这里表示这个可选项的长度是 字节
> ::+$$ E2,这里表示 +$$ E2 的值是 ,即这个链接传送的 数据字
段 最 大 字 节 数 是 个 字 节 , 由 此 来 看 分 配 的 很 紧 凑 , F@ 头 AF@7
头A3@+, 帧长度限制A
&GH9IG @&9AJ不知道什么意思
)GK 2D @2I2 : A:不明白什么意思,但是有下面的信息:
>:-D )GK $2 @A
>:*D
>:$L GD
&GH9IG @&9AJ不知道什么意思
&GH9IG @&9AJ不知道什么意思
$,- " 9IGD
其中:
>:-D $,- G @A
>:*D
2、TCP 连接第二次握手
$:
" ! #$%&J ,-' $( ,M
) * +$$ )$ $,-./0+
12:
, 3 1 / 4 5 6 7 8 - * + & 9
:
: :
: :
直接分析 报文:
> ,即:,源端口,是字节 服务器的端口
> ,即:,目的端口,对方浏览器连接视同的端口,和上面的分析对应
:
序号:自己 , 服务器选的序号:
确认序号:确认的对方下次应该发送的字节序号:,是上面的值加
分开来说:>
前 : 位是数据偏移即 报文首部数据长度,这里表示 3
之后 : 保留置空为
后面的 : 分开来说:
第一个:B05,用于激活下面的紧急指针字段,这里没有激活
第二个:,-,表示是确认的报文,激活确认号字段,这里激活
第三个:$6:置空为
第四个:0$,复位,置空为
第五个:$%&,同步 $%&,这里为 结合 ,-,表示这是一个对同步求组确认的报
文
第六个:47&,这里为
窗口大小:这里表示对方可用的发送端口是 3,可见服务器这边的窗口和客户端
的窗口值不一样啊
:
校验和:略
紧急指针:置空为
下面是可选项:
:
+$$ 选项: +> CD :
其中:
>:-D +$$ C @A
>:*D
> ::+$$ E2D
&GH9IG @&9A
)GK 2D @2I2 : A
&GH9IG @&9A
&GH9IG @&9A
$,- " 9IGD
3、TCP 连接第三次握手
$:
! " #,-' $( ,M
) *
12:
, 3 1 / 4 5 6 7 8 - * + & 9
:
: :
:
先分析 7 包,首部 / 部分中又包含报文段不能分片的选项,与前面两个一样
分析 段:
源端口号:即 ,对方浏览器 的端口号
目的端口号:即 ,, 的 端口号
序号:这里是 和前一个报文的确认号是一样的
:
确认号:这里是 ,是上一个序号的值加
要分开来说:即:
其中前 : 位是: 表示首部数据长度是 3,终于是标准的长度了
向后 : 保留置空为
后面六个:
第一个:,B05:表示不激活后面的紧急指针字段
第二个:,,-:表示确认激活确认号字段
第三个:,$6:表示不推送
第四个:,0$:表示不复位
第五个:,$%&:表示不是同步请求或者同步确认,结合 ,- 表示这是一个
确认报文
第六个:,47&:表示这不是一个结束相关报文
窗口大小:这里是 > 即:,表示自己@浏览器A可以接受的窗口值是 ,很
奇怪第一次的同步请求的时候还说自己 >; ; 窗口值呢,怎么现在又突然少了,纳闷!
:
校验和:略
紧急指针:置空为
由于报文总长度未达到 +, 帧的最小长度 字节故填充这八个字节为
4、下面是 HTTP 请求:
$:
6 5/ N 6N
12:
, 3 1 / 4 5 6 7 8 - * + & 9
:
: :
<
<
<
< < :
<
<
< <
: <
: :
: <
<
<
< <
:
首先来分析 7 部分:在首部依然有指示本 7 报不能分片
分析 部分:
源端口号:
剩余28页未读,继续阅读
资源评论
jackletter
- 粉丝: 519
- 资源: 79
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功