DOS攻击之Synflood攻击
本文章记录大三网络信息安全课做过的一个小攻击实验,利用TCP三次握手原理进行洪水攻击,分享给大家!切勿用于非法之用,虽然本实验可能还没有能攻击到服务器崩溃的能力...
1.攻击原理
利用代码构造大量不存在的伪源地址,向攻击目标主机不断发送syn包请求建立连接,服务器为该连接分配资源并且回复Ack确认包,并等待客户确认。
由于源地址是伪造不存在的地址,服务器无法收到客户端的Ack确认包。服务器保留着半连接TCP连接状态并且占用着资源,伪造的syn包将占用未连接队列。
当正常的主机发送syn包请求连接时,正常的syn包将被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。合法用户无法完成三次握手建立起TCP连接。
2.代码解读
思路:伪造IP地址和TCP连接的SYN报文,调用接口sendto()通过套接字进行发送给目标主机。以下为重要函数体介绍:Unsigned short ip_sum(add,len):计算HTTP和TCP报文的校验和
Unsigned long getaddr(char * name):DNS查询IP地址,调用gethostbyname(name)函数
Void send_tcp_segment(struct iphdr * ih,struct tcp *ih,struct tcphdr *th,char *data,int dlen):发送TCP报文,通过调用sendto()函数调用套接字进行发送
Unsigned long spoof_open(unsigned long my_ip,unsigned long their_ip,unsigned short port):根据HTTP报文格式进行伪造HTTP报文和TCP报文;
3.实验介绍
(1)操作环境
平台:Kali linux终端
编译语句:gcc –o syn syn_flood.c –lpthrea
./syn <IPaddress><port>
(2)攻击检测
A.在本机上查看wireshark中TCP抓包情况,若查看到本机大量TCP报文发送,则表明发送报文成功;
B.在目标主机上查看wireshark中TCP抓包情况,若查看到本机接收到大量TCP报文,则表明攻击达到效果;
C.查看云服务器CPU使用率,若查看到CPU率明显高于平时,则表明攻击成。
4.结果分析
购买阿布云服务器,启用代码攻击,在云服务器的控制台查看到在攻击时该服务器的CPU率如下图,采用Hping3工具与本代码攻击效果作对比:
A.由此可见,代码攻击与带宽有关系,在带宽高的情况下,CPU率大;由于校园网带宽限制,我们无法在大带宽下测试,但在带宽大时,我们可以使该服务器崩溃。
B.由图可见,在代码攻击和hping3工具下工具仍有差距,差距维持在5%左右。
代码放于博客资源:synflood攻击代码
DOS攻击之Synflood攻击相关推荐
- DOS、DOS攻击、DDOS攻击、DRDOS攻击
DOS:中文名字是拒绝服务,一切引起DOS行为的攻击被称为DOS攻击.该攻击的效果是使得计算机或者网络无法提供正常的服务.常见的DOS攻击有针对计算机网络带宽和连通性的攻击.DOS是单机与单机之间的攻 ...
- DOS攻击和DDOS攻击之间有什么区别?
在网络安全体系中,虽然DDOS攻击和DOS攻击是比较常见的网络攻击方式,但是依然有很多人还傻傻分不清楚,什么是"DDOS攻击".什么是"DOS攻击",那么DOS ...
- DDOS渗透与攻防(二)之SYN-Flood攻击
系列文章 DDOS渗透与攻防(一)之拒绝服务攻击概念介绍 SYN-Flood攻击 1.SYN-Flood拒绝服务攻击 (1).攻击协议原理介绍说明_Syn-Flood SYN Flood (SYN洪水 ...
- TCP SYN-Flood攻击
本文转载自华为企业互动社区 大家好,强叔和你们又见面了!上一期强叔带着大家一起了解了单包攻击的基本防御知识,知道了单包攻击的几大类型,以及防火墙支持防御的攻击种类.但是,在现网中单包攻击只占了很小一部 ...
- Dos攻击与DDos攻击原理与区别,怎么防护?
Dos攻击与DDos攻击原理与区别,怎么防护? 1.原理: 1)DOS(Denial of Service)攻击,即拒绝服务,其主要危害是使计算机或网络无法提供正常的服务. 常见的DOS攻击手段有Te ...
- DoS攻击和DDoS攻击
介绍 Dos攻击 DoS是Denial of Service的简称,即拒绝服务.单一的DoS攻击一般是采用一对一方式的,通过制造并发送大流量无用数据,造成通往被攻击主机的网络拥塞,耗尽其服务资源,致使 ...
- python实现dos攻击_dos攻击原理及攻击实例
DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽攻击和连通性攻击. Do ...
- dos攻击与ddos攻击的区别
①DOS攻击: DOS:中文名称是拒绝服务,一切能引起DOS行为的攻击都被称为dos攻击.该攻击的效果是使得计算机或网络无法提供正常的服务.常见的DOS攻击有针对计算机网络带宽和连通性的攻击. DOS ...
- 对比DoS攻击与DDoS攻击
DoS攻击概述 DoS是 Denial of Service 的简称,即拒绝服务,造成拒绝服务的攻击行为被称为DoS攻击. 拒绝服务攻击是指一个用户占据了大量资源的共享资源,使系统没有剩余的资源给其他 ...
- dos攻击原理及攻击实例(带脚本)
首先声明,以下仅作为测试用,请勿作为非法用途. dos攻击原理:DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应.(百度百科说的,大概就是这么个意思). dos攻 ...
最新文章
- ocp 工资_【中秋节加班费】2016中秋节加班工资怎么算,中秋节放假加班费的计算方法...
- Promise async/await的理解和用法
- Hibernate 4.2.8,javassist 3.18.1和ClassCastExceptions –注意您的类路径
- (pytorch-深度学习)通过时间反向传播
- 力扣106. 从中序与后序遍历序列构造二叉树(JavaScript)
- 【报告分享】2019年在线教育培训行业分析报告.pdf(附下载链接)
- Java中proc是什么意思,Java PatientProcedureVo.setSignifProc方法代码示例
- 有什么激励你一辈子的句子?
- 素数的线性筛法java,埃氏筛 线性筛(欧拉筛) 算法解析
- kafka shutdown停止关闭很慢问题的解决方案
- Psam_ISO7816
- 安装logstash-7.9.3和filebeat-7.9.3
- keepalived基本应用解析
- 教你玩转HelloWorld
- 基于SpringBoot的行影旅行网
- qt开发linux性能测试工具,基于Qt的ARM-Linux系统测试工具
- python在股票中的应用_python在股票市场中的应用,量化大师自编选股公式
- 为你的Android应用构建窗口小部件(App Widget)
- android notifydatasetchanged 刷新错误,ListView中使用notifyDataSetChanged()刷新,item显示混乱。...
- 解决VMware虚拟机无法上网