使用Kali Linux进行SYN Flood攻击

1. SYN信号:

SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP建立连接时使用的握手信号。

在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,当服务器接收到到客户的连接请求时(SYN=1),会将此信息加入未连接队列,并发送请求包给客户(SYN=1ACK=1),表示接收到了这个消息,此时,客户机进入SYN_RECV(服务端被动打开后,接收到了客户端的SYN并且发送了ACK时的状态)状态,再进一步接收到客户端的ACK就进入ESTABLISHED(连接成功)状态。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。

2. SYN Flood攻击的原理:

SYN Flood利用TCP协议缺陷,它透过一定的操作破坏TCP三次握手建立正常连接,占用并耗费系统资源,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。

一个正常的TCP连接需要三次握手:

  • 首先客户端发送一个包含SYN标志的数据包,表明客户机请求与服务器进行信息的交互。
  • 其后服务器返回一个SYN/ACK的应答包,表示客户端的请求被接受。
  • 最后客户端再返回一个确认包ACK,这样才完成TCP连接。

图片来源网络

    

那么,在这个过程中是如何发生SYN Flood攻击呢?

通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,在进行第三次握手时,服务器等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,才将此条目从未连接队列删除。这些伪造的SYN包将长时间占用未连接队列,正常的SYN请求不能进去以及被丢弃,目标系统运行缓慢,引起网络拥堵。

3. SYN Flood攻击简单示例:

在同一个局域网下,两台虚拟主机之间进行SYN Flood攻击。

攻击者:Kali Linux。它的IP地址为192.168.73.136。被攻击者Windows XP ,IP地址为192.168.73.138。

1> 查看两个虚拟主机的IP地址,看是否在同一个IP网段下,并测试之间的连通性。

kali linux : ifconfig eth0;

Windows XP:ipconfig/all;

2> 连通成功后,接下来对Windows XP进行SYN Flood攻击。

在Windows XP上打开任务管理器——性能(监控CPU的利用率)

在KAli Linux上输入hping3 -q -n -a 2.2.2.2 -S -s 53 --keep -p 445 --flood 192.168.73.138,(hping3 -q -n -a 伪造源IP -S -s 伪造源端口 --keep -p 目的端口 --flood 目的IP)然后查看Windows XP的任务管理器。可以看出,Windows XP的性能利用率已经达到100%(居高不下),表明已经攻击成功。

3 >我们可以通过抓包来看一下STP Flood的攻击过程,可以看出有大量的源地址为2.2.2.2。在给目的主机发送请求连接。进行SYN泛洪攻击,目的主机处理不过来,SYN一直持续攻击,一直消耗系统的资源,最终导致系统崩溃。

 

  • 19
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值