网络安全系列之1 SYN洪水攻击

近期又在准备参加网络安全比赛,将相关的内容整理一下,也请多提宝贵意见。

在之前的博文中曾提到“死亡之ping“,如“ping IP地址 –l 65500 –t”,通过该命令可以连续地向某一台主机发送最大数据包,这样就有可能导致对方的系统资源耗尽或是网络堵塞。由于目前的电脑硬件配置以及网络带宽都非常高,因而“死亡之ping”已很难发挥作用,但这类攻击的方式有一个统一的名字——拒绝服务攻击“DoS(Denial of Service)”。

所谓的拒绝服务,就是使目标主机无法提供正常的服务,死亡之ping虽然已不好用,但好用的工具并非没有,比如下面这个SYN攻击器。通过这个软件可以发起SYN洪水攻击,攻击原理是利用了TCP的三次握手过程,但最终的目的跟死亡之ping一样,都是为了让对方“拒绝服务”。

下面先介绍这个工具的使用方法,然后再说明原理。

实现过程

在一台安装有Win2003系统的虚拟机中运行该软件(为保证实验效果,建议将Win2003系统的防火墙关闭),输入要攻击的目标计算机的IP地址和端口号(端口号可以是任意一个开放的TCP端口,比如Windows系统默认开放的端口号445),然后点击“start”按钮开始攻击。

攻击开始后,到目标计算机上(XP系统)打开Windows任务管理器,可以看到CPU使用率立刻达到了100%,拒绝服务攻击成功。

无论目标计算机上是否启用了防火墙,都无法阻挡住SYN攻击,而且此种攻击方式对Win7系统也同样有效。只不过目标主机的CPU性能很强的话,占用率会小一些,但是仍会有明显的效果。

需要注意的是,这还只是由单一攻击方发起的DoS攻击,如果由众多攻击方同时向一个目标展开攻击,那么威力将更加强大,这种攻击方式也就是目前互联网上最难防御的DDoS(Distribution Denial of Service)分布式拒绝服务攻击。

SYN攻击原理

SYN攻击的原理很简单,我们知道互联网中的大多数应用都是基于连接的,通信双方在正式传输数据之前要通过TCP三次握手过程来建立连接。

SYN攻击时,攻击方向目标方发起连接请求,收到对方的响应,之后立马闪人,即只完成前两次的握手过程,然后就把目标主机晾在那里,白白耗费它的一个连接。攻击方在短时间内可以使目标主机上产生大量的半连接,通过这种方式来把对方的资源耗尽,从而“拒绝服务”。

例如攻击过程中,在目标主机上执行“netstat -an”命令可以看到大量的半连接:

时间: 2024-10-08 04:34:21

网络安全系列之1 SYN洪水攻击的相关文章

TCP--SYN洪水攻击

在查看TCP标识位SYN时,顺便关注了一下SYN Flood,从网上查阅一些资料加以整理,SYN洪水攻击利用TCP三次握手. 1.SYN洪水介绍 当一个系统(客户端C)尝试和一个提供了服务的系统(服务器S)建立TCP连接,客户端C和服务端S会交换一系列报文. 正常的3次握手连接:首先是C发送一个SYN报文给服务端S,然后这个服务端发送一个SYN-ACK包以回应C,接着,C就返回一个ACK包来实现一次完整的TCP连接.就这样,C到服务端的连接就建立了,这时C和服务端就可以互相交换数据了. SYN洪

1.tcp协议 三次握手建链接 四次挥手断开链接 tcp协议的状态 syn洪水攻击与半连接池 互联网协议详解 3. socket介绍 4. 基于socket来编写C/S架构的软件

网络=底层的物理连接介质+互联网协议(就是计算机界的英语) OSI七层 应用层(应用层\表示层\会话层):http,ftp 传输层:tcp/udp 网络层:ip 数据链路层:ethernet 物理层:发送电信号 1. 互联网协议,可看作是一个安装在计算机上的包 2. 交换机:有mac地址学习功能 3. ARP(地址解析协议),可将IP地址转成mac地址,mac地址转成IP地址 4. IP+端口可锁定一架计算机上的某个应用程序 5. IP 和子网掩码->局域网地址(子网地址) 6.  TCD又称好

Linux系统-抵御SYN洪水攻击

本文源链接地址:https:www.93bok.com 说明: 本文中所提到的这些内核配置参数应该在每台服务器上线之前配置好的,防止意外. SYN攻击: SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络SYN包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问. 原理图: 正常情况下TCP三次握手: SYN攻击情况: SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送

网络安全系列之十一 系统命令注入攻击

系统命令注入攻击也是一种古老的攻击手段,是指黑客可以在有漏洞的页面地址栏中直接执行操作系统命令.下面将来演示这种攻击的实现方式,以及如何配置WAF进行拦截,实验环境仍然使用NPMserv搭建. 打开网站,在地址栏中的网址后面输入"?cmd=所要执行的命令",如下图所示的http://192.168.1.3/?cmd=net user,可以发现命令能够成功执行. 如果发现一个网站存在这种漏洞,那下面的操作基本就没有什么技术含量了.无非是创建用户,加入管理员组,再开3389等等,具体操作可

tcp三次握手和syn 洪水攻击

1. 连接后,所有的 ack 为1才有效(连接后,ack 也一般都是1) 2. 建立连接3次握手, 如何确认对方收到了你发的包, seq 是自己发出去的,自己知道seq的值.所以怎么确认对方收到了自己的包呢? seq+ 1 == ACK ,相等就说明对方收到了.三次握手,最主要的是序列号的确认机制这才是tcp3次握手的核心.序列号取值范围(2的32次方减去1,循环重新开始). 序列号的作用: 对数据包进行重组!使用序列号来重组数据 arp -n 第3步中,Client 断开连接 4次挥手.

IP报文解析及基于IP 数据包的洪水攻击

版本(4bit) 报头长度(4bit) 优先级和服务类型(8bit) 总长度(16bit) 标识(16bit) 标志(3bit) 分段偏移(13bit) 存活期(8bit) 协议(8bit) 报头校验和(16bit) 源IP地址(32bit) 目的IP地址(32bit) 选项(0或32bit,若有的话) 数据(可变) 版本 IP版本号.报头长度 32位字的报头长度(HLEN).优先级和服务类型 服务类型描述数据报将如何被处理.前3位表示优先级位.总长度 包括报头和数据的数据包长度.标识 唯一的I

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

------------------------本人为自己实践所总结,概念性的东西不全,这里粗劣提下而已,网上很多,本文主要说下目前较流行的syn洪水攻击和cc攻击------------------------------------- 何为syn flood攻击: SYN Flood是一种广为人知的DoS(拒绝服务攻击)是DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式(TCP协议

扯谈网络编程之Tcp SYN flood洪水攻击

简介 TCP协议要经过三次握手才能建立连接: (from wiki) 于是出现了对于握手过程进行的攻击.攻击者发送大量的FIN包,服务器回应(SYN+ACK)包,但是攻击者不回应ACK包,这样的话,服务器不知道(SYN+ACK)是否发送成功,默认情况下会重试5次(tcp_syn_retries).这样的话,对于服务器的内存,带宽都有很大的消耗.攻击者如果处于公网,可以伪造IP的话,对于服务器就很难根据IP来判断攻击者,给防护带来很大的困难. 攻与防 攻击者角度 从攻击者的角度来看,有两个地方可以

洪水攻击怎么办?

洪水攻击是网络攻击里比较常见的一种,一般体现就是机器慢(CPU居高不下),ssh等网络服务登陆缓慢甚至会出现登陆不上的情况,甚至在# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 的命令里,发现SYN_RECV 的数量要远远大于ESTABLISHED的数量(几乎是5~8倍以上),然后查看系统的日志或者使用#dmesg的时候,就会出现如下的语句: possible SYN flooding on port