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

「作者主页」:士别三日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连接建立成功后再跟服务器建立连接,防火墙的性能通常比较好,可以替服务器承担很多压力。

相关推荐
可观测性用观测云1 分钟前
观测云推出 OpenClaw 可观测插件:从黑盒到白盒,让每次 AI 执行皆有迹可循
人工智能
阿里云大数据AI技术1 分钟前
告别“金鱼记忆”:Hologres + Mem0,为大模型打造企业级长记忆引擎
人工智能·llm
周末程序猿3 分钟前
技术总结|十分钟抓包逆向分析 `Claude-Code`
人工智能
Theodore_10227 分钟前
深度学习(11):偏差与方差诊断、学习曲线
人工智能·笔记·深度学习·神经网络·机器学习·计算机视觉
weixin_4361824212 分钟前
PLC 与 DCS 国产化报告获取:工控产业情报查找指南
大数据·人工智能·国产plc
金智维科技官方25 分钟前
制造业如何用Ki-AgentS智能体平台实现设备巡检自动化?
大数据·运维·人工智能
stereohomology26 分钟前
大模型看大模型:推理Token的能耗用电量比对
人工智能
Hello world.Joey27 分钟前
Transformer解读
人工智能·深度学习·神经网络·自然语言处理·nlp·aigc·transformer
机器之心32 分钟前
Sand.ai开源发布MagiCompiler:突破局部编译界限,定义训推性能上限
人工智能·openai
KieranYin1 小时前
AI编程 | 概念
人工智能