室友打团太吵?一条命令让它卡死

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:更多干货,请关注专栏《网络安全自学教程》

SYN Flood

TCP协议通过三次握手建立连接,如果我只做第一次握手,向你发送一个SYN请求,后边就不管了,你就要在半连接队列里维护我的这个连接,并每隔一段时间向我我返回ACK确认,直到这个连接超时。
如果我向你发送大量的SYN请求,你就要维护大量的半连接队列并不停的返回ACK确认,当半连接队列溢出或资源耗尽时,你的电脑就卡死了,这一招叫 SYN Flood 或者 SYN泛洪。

如果不了解ARP协议,请先看我的另一篇文章 TCP协议详解

1、hping3实现SYN Flood

攻方:Kali + hping3

冤大头:Win7

1.1、主机探测

用Kali自带的Nmap扫描当前网段的存活主机 nmap -sP 192.168.126.0/24

比如我的IP是 192.168.126.131,那我就扫 192.168.126.0/24 这个网段。

从扫描结果可以判断出来,192.168.126.130 就是这次试验的倒霉蛋了。

到Win7上验证一下IP。

1.2、扫描端口

用Nmap扫描倒霉蛋开放的端口 nmap 192.168.126.130

从扫描结果中选择一个端口,这里选445。

1.3、泛洪、卡死!

使用Kali自带的hping3工具,执行 hping3 -S -p 445 --flood 192.168.126.130

-s是使用SYN,-p指定端口,--flood是尽快发包不显示回复,后面的IP是冤大头的地址。

Win7很快就会卡死,我这里任务管理器都点不动了。

Ctrl + c停止命令后,可以看到CPU使用记录里,刚才已经顶到头了。

2、SYN Flood原理分析

SYN Flood 通过发送大量SYN请求,使目标维护大量半连接队列,从而消耗资源。也就是只进行前两次握手,到达下图中SYN-RCVD状态时就停住了。所以被攻击者会出现大量SYN-RCVD状态的半连接。

实验中,使用了目标的445端口,未执行时,先看冤大头的445端口,没有什么连接。

Kali执行几秒钟后停掉,再看冤大头,出现了一大堆SYN_RCVD状态的半连接,这时候冤大头就已经汗流浃背了。

3、SYN Flood防御

防御SYN可以优化系统配置,比如修改SYN timeout,降低半连接队列的超时时间。

或者设置SYN cookie,短时间内收到重复发SYN请求的主机,就丢弃这个主机的报文。

或者用防火墙,防火墙替服务器接收客户端的SYN请求,等TCP连接建立成功后再跟服务器建立连接,防火墙的性能通常比较好,可以替服务器承担很多压力。

相关推荐
Suckerbin1 分钟前
TBBT: FunWithFlags靶场渗透
笔记·安全·web安全·网络安全
java1234_小锋12 分钟前
Scikit-learn Python机器学习 - 分类算法 - 朴素贝叶斯
python·机器学习·scikit-learn
寒月霜华33 分钟前
机器学习-模型验证
人工智能·深度学习·机器学习
救救孩子把1 小时前
3-机器学习与大模型开发数学教程-第0章 预备知识-0-3 函数初步(多项式、指数、对数、三角函数、反函数)
人工智能·数学·机器学习
CareyWYR1 小时前
每周AI论文速递(250908-250912)
人工智能
张晓~183399481211 小时前
短视频矩阵源码-视频剪辑+AI智能体开发接入技术分享
c语言·c++·人工智能·矩阵·c#·php·音视频
Lz__Heng1 小时前
信息安全工程师考点-网络安全法律与标准
安全·软考·信息安全工程师
deephub2 小时前
量子机器学习入门:三种数据编码方法对比与应用
人工智能·机器学习·量子计算·数据编码·量子机器学习
jieyu11192 小时前
反序列化漏洞详解
网络安全·漏洞原理
AI 嗯啦2 小时前
计算机视觉----opencv实战----指纹识别的案例
人工智能·opencv·计算机视觉