本文主要是介绍tcp三次握手和tcp四次挥手测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TCP 上次握手
一、第一次握手
/**********************第一次握手***************************************/
clientA -----------> server B
0000 cb 2d 23 2d 70 b1 31 4f 00 00 00 00 80 02 20 00
0010 2a 29 00 00 02 04 05 b4 01 03 03 02 01 01 04 02
/************************************************************************/
src 192.168.9.160 port 52013 -----> dst 192.168.9.161 port 9005
src port 52013 16bit :cb 2d
dst port 9005 16bit :23 2d
---------------------------------------------1 32bit
Seq序号 32bit :70 b1 31 4f --->0
---------------------------------------------2 32bit
ack序号 32bit :00 00 00 00 --->0
---------------------------------------------3 32bit
80 02
1000 0000 0000 0010
手部长度 4bit 1000 8个 32bit
保留 6bit 000000
标志位 6bit 000010 URG、ACK、PSH、RST、SYN、FIN SYN=1
16位窗口大小:16bit :20 00
---------------------------------------------4 32bit
16位校验和 16bit :2a 29
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
选项 12 bytes
02 04 05 b4
---------------------------------------------6 32bi
01 03 03 02
---------------------------------------------7 32bi
01 01 04 02
---------------------------------------------8 32bi
数据 NULL
二、第二次握手
/***************************第二次握手************************************/
server B -----------> client A
0000 23 2d cb 2d 20 b6 0a d9 70 b1 31 50 80 12 72 10
0010 ac 73 00 00 02 04 05 b4 01 01 04 02 01 03 03 07
/************************************************************************/
src 192.168.9.161 port 9005 -----> dst 192.168.9.160 port 52013
src port 9005 16bit :23 2d
dst port 52013 16bit :cb 2d
---------------------------------------------1 32bit
Seq序号 32bit :20 b6 0a d9 --->0
---------------------------------------------2 32bit
ack序号 32bit :70 b1 31 50 --->1
---------------------------------------------3 32bit
80 12
1000 0000 0001 0010
手部长度 4bit 1000 8个 32bit
保留 6bit 000000
标志位 6bit 010010 URG、ACK、PSH、RST、SYN、FIN ACK=1 SYN=1
16位窗口大小:16bit :72 10
---------------------------------------------4 32bit
16位校验和 16bit :ac 73
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
选项 12 bytes
02 04 05 b4
---------------------------------------------6 32bi
01 01 04 02
---------------------------------------------7 32bi
01 03 03 07
---------------------------------------------8 32bi
数据 NULL
三、第三次握手
/***********************第三次握手 ***************************************/
client A -----------> server B
0000 cb 2d 23 2d 70 b1 31 50 20 b6 0a da 50 10 40 29
0010 1f 2d 00 00
/************************************************************************/
src 192.168.9.160 port 52013 -----> dst 192.168.9.161 port 9005
src port 52013 16bit :cb 2d
dst port 9005 16bit :23 2d
---------------------------------------------1 32bit
Seq序号 32bit :70 b1 31 50 --->1
---------------------------------------------2 32bit
ack序号 32bit :20 b6 0a da --->1
---------------------------------------------3 32bit
50 10
0101 0000 0001 0000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010000 URG、ACK、PSH、RST、SYN、FIN ACK=1
16位窗口大小:16bit :40 29
---------------------------------------------4 32bit
16位校验和 16bit :1f 2d
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
四、客户端向服务器发数据
/*******************************发数据 ***********************************/
client A -----------> server B
tcp 头
0000 cb 2d 23 2d 70 b1 31 50 20 b6 0a da 50 18 40 29
0010 db 4d 00 00
data
0000 68 65 6c 6c 6f hello
/************************************************************************/
src 192.168.9.160 port 52013 -----> dst 192.168.9.161 port 9005
src port 52013 16bit :cb 2d
dst port 9005 16bit :23 2d
---------------------------------------------1 32bit
Seq序号 32bit :70 b1 31 50 --->1
---------------------------------------------2 32bit
ack序号 32bit :20 b6 0a da --->1
---------------------------------------------3 32bit
50 18
0101 0000 0001 1000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 011000 URG、ACK、PSH、RST、SYN、FIN ACK=1 PSH=1
16位窗口大小:16bit :40 29
---------------------------------------------4 32bit
16位校验和 16bit :db 4d
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
数据 68 65 6c 6c 6f 5bytes hello
五、服务器向客户端应答
/*******************************应答***********************************/
server B -----------> client A
tcp 头
0000 23 2d cb 2d 20 b6 0a da 70 b1 31 55 50 10 00 e5
0010 5e 6c 00 00
/************************************************************************/
src 192.168.9.161 port 9005 -----> dst 192.168.9.160 port 52013
src port 9005 16bit :23 2d
dst port 52013 16bit :cb 2d
---------------------------------------------1 32bit
Seq序号 32bit :20 b6 0a da --->1
---------------------------------------------2 32bit
ack序号 32bit :70 b1 31 55 --->6
---------------------------------------------3 32bit
50 10
0101 0000 0001 0000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010000 URG、ACK、PSH、RST、SYN、FIN ACK=1
16位窗口大小:16bit :00 e5
---------------------------------------------4 32bit
16位校验和 16bit :5e 6c
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
六、服务器向客户端发数据
/*******************************发数据 应答***********************************/
server B -----------> client A
tcp 头
0000 23 2d cb 2d 20 b6 0a da 70 b1 31 55 50 18 00 e5
0010 ee f6 00 00
data
0000 6f 6b ok
/************************************************************************/
src 192.168.9.161 port 9005 -----> dst 192.168.9.160 port 52013
src port 9005 16bit :23 2d
dst port 52013 16bit :cb 2d
---------------------------------------------1 32bit
Seq序号 32bit :20 b6 0a da --->1
---------------------------------------------2 32bit
ack序号 32bit :70 b1 31 55 --->6
---------------------------------------------3 32bit
50 18
0101 0000 0001 1000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 011000 URG、ACK、PSH、RST、SYN、FIN ACK=1 PSH=1
16位窗口大小:16bit :00 e5
---------------------------------------------4 32bit
16位校验和 16bit :ee f6
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
data 6f 6b 2 bytes ok
七、客户端应答
/*******************************应答 ***********************************/
client A -----------> server B
tcp 头
0000 cb 2d 23 2d 70 b1 31 55 20 b6 0a dc 50 10 40 28
0010 1f 27 00 00
/************************************************************************/
src 192.168.9.160 port 52013 -----> dst 192.168.9.161 port 9005
src port 52013 16bit :cb 2d
dst port 9005 16bit :23 2d
---------------------------------------------1 32bit
Seq序号 32bit :70 b1 31 55 --->6
---------------------------------------------2 32bit
ack序号 32bit :20 b6 0a dc --->3
---------------------------------------------3 32bit
50 10
0101 0000 0001 0000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010000 URG、ACK、PSH、RST、SYN、FIN ACK=1
16位窗口大小:16bit :40 28
---------------------------------------------4 32bit
16位校验和 16bit :1f 27
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
八、第一次挥手
/*******************************第一次挥手 ***********************************/
client A -----------> server B
tcp 头
0000 cb 2d 23 2d 70 b1 31 55 20 b6 0a dc 50 11 40 28
0010 1f 26 00 00
/************************************************************************/
src 192.168.9.160 port 52013 -----> dst 192.168.9.161 port 9005
src port 52013 16bit :cb 2d
dst port 9005 16bit :23 2d
---------------------------------------------1 32bit
Seq序号 32bit :70 b1 31 55 --->6
---------------------------------------------2 32bit
ack序号 32bit :20 b6 0a dc --->3
---------------------------------------------3 32bit
50 11
0101 0000 0001 0001
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010001 URG、ACK、PSH、RST、SYN、FIN ACK=1 FIN=1
16位窗口大小:16bit :40 28
---------------------------------------------4 32bit
16位校验和 16bit :1f 26
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
九、第二次挥手
/*******************************第二次挥手***********************************/
server B -----------> client A
tcp 头
0000 23 2d cb 2d 20 b6 0a dc 70 b1 31 56 50 10 00 e5
0010 5e 69 00 00
/************************************************************************/
src 192.168.9.161 port 9005 -----> dst 192.168.9.160 port 52013
src port 9005 16bit :23 2d
dst port 52013 16bit :cb 2d
---------------------------------------------1 32bit
Seq序号 32bit :20 b6 0a dc --->3
---------------------------------------------2 32bit
ack序号 32bit :70 b1 31 56 --->7
---------------------------------------------3 32bit
50 10
0101 0000 0001 0000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010000 URG、ACK、PSH、RST、SYN、FIN ACK=1
16位窗口大小:16bit :00 e5
---------------------------------------------4 32bit
16位校验和 16bit :5e 69
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
10、第三次挥手
/*******************************第三次挥手***********************************/
server B -----------> client A
tcp 头
0000 23 2d cb 2d 20 b6 0a dc 70 b1 31 56 50 11 00 e5
0010 5e 68 00 00
/************************************************************************/
src 192.168.9.161 port 9005 -----> dst 192.168.9.160 port 52013
src port 9005 16bit :23 2d
dst port 52013 16bit :cb 2d
---------------------------------------------1 32bit
Seq序号 32bit :20 b6 0a dc --->3
---------------------------------------------2 32bit
ack序号 32bit :70 b1 31 56 --->7
---------------------------------------------3 32bit
50 11
0101 0000 0001 0000
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010001 URG、ACK、PSH、RST、SYN、FIN ACK=1 FIN=1
16位窗口大小:16bit :00 e5
---------------------------------------------4 32bit
16位校验和 16bit :5e 68
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
11、第四次挥手
/*******************************第四次挥手 ***********************************/
client A -----------> server B
tcp 头
0000 cb 2d 23 2d 70 b1 31 56 20 b6 0a dd 50 10 40 28
0010 1f 25 00 00
/************************************************************************/
src 192.168.9.160 port 52013 -----> dst 192.168.9.161 port 9005
src port 52013 16bit :cb 2d
dst port 9005 16bit :23 2d
---------------------------------------------1 32bit
Seq序号 32bit :70 b1 31 56 --->7
---------------------------------------------2 32bit
ack序号 32bit :20 b6 0a dd --->4
---------------------------------------------3 32bit
50 10
0101 0000 0001 0001
手部长度 4bit 0101 5个 32bit
保留 6bit 000000
标志位 6bit 010000 URG、ACK、PSH、RST、SYN、FIN ACK=1
16位窗口大小:16bit :40 28
---------------------------------------------4 32bit
16位校验和 16bit :1f 25
16位紧急指针 16bit :00 00
---------------------------------------------5 32bi
这篇关于tcp三次握手和tcp四次挥手测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!