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

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

相关推荐
陈苏同学几秒前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
网络研究院11 分钟前
Android 安卓内存安全漏洞数量大幅下降的原因
android·安全·编程·安卓·内存·漏洞·技术
吾名招财19 分钟前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn
羊小猪~~36 分钟前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
我是哈哈hh39 分钟前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
鼠鼠龙年发大财1 小时前
【鼠鼠学AI代码合集#7】概率
人工智能
龙的爹23331 小时前
论文 | Model-tuning Via Prompts Makes NLP Models Adversarially Robust
人工智能·gpt·深度学习·语言模型·自然语言处理·prompt
工业机器视觉设计和实现1 小时前
cnn突破四(生成卷积核与固定核对比)
人工智能·深度学习·cnn
0DayHP2 小时前
HTB:Ignition[WriteUP]
网络安全
我算是程序猿2 小时前
用AI做电子萌宠,快速涨粉变现
人工智能·stable diffusion·aigc