tcp三次握手和tcp四次挥手测试

2024-06-07 22:38

本文主要是介绍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四次挥手测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040498

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

可测试,可维护,可移植:上位机软件分层设计的重要性

互联网中,软件工程师岗位会分前端工程师,后端工程师。这是由于互联网软件规模庞大,从业人员众多。前后端分别根据各自需求发展不一样的技术栈。那么上位机软件呢?它规模小,通常一个人就能开发一个项目。它还有必要分前后端吗? 有必要。本文从三个方面论述。分别是可测试,可维护,可移植。 可测试 软件黑盒测试更普遍,但很难覆盖所有应用场景。于是有了接口测试、模块化测试以及单元测试。都是通过降低测试对象