目录
前言
TCP报文段格式![](https://img-blog.csdnimg.cn/direct/fe0d8d539ee0491f8ef838e30a944547.png)
TCP建立连接![](https://img-blog.csdnimg.cn/direct/816b8677dcea46669ca7ecaefcc7d9cb.png)
TCP释放连接![](https://img-blog.csdnimg.cn/direct/355d251d7e6f49b1b88b5c48e16c32f4.png)
2. 访问指定服务器 ,通过Wireshark抓取通信数据报文
实验目的
1) 掌握TCP连接建立的三次握手过程
2) 理解TCP连接释放的四次握手过程
实验原理
TCP协议工作原理
主要设备、器材:
1) 联网计算机
2) 协议分析软件Wireshark
实验步骤
1) 启动WireShark,设置抓包状态
2) 访问指定服务器 ,通过Wireshark抓取通信数据报文
3) 分析TCP连接建立的三次握手和连接释放的四次握手过程
本文提供抓取的数据包,供大家免费下载,分析
原始数据记录
连接建立的三个TCP数据包
本机IP地址:192.168.22.37
本机MAC地址:04-7c-16-5e-9f-26
连接建立的三个TCP数据包(第一个要求写出完整的帧,第二个和第三个只写TCP部分)
连接建立第一次握手数据包:
编号 数据包
0000 04 7c 16 2a a9 c3 04 7c 16 5e 9f 26 08 00 45 02
0010 00 34 72 de 40 00 80 06 00 00 c0 a8 16 25 c0 a8
0020 16 65 c6 be 00 50 f7 32 86 09 00 00 00 00 80 c2
0030 fa f0 ae 01 00 00 02 04 05 b4 01 03 03 08 01 01
0040 04 02
连接建立第二次握手数据包:
编号 数据包
0000 04 7c 16 5e 9f 26 04 7c 16 2a a9 c3 08 00 45 02
0010 00 34 f4 1e 40 00 80 06 58 c8 c0 a8 16 65 c0 a8
0020 16 25 00 50 c6 be eb 48 cb de f7 32 86 0a 80 52
0030 ff ff c5 71 00 00 02 04 05 b4 01 03 03 08 01 01
0040 04 02
连接建立第三次握手数据包:
编号 数据包
0000 04 7c 16 2a a9 c3 04 7c 16 5e 9f 26 08 00 45 00
0010 00 28 72 df 40 00 80 06 00 00 c0 a8 16 25 c0 a8
0020 16 65 c6 be 00 50 f7 32 86 0a eb 48 cb df 50 10
0030 04 02 ad f5 00 00
实验结果与分析:
1)对连接建立的第一个数据包的TCP部分逐字段分析,指出每个字段的值及其表示的意义;对第2个和第3个指出序号、确认号、SYN和ACK的值及其表示的意义。
2)理解TCP连接释放的四次握手的每个数据包。
连接建立第一次握手数据包分析
以太网帧
目的地址: 04 7c 16 2a a9 c3
源地址: 04 7c 16 5e 9f 26
类型:0800 (IPv4)
IP数据报:
45 02 00 34 72 de 40 00 80 06 00 00 c0 a8 16 25
c0 a8 16 65
TCP报文段:
- 源端口:c6 be( 50878 )
- 目的端口:00 50 :80
- 序号:f7 32 86 09
- 确认号:0
- 数据偏移:占四位 8 –> 1000,4*8=32byte
- URG(urgent):0 紧急指针,无紧急数据发送
- ACK(acknowledgment): 0 确认号无效
- PSH(push): 0
- RST(reset): 0 复位
- SYN(synchronization):同步,syn=1,ack=0为连接请求报文段
- FIN(finish): 0
- 窗口: fa f0 (64240) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为 64240byte
- 检验和 :ae 01
- 紧急指针:0
连接建立第二次握手数据包分析
以太网帧
目的地址:04 7c 16 5e 9f 26
源地址: 04 7c 16 2a a9 c3
类型:0800 (IPv4)
IP数据报:
45 02 00 34 f4 1e 40 00 80 06 58 c8 c0 a8 16 65
c0 a8 16 25
TCP报文段:
- 源端口:00 50 :80
- 目的端口:c6 be( 50878 )
- 序号:eb 48 cb de
- 确认号: f7 32 86 0a
- 数据偏移:占四位 8 –> 1000,4*8=32byte
- URG(urgent):0 紧急指针,无紧急数据发送
- ACK(acknowledgment): 1
- PSH(push): 0
- RST(reset): 0 复位
- SYN(synchronization):同步,syn=1,ack=1表是我方同意建立连接
- FIN(finish): 0
- 窗口: ff ff (65535) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为 65535byte
- 检验和 :c5 71
- 紧急指针:0
连接建立第三次握手数据包分析
以太网帧
目的地址: 04 7c 16 2a a9 c3
源地址: 04 7c 16 5e 9f 26
类型:0800 (IPv4)
IP数据报:
45 00 00 28 72 df 40 00 80 06 00 00 c0 a8 16 25
c0 a8 16 65
TCP报文段:
- 源端口:c6 be( 50878 )
- 目的端口:00 50 :80
- 序号:f7 32 86 0a
- 确认号:eb 48 cb df
- 数据偏移:占四位 5 –> 0101
- URG(urgent):0 紧急指针,无紧急数据发送
- ACK(acknowledgment): 1
- PSH(push): 0
- RST(reset): 0 复位
- SYN(synchronization):0
- FIN(finish): 0
- 窗口: 04 02 (1026) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为 1026byte
- 检验和 :ad f5
- 紧急指针:0
释放链接的三个TCP数据包
这是就有小伙伴会问了,怎么只有三个TCP数据包?不是4次分手吗?
其实在实际的环境中,服务器的2次返回合成一个数据包返回了。