三次握手,四次挥手基本概念及其抓包演示

目录

1.tcp三次握手

2.tcp四次挥手

3.思考问题(面试常考)

3.1 三次握手时可能出现什么攻击?

3.2 为什么是三次握手,可不可以是两次,为什么?

​编辑3.3 四次挥手的过程可以用三次完成吗?

4.抓包演示三次握手四次挥手


1.tcp三次握手

tcp协议特点:面向连接的,可靠的,流式服务,

udp协议特点:无连接的,不可靠的,数据报服务

TCP协议提供的是:面向连接的,可靠的,字节流服务.使用TCP协议通信的双方必须先建立连接,才能开始数据的读写.双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输.TCP连接是全双工的,双方的数据可以通过一个连接进行读写,完成数据交换之后,通信双方都必须断开连接以释放系统资源.

三次握手发生在发起链接 connect 的时候:

tcp协议报头:

6位标志位包含如下几项:
URG标志:表示紧急指针(urgent pointer)是否有效,

ACK标志:表示确认号是否有效.我们称携带ACK标志的TCP报文段为确认报文段

PSH标志:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间(如果应用程序不将接收到的数据读走,它们就会一直停留在TCP接收缓冲区中).

RST标志:表示要求对方重新建立连接,我们称携带RST标志的TCP报文段为复位报文段

SYN标志:表示请求建立一个连接.我门称携带SYN标志的TCP报文段为同步报文段

FIN标志:表示通知对方本端要关闭连接了.我们称携带FIN标志的TCP报文段为结束报文段

2.tcp四次挥手

什么时候开始挥手?服务器或者客户端执行close的时候;

刚好被动断开方收到要关闭的报文的时候也执行了close;也就是双方同时close,那么此时四次挥手也就演变为了三次挥手.否则,一定是需要四次挥手的.

3.思考问题(面试常考)

3.1 三次握手时可能出现什么攻击?

1.SYN洪泛攻击(SYN Flood Attack)客户端不断向服务器端发送连接请求,而不执行三次握手的第三步操作,就是只完成了三次握手的前两步操作,存在大量的半开连接,消耗服务器的连接资源。

防御:服务器端在分配资源时检查一下客户端是否是合法用户

2.DDOS攻击(分布式拒绝服务)

随着技术的进步,服务器端分配资源的时候会判断是否合法,以防止洪泛攻击,DDOS攻击是伪造合法用户。

3.2 为什么是三次握手,可不可以是两次,为什么?

不可以,原因1:因为容易受到攻击,参考第一问;如果不考虑攻击的话,原因:为了防止已经失效的连接请求报文段突然又传到了服务器端,具体如下:


3.3 四次挥手的过程可以用三次完成吗?

可以,第二步和第三步合在一起(没有时间差)。刚好被动断开方收到要关闭的报文的时候也执行了close;也就是双方同时close,那么此时四次挥手也就演变为了三次挥手.否则,一定是需要四次挥手的.

4.挥手时,可能受到什么攻击?

第三步容易受到攻击,第三步发FIN的时候,是被动断开,主动断开方最先发送结束报文想要断开链接,发送后主动方进入到TIME_WAIT状态(持续大概两分钟),在此期间,被动方不同意断开连接,不停的发FIN。主动方就认为,被动方没有收到ACK,这个连接就一直存在,无法断开。但是这种情况需要封装底层报文,一般不会这么做,除非是专门做攻击。

4.抓包演示三次握手四次挥手

使用tcpdump可以抓包观察TCP连接的建立与关闭.该命令需要管理员权限,格式如下:

(假设两个测试用的主机IP地址为192.168.6.104和192.168.6.146)

sudo tcpdump -i ens33 -nt '(src 192.168.6.104 and dst 192.168.6.146) or (src 192.168.6.146 and dst 192.168.6.104 )'

ens33表示是虚拟机 

注意:这里如果是用回环地址测试,可以这样写:sudo tcpdump -i lo

三次握手抓包过程:

四次挥手抓包过程:

抓包数据的Flag含义:

S:SYN;同步;表示开始会话请求

F:FIN ;结束; 结束会话

R:RST;复位;中断一个连接

P:PUSH;推送: 数据包立即发送

U:URG;紧急

E:ECE;显式拥塞提醒回应

W:CWR;拥塞窗口减少

. :没有Flag(除上面四种类型外的其他情况,有可能是 ACK 也有可能是 URG)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】一文详细介绍 plt.rcParamsDefault 在 Matplotlib 中的原理、作用、注意事项

【Python】一文详细介绍 plt.rcParamsDefault 在 Matplotlib 中的原理、作用、注意事项 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程…

OpenCV-环境搭建及基本IO接口

文章目录 使用conda安装OpenCV开发环境所有相关接口验证demo以上传至仓库窗口相关接口创建窗口:cv2.namedWindow调整窗口大小:cv2.resizeWindow显示图像:cv2.imshow等待输入:cv2.waitKey销毁所有窗口:cv2.destroyAllWi…

Linux第12章 - 网络管理

Linux系统配置及服务管理_第12章 网络管理 简介 Linux网络接口名称规则 Network interface names Traditionally, network interfaces in Linux are enumerated as eth0, eth1, eth2, and so on. However, the mechanism which sets these names can cause changes to which in…

【Android KOOM】KOOM Java层泄漏使用全解析

文章目录 前言初始化OOMMonitormake leak日志查看&堆快照输出源码分析篇 前言 要研究内存泄漏框架,KOOM是个不可忽略的优秀开源框架,由快手开源。这将是一个系列的文章。这篇文章作为开篇,来看看KOOM框架的demo是怎么制造Java层面的leak…

C++的类与对象(三):构造函数、析构函数、对象的销毁顺序

目录 类的6个默认成员函数 构造函数 语法 特性 析构函数 特性 对象的销毁顺序​​​​​​​​​​​​​​ 类的6个默认成员函数 问题:一个什么成员都没的类叫做空类,空类中真的什么都没有吗? 基本概念:任何类在什么都不…

软考73-上午题-【面向对象技术2-UML】-UML中的图4

一、构件图(组件图) 1-1、构件图的定义 展现了,一组构件之间的组织和依赖。 构件图专注于系统的静态实现图。 构件图与类图相关,通常把构件映射为一个、多个类、接口、协作。 【回顾】: 类图展示了一组对象、接口、…

题目 2146: 组合的输出

题目描述: 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。 现要求你用递归的方法输出所有组合。 例如n&…

SpringCloud-SpringBoot读取Nacos上的配置文件

在 Spring Boot 应用程序中,可以使用 Spring Cloud Nacos 来实现从 Nacos 服务注册中心和配置中心读取配置信息。以下是如何在 Spring Boot 中读取 Nacos 上的配置文件的步骤: 1. 引入依赖 首先,在 Spring Boot 项目的 pom.xml 文件中添加 …

深入探索Java设计模式:责任链模式解析与实践

目录 一、责任链模式的基础知识1. 模式结构2. 模式示例 二、责任链模式的实际应用1. 请求处理链2. 日志记录器 三、责任链模式的重要性和使用场景结语 欢迎阅读本篇博客,我们将深入探讨Java设计模式中的责任链模式,帮助初学者、初中级程序员和在校大学生…

Android Kotlin知识汇总(一)编程语言

在 2019 年 Google I/O 大会上宣布今后将优先采用 Kotlin 进行 Android 开发。Kotlin 是一种富有表现力且简洁的编程语言,不仅可以减少常见代码错误,还可以轻松集成到现有应用中。如果您想构建 Android 应用,建议您从 Kotlin 开始着手&#x…

分享axios+signalr简单封装示例

Ajax Axios Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 从浏览器创建 XMLHttpReque…

MySQL-QA-异常问题及解决方案(持续更新)

MySQL-Q&A(持续更新) 1.1 PID文件找不到 问题描述 错误详情: ERROR!The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid) 解决方案 首先排查配置文件,一般路径为:/etc/my.cnf 检查…

Python 利用Pydantic模块提升开发效率

文章目录 Pydantic 核心概念pydantic 核心功能BaseModel 模型Field 类Config 类基础类型验证必填字段验证长度验证大小验证枚举值验证容器验证自定义验证器嵌套模型JSON 数据导入ORM 数据导入总结 Pydantic 核心概念 Pydantic 是一个数据验证和设置管理库,它的核心概…

D2力扣滑动窗口系列

滑动窗口算法(Sliding Window): 滑动窗口算法(Sliding Window):在给定数组 / 字符串上维护一个固定长度或不定长度的窗口。可以对窗口进行滑动操作、缩放操作,以及维护最优解操作。 滑动操作&am…

【Ubuntu】gonme桌面的 gdm 和 lightdm 区别

总结:都可以 gdm: 【Gnome Display Manager】 完整,体积大 lightdm: 【Light Display Manager】 轻量

甜甜圈和贪吃蛇的后续

代码复现-项目复现 代码复现 云课五分钟-02第一个代码复现-终端甜甜圈C-CSDN博客 项目复现 云课五分钟-03第一个开源游戏复现-贪吃蛇-CSDN博客 不同的地图 加入班级和标识 循序渐进 这些案例都是来源网络,只是方便熟悉一下云课使用过程。 此部分学生掌握情况非…

OpenCV 图像的几何变换

一、图像缩放 1.API cv2.resize(src, dsize, fx0,fy0,interpolation cv2.INTER_LINEAR) 参数: ①src :输入图像 ②dsize:绝对尺寸 ③fx,fy:相对尺寸 ④interpolation:插值方法 2.代码演示 import cv2 …

携手亚信安慧AntDB,在数智化浪潮中乘风破浪

随着大数据时代的到来,对数据库的需求愈发强烈。在这一背景下,国产数据库逐渐崭露头角,亚信安慧AntDB作为重要的代表产品之一正积极参与到激烈的市场竞争中。亚信安慧AntDB不仅追求技术的革新和突破,同时也致力于满足用户日益增长…

AVCE - AV Evasion Craft Online 更新 8 种加载方式 - 过 WD 等

免责声明:本工具仅供安全研究和教学目的使用,用户须自行承担因使用该工具而引起的一切法律及相关责任。作者概不对任何法律责任承担责任,且保留随时中止、修改或终止本工具的权利。使用者应当遵循当地法律法规,并理解并同意本声明…

2023年中国高校大数据挑战赛D题参考论文发布(全网首发)

腾讯文档】2023年大数据挑战赛资料说明 https://docs.qq.com/doc/DSEpWUVFySm1ObFB0 基于数据分析的行业职业技术培训能力评价 摘要 中国是制造业大国,产业门类齐全,每年需要培养大量的技能娴熟的技术工人进入工厂。本文将基于题目给出的数据&#x…