当前位置: 首页 > news >正文

实验名称:TCP 连接管理

目录

前言

TCP报文段格式

TCP建立连接

TCP释放连接

实验目的

实验原理

实验步骤

1. 启动WireShark,设置抓包状态

2. 访问指定服务器 ,通过Wireshark抓取通信数据报文

3. 分析TCP连接建立的三次握手和连接释放的四次握手过程

原始数据记录


实验目的

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报文段:

  1. 源端口:c6 be( 50878 )   
  2. 目的端口:00 50 :80                                 
  3. 序号:f7 32 86 09
  4. 确认号:0
  5. 数据偏移:占四位 8 –> 1000,4*8=32byte
  6. URG(urgent):0 紧急指针,无紧急数据发送  
  7. ACK(acknowledgment): 0 确认号无效
  8. PSH(push):  0
  9. RST(reset): 0 复位
  10. SYN(synchronization):同步,syn=1,ack=0为连接请求报文段
  11. FIN(finish): 0
  12. 窗口: fa f0 (64240) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为   64240byte
  13. 检验和  :ae 01
  14. 紧急指针: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报文段:

  1. 源端口:00 50 :80    
  2. 目的端口:c6 be( 50878 )                              
  3. 序号:eb 48 cb de                                      
  4. 确认号: f7 32 86 0a                                       
  5. 数据偏移:占四位 8 –> 1000,4*8=32byte
  6. URG(urgent):0 紧急指针,无紧急数据发送  
  7. ACK(acknowledgment): 1
  8. PSH(push):  0
  9. RST(reset): 0 复位
  10. SYN(synchronization):同步,syn=1,ack=1表是我方同意建立连接
  11. FIN(finish): 0
  12. 窗口: ff ff (65535) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为   65535byte
  13. 检验和  :c5 71
  14. 紧急指针: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报文段:

  1. 源端口:c6 be( 50878 )   
  2. 目的端口:00 50 :80                                 
  3. 序号:f7 32 86 0a
  4. 确认号:eb 48 cb df                                       
  5. 数据偏移:占四位 5 –> 0101
  6. URG(urgent):0 紧急指针,无紧急数据发送  
  7. ACK(acknowledgment): 1
  8. PSH(push):  0
  9. RST(reset): 0 复位
  10. SYN(synchronization):0
  11. FIN(finish): 0
  12. 窗口: 04 02 (1026) 指发送本报文段的一方接受窗口 ,从确认号0号算起,接收方目前允许我发送的数据量为   1026byte
  13. 检验和  :ad f5
  14. 紧急指针:0  

释放链接的三个TCP数据包

这是就有小伙伴会问了,怎么只有三个TCP数据包?不是4次分手吗?

其实在实际的环境中,服务器的2次返回合成一个数据包返回了。

http://www.lryc.cn/news/348608.html

相关文章:

  • go语言map底层及扩容机制原理详解(上)
  • 互联网职场说 | “领导找我谈话,原来是给我涨薪,但却只涨了200,还偷偷叮嘱我保密,这次只给我涨了薪”
  • Android 如何启用user版本的adb源码分析
  • linux phpstudy 重启命令
  • 台式电脑屏幕亮度怎么调节?让你的眼睛更舒适!
  • 打造安全的 Linux 环境:实用配置指南
  • 神经网络有哪些算法
  • 计算机网络期末试题
  • Unity学习笔记---图层
  • 【简单探索微软Edge】
  • YOLOv5独家改进:backbone改进 | 微软新作StarNet:超强轻量级Backbone | CVPR 2024
  • 概率密度函数pdf的某种解释与洞察
  • 【OceanBase诊断调优】—— 转储错误(错误代码 4138/ORA-01555)
  • Python面试题【数据结构和算法部分101-130】
  • Django中的日志处理
  • FonePaw Data Recovery for Mac:轻松恢复丢失数据
  • C语言易错提醒选择题精选
  • Android11系统去掉截屏功能
  • 测试驱动来学习 Promise
  • Vue3实战笔记(20)—封装头部导航组件
  • Yolov8目标检测——在Android上部署Yolov8 tflite模型
  • (delphi11最新学习资料) Object Pascal 学习笔记---第12章操作类(类方法和类数据)
  • 面向 C# 开发人员的电子邮件转换控件 - EML 到 PNG
  • Vue3:数据交互axios
  • 芯片的性能指什么
  • Java通过百度地图API获取定位-普通IP定位
  • 5月13号作业
  • 【计算机网络】Socket网络编程
  • Ansible自动运维工具之playbook
  • 【启明智显技术分享】SSD201/SSD202D核心板UI界面开发全攻略:LVGL使用指南