SYN-flood攻击
2024-08-25 19:56:56
原理:当TCP三次握手进行第一次握手时,客户端向服务端发送SYN请求报文,第二次握手服务端会返回一个SYN+ACK的一个确认报文,syn-flood攻击就发生在第三次握手,当客户端不去回应服务端的SYN+ACK报文时,此时TCP是处于半开放状态的,如果此时客户端一直给服务端发送SYN请求报文,却不去回应服务端发来的SYN+ACK报文,这将会占用服务端所有系统资源,使其不能接收其他任何请求。如下图:
检测攻击:查看TCP连接状态是否有异常连接状态,
防御:
1)使用SYNCookie防火墙
syn cookie:当客户端给服务端发送SYN报文时,服务端会返回一个SYN+ACK ,但是这个ACK是由源地址,端口源次序,目标地址,目标端口以及一个加密种子计算而得出的一个ACK,服务端发送完SYN+ACK确认报文时,就会释放所有状态,这样就不用占用系统资源了,当客户端发送ACK报文给服务端时,服务端会重新计算这个ACK,判断它是不是上个SYN+ACK的返回包。
syn cookie防火墙:syncookie防火墙充当了一个中间人的角色,当客户端发送syn请求时,syncookie防火墙就是服务端,给客户端发送syn+ack确认报文,如果防火墙收到了syn+ack的返回包,它就会再次充当客户端的角色,给服务端发送syn请求报文,建立三次握手。如果两边都成功了,防火墙就会转发两边的数据,让客户端和服务端建立三次握手。
2)加固TCP/IP协议栈防范
最新文章
- css3 自定义字体 @font-face
- python基础学习笔记2
- java 字符串判断是否相等
- java mail使用qq邮箱发邮件的配置方法
- maven2 配置M2_REPO
- mysql 线程级别的缓冲区
- 【C#学习笔记】指针使用
- Android 指定日期时间执行任务的Timer
- AIX和Linux中wtmp的不同处理方式
- AE缺失Form Trapcode Form
- 关于Cocos2d-x-3.16的开发环境搭建
- [DLX精确覆盖] hdu 1603 A Puzzling Problem
- 浅谈如何避免内存泄漏(out of memory)
- LeetCode--027--移除元素
- 20170727xlVBA根据总名单和模板生成多页名单
- win7 配置微软的深度学习caffe
- Codeforces Round #358 (Div. 2) C. Alyona and the Tree 水题
- 自用封装javascript函数
- vue-cli脚手架之其他文件解释
- 【QQ输入法】QQ输入法-剪切板 释放内存
热门文章
- Python使用DDA算法和中点Bresenham算法画直线
- forms-隐藏处理
- python多线程不能利用多核cpu,但有时候多线程确实比单线程快。
- 编译jmeter5.0源码
- kubernetes(k8s) helm安装kafka、zookeeper
- jdbc之工具类DBUtil的使用
- 【双目备课】《学习OpenCV第18章》相机模型与标定整编
- 【读书笔记】使用JMeter创建数据库(Mysql)测试
- MemoryStream请求与接收
- vue安装之后的报错处理---chromedriver@2.35.0 install: `node install.js`