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

相关文章

将一维机械振动信号构造为训练集和测试集(Python)

从如下链接中下载轴承数据集。 https://www.sciencedirect.com/science/article/pii/S2352340918314124 import numpy as npimport scipy.io as sioimport matplotlib.pyplot as pltimport statistics as statsimport pandas

编译测试后出现“发现不明确的匹配”错误

原文链接:http://blog.163.com/zhaoyanping_1125/blog/static/201329153201204218533/ 错误提示: 【“/”应用程序中的服务器错误。  分析器错误 说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。  分析器错误信息: 发现不明确的匹配。】   这个问题发生原因一般情况是

RODNet安装测试

项⽬地址: GitHub - yizhou-wang/RODNet: RODNet: Radar object detection network 搭建环境并配置RODNet 1. 参考README.md搭建并配置环境 准备数据集 1. 本实验使⽤ ROD2021 dataset. 百度⽹盘链接:百度网盘 请输入提取码 密码:slxy 2. 使⽤这个script来重新组织文件。 具体形

Mockito测试

Mockito 一 mockito基本概念 Mock测试是单元测试的重要方法之一,而Mockito作为一个流行的Mock框架,简单易学,且有非常简洁的API,测试代码的可读性很高。 Mock测试就是在测试过程中,对于一些不容易构造(如HttpServletRequest必须在Servlet容器中才能构造出来)或者说获取比较复杂的对象(如JDBC中的ResultSet对象)

jmeter测试https请求

公司最近在搞全站HTTPS改造,进一步提高网站的安全性,防止运营商劫持。那么,改造完成后,所有前后端的URL将全部为https。 So ,研究下怎么用Jmeter访问https请求呢。 其实很简单, 第一步在jmeter中创建HTTP请求,如下图进行配置,https端口为443; 第二步,在本机浏览器,如Chrome中导入该域名证书,在更多工具-设置-管理证书的地方,找到该证书,导出到本地。然后在

pytest测试框架flaky插件重试失败用例

Pytest提供了丰富的插件来扩展其功能,本章介绍下插件flaky ,用于在测试用例失败时自动重新运行这些测试用例。与前面文章介绍的插件pytest-rerunfailures功能有些类似,但是功能上不如pytest-rerunfailures插件丰富。 flaky官方并没有明确python和pytest版本限制。 flaky安装 使用pip命令安装: pip install flaky

TCP 可靠传输的工作原理

转载地址:https://my.oschina.net/xinxingegeya/blog/485233 感谢原作者 TCP 可靠传输的工作原理 ARQ(Automatic Repeat-reQuest)(自动重传请求) 停止等待ARQ协议 连续ARQ协议   停止等待ARQ协议 全双工通信的双发既是发送方也是接收方。下面为了讨论问题的方便,我们仅考虑A发送数据而B接受数据

ESP32使用MQTT_TCP连接阿里云

ESP32-IDF中MQTT函数的介绍 esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config) 函数功能:mqtt 客户端初始化 函数形参: mqtt 客户端的配置 函数返回值:正确则返回根据配置创建的 mqtt 客户端句柄;异常则返回 NULL。 其中函数形参 esp_mqtt

Selenium进行Web自动化测试

Selenium进行Web自动化测试 Selenium+Python实现Web自动化测试一、环境配置 Selenium+Python实现Web自动化测试 一、环境配置 环境基于win10(X64) 安装Python;安装PyCham安装chomedriver chomedriver下载地址 可以查看本地chrome软件版本下载对应的chomedriver,如果没有则下载最新

pytorch国内镜像源安装及测试

一、安装命令:  pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple  二、测试: import torchx = torch.rand(5, 3)print(x)