1 原理

ACK Flood攻击是在TCP连接建立之后,所有的数据传输TCP报文都是带有ACK标志位的,主机在接收到一个带有ACK标志位的数据包的时候,需要检查该数据包所表示的连接四元组是否存在,如果存在则检查该数据包所表示的状态是否合法,然后再向应用层传递该数据包。如果在检查中发现该数据包不合法,例如该数据包所指向的目的端口在本机并未开放,则主机操作系统协议栈会回应RST包告诉对方此端口不存在。

这里,服务器要做两个动作:查表、回应ACK/RST。这种攻击方式显然没有SYN Flood给服务器带来的冲击大,因此攻击者一定要用大流量ACK小包冲击才会对服务器造成影响。按照我们对TCP协议的理解,随机源IP的ACK小包应该会被Server很快丢弃,因为在服务器的TCP堆栈中没有这些ACK包的状态信息。但是实际上通过测试,发现有一些TCP服务会对ACK Flood比较敏感,比如说JSP Server,在数量并不多的ACK小包的打击下,JSP Server就很难处理正常的连接请求。对于Apache或者IIS来说,10kpps的ACK Flood不构成危胁,但是更高数量的ACK Flood会造成服务器网卡中断频率过高,负载过重而停止响应。可以肯定的是,ACK Flood不但可以危害路由器等网络设备,而且对服务器上的应用有不小的影响。抓包:

如果没有开放端口,服务器将直接丢弃,这将会耗费服务器的CPU资源。如果端口开放,服务器回应RST。

2 ACK Flood防护

利用对称性判断来分析出是否有攻击存在。所谓对称型判断,就是收包异常大于发包,因为攻击者通常会采用大量ACK包,并且为了提高攻击速度,一般采用内容基本一致的小包发送。这可以作为判断是否发生ACK Flood的依据,但是目前已知情况来看,很少有单纯使用ACK Flood攻击,都会和其他攻击方法混合使用,因此,很容易产生误判。

一些防火墙应对的方法是:建立一个hash表,用来存放TCP连接“状态”,相对于主机的TCP stack实现来说,状态检查的过程相对简化。例如,不作sequence number的检查,不作包乱序的处理,只是统计一定时间内是否有ACK包在该“连接”(即四元组)上通过,从而“大致”确定该“连接”是否是“活动的”。

ACK Flood攻击相关推荐

  1. syn flood 攻击 c 语言源代码,利用Python和C实现syn flood攻击

    python  python  python  python  python  python  python  python  python俗话说,知己知彼,百战不殆.学习攻击代码的编写逻辑,反向实现 ...

  2. DDOS SYN Flood攻击、DNS Query Flood, CC攻击简介——ddos攻击打死给钱。限网吧、黄网、博彩,,,好熟悉的感觉有木有...

    摘自:https://zhuanlan.zhihu.com/p/22953451 首先我们说说ddos攻击方式,记住一句话,这是一个世界级的难题并没有解决办法只能缓解 DDoS(Distributed ...

  3. pythonddos防御_浅谈拒绝服务攻击的原理与防御(7):用Python和C实现syn flood攻击...

    01 前言 以前做DDOS的实验都是用python来编写工具的,开始不会编写结构不会算校验和的时候就用scapy写,后来学会了报文结构开始自己构造各种报文,但是用python写成之后虽然是能实现基本功 ...

  4. 浅谈iptables防SYN Flood攻击和CC攻击

    何为syn flood攻击: SYN Flood是一种广为人知的DoS(拒绝服务攻击)是DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻 ...

  5. 重学TCP协议(10)SYN flood 攻击

    1.SYN flood 攻击 SYN Flood(半开放攻击)是一种拒绝服务(DDoS)攻击,其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量.通过重复发送初始连接请求(SYN)数据包,攻 ...

  6. TCP/IP:TCP SYN Flood攻击原理与实现

    目录 三次握手过程 SYN Flood攻击原理 SYN Flood攻击实验 1. 初始化 IP 头部 2. 初始化 TCP 头部 3. 初始化 TCP 伪首部 4. 构建 SYN 包 5. 创建原始套 ...

  7. php攻击方式及防御方法,Syn Flood 攻击 及其一般防御方法

    防火墙通知受到Syn Flood攻击,并解释说: A SYN Flood is an attempt to consume memory and resources. A Normal TCP/IP ...

  8. syn flood攻击原理及防范

    sync攻击原理 DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽攻击和 ...

  9. SYN Flood攻击原理及防御技术

    SYN泛洪一直是互联网上最常见也是最经典的DDoS攻击方式.这种攻击通过向服务器发送大量tcp请求连接报文(源IP一般是离散的),服务器为每一条连接分配资源最终导致内存耗尽而无法为后续的合法请求建立连 ...

最新文章

  1. Nginx + PHP CGI的fix_pathinfo安全漏洞
  2. 准备写一本协议方面的书,谁赞成,谁反对?
  3. 提升逻辑!APP数据可视化界面设计灵感
  4. 6月8日云栖精选夜读:mac下eclipse配置tomcat无法启动问题
  5. Java Web Start简介
  6. python刚出来多少薪资-Python最低薪资在北上深是多少你们知道吗?我已经整理好了哦...
  7. Android 画布画线,android – 使画布drawLine()可点击的技巧?
  8. 李阳和他的疯狂英语(r5笔记第46天)
  9. 我上网下载了rar压缩文件,有密码,用arpr工具怎么破解不了,_压缩文件密码
  10. 常用工具:IDEA、vs code、Navicat、Postman、HBuilderX、微信开发者工具
  11. 一维、二维正态分布概率密度曲线的绘制
  12. 【pyecharts数据可视化】python爬取去哪儿网景点数据,做交互式数据可视化
  13. 成功就是日复一日那一点点小小努力的积累
  14. 步进电机选型(转载)
  15. 业务单据进行领域驱动设计的最佳实践
  16. NAS入门之——Mac系统下添加My Cloud EX2 Ultra访问
  17. LoadRunner性能测试系统学习教程:Analysis分析器(1)
  18. 不管什么手机,开始这个设置,流畅度全速飙升70%
  19. 打印机打印,扫描小白教程(无需另装驱动)
  20. MySQL50题练习

热门文章

  1. mysql fifo 批量加载_使用pt-fifo-split 工具往mysql插入海量数据
  2. 原生js监听手机返回键
  3. 新一代信息技术-移动互联
  4. 频分多址、时分多址、码分多址
  5. Android:重新挂载system分区
  6. 上海理工大学计算机及应用,上海理工大学光电信息与计算机工程学院研究生导师简介-金爱娟...
  7. 阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第21章:抽象类与接口应用:课时94:案例分析二(绘图处理)
  8. c语言drawtext的用法,老师请问DRAWTEXT-文华财经知识 -程序化交易(CXH99.COM)
  9. 宝钢网上投资者交流会摘要
  10. 专业图像处理软件:ON1 Photo RAW 2022 Mac中文版