IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> accept函数与syn攻击 -> 正文阅读

[网络协议]accept函数与syn攻击

一:accept函数
accept函数用于从已完成连接队列中的队首(队头)位置取出-项’返回给进程(服务器程序),如果已完成连接队列是空的,accept函数调用就会卡在这里等待(休眠)直到已完成连接队列中有一项内容时才会被唤醒。
所以正常编写程序时,需要尽快调用accept把已完成连接队列中的项取走。另外,也应该很清楚的是,accept返回的是-个套接字(socket)’该套接字代表已经用
三次握手建立起来的TCP连接(因为accept是从巳完成连接队列中取到的连接项)

换句话说’服务器程序必须严格区分2个套接字
(1)监听9000端口的套接字叫监听套接字,只要服务器程序在’该套接字就应该一直存在,目的是随时准备接受(监听到)客户端的连接.
(2)当有客户端连接’操作系统会为每个成功完成三次握手的客户再创建一个套接字(当然是—个已连接套接字)’这个套接字其实就是accept返回的套接字也
就是从已完成连接队列中取得的一项。随后服务器用accept返回的套接字和客户端进行通信。

思考如下说法:
1)如果已完成连接队列和未完成连接队列之和达到了listen所指定的第2参数,即队列满了,此时客户端再发送来-个SYN连接请求’服务器端会怎样反应呢?
服务器端会忽略该SYN不给回应,客户端发现SYN没有回应’过一会就会重发这个SYN包重发几次如果都没回应’就认为连接失败(connect失败)
(2)三次握手完成,连接放到了已完成连接队列中等着accept函数从已完成连接队列中把连接取走.试想当accept还没来得及取走这个连接的时候’因为三次握手已经建立了,客户端如果此时发送数据过来’该数据就会被保存在已经连接的套接字的接收缓冲区里,该接收缓冲区的大小就是能接受的最大数据量。

二:syn攻击
SYN攻击英文叫作synflood,这是一个很恶心的攻击,也是一些黑客常用的手段之一,是一种典型的利用TCP/IP设计的一些弱点进行攻击的手段。

如果某个恶意的黑客通过一些特殊手段,伪造自己的IP地址和端口(源端口源IP地址全部是伪造的),不停地给服务器发送SYN包(注意,该黑客只给服务器发送SYN包,也就是三次握手中的第1次握手包,不发送的第3个包’即ACK包),就会导致服务器端未完成连接队列中的条目越来越多,当未完成连接队列和已完成连接队列满了’服务器就会忽略后续再发来的SYN包,无法建立正常的TCP连接了,因为正常TCP连接的三次握手的第1次握手包(SYN包)被忽略了,换句话说,合法的用户无法得到服务了,这就是拒绝服务
攻击的一种手段。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 12:24:57  更:2021-08-19 12:27:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:24:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码