本文章记录大三网络信息安全课做过的一个小攻击实验,利用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攻击相关推荐

  1. DOS、DOS攻击、DDOS攻击、DRDOS攻击

    DOS:中文名字是拒绝服务,一切引起DOS行为的攻击被称为DOS攻击.该攻击的效果是使得计算机或者网络无法提供正常的服务.常见的DOS攻击有针对计算机网络带宽和连通性的攻击.DOS是单机与单机之间的攻 ...

  2. DOS攻击和DDOS攻击之间有什么区别?

    在网络安全体系中,虽然DDOS攻击和DOS攻击是比较常见的网络攻击方式,但是依然有很多人还傻傻分不清楚,什么是"DDOS攻击".什么是"DOS攻击",那么DOS ...

  3. DDOS渗透与攻防(二)之SYN-Flood攻击

    系列文章 DDOS渗透与攻防(一)之拒绝服务攻击概念介绍 SYN-Flood攻击 1.SYN-Flood拒绝服务攻击 (1).攻击协议原理介绍说明_Syn-Flood SYN Flood (SYN洪水 ...

  4. TCP SYN-Flood攻击

    本文转载自华为企业互动社区 大家好,强叔和你们又见面了!上一期强叔带着大家一起了解了单包攻击的基本防御知识,知道了单包攻击的几大类型,以及防火墙支持防御的攻击种类.但是,在现网中单包攻击只占了很小一部 ...

  5. Dos攻击与DDos攻击原理与区别,怎么防护?

    Dos攻击与DDos攻击原理与区别,怎么防护? 1.原理: 1)DOS(Denial of Service)攻击,即拒绝服务,其主要危害是使计算机或网络无法提供正常的服务. 常见的DOS攻击手段有Te ...

  6. DoS攻击和DDoS攻击

    介绍 Dos攻击 DoS是Denial of Service的简称,即拒绝服务.单一的DoS攻击一般是采用一对一方式的,通过制造并发送大流量无用数据,造成通往被攻击主机的网络拥塞,耗尽其服务资源,致使 ...

  7. python实现dos攻击_dos攻击原理及攻击实例

    DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽攻击和连通性攻击. Do ...

  8. dos攻击与ddos攻击的区别

    ①DOS攻击: DOS:中文名称是拒绝服务,一切能引起DOS行为的攻击都被称为dos攻击.该攻击的效果是使得计算机或网络无法提供正常的服务.常见的DOS攻击有针对计算机网络带宽和连通性的攻击. DOS ...

  9. 对比DoS攻击与DDoS攻击

    DoS攻击概述 DoS是 Denial of Service 的简称,即拒绝服务,造成拒绝服务的攻击行为被称为DoS攻击. 拒绝服务攻击是指一个用户占据了大量资源的共享资源,使系统没有剩余的资源给其他 ...

  10. dos攻击原理及攻击实例(带脚本)

    首先声明,以下仅作为测试用,请勿作为非法用途. dos攻击原理:DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应.(百度百科说的,大概就是这么个意思). dos攻 ...

最新文章

  1. ocp 工资_【中秋节加班费】2016中秋节加班工资怎么算,中秋节放假加班费的计算方法...
  2. Promise async/await的理解和用法
  3. Hibernate 4.2.8,javassist 3.18.1和ClassCastExceptions –注意您的类路径
  4. (pytorch-深度学习)通过时间反向传播
  5. 力扣106. 从中序与后序遍历序列构造二叉树(JavaScript)
  6. 【报告分享】2019年在线教育培训行业分析报告.pdf(附下载链接)
  7. Java中proc是什么意思,Java PatientProcedureVo.setSignifProc方法代码示例
  8. 有什么激励你一辈子的句子?
  9. 素数的线性筛法java,埃氏筛 线性筛(欧拉筛) 算法解析
  10. kafka shutdown停止关闭很慢问题的解决方案
  11. Psam_ISO7816
  12. 安装logstash-7.9.3和filebeat-7.9.3
  13. keepalived基本应用解析
  14. 教你玩转HelloWorld
  15. 基于SpringBoot的行影旅行网
  16. qt开发linux性能测试工具,基于Qt的ARM-Linux系统测试工具
  17. python在股票中的应用_python在股票市场中的应用,量化大师自编选股公式
  18. 为你的Android应用构建窗口小部件(App Widget)
  19. android notifydatasetchanged 刷新错误,ListView中使用notifyDataSetChanged()刷新,item显示混乱。...
  20. 解决VMware虚拟机无法上网

热门文章

  1. YYLabel的若干个疑问持续更新
  2. 2021年塔式起重机司机考试题库及塔式起重机司机模拟考试
  3. Insyde uefi 隐藏设置_使用u盘GPT+UEFI模式安装windows10系统步骤详细图解
  4. 人脸检测实战终极:使用 OpenCV 和 Python 进行人脸对齐
  5. 关于数学公式的软件和markdown
  6. 刘济舟:《基于IAST交互式安全测试实践的初步探索》
  7. fspecial 创建预定义的二维滤波器 (Matlab)
  8. 实用干货!因子分析超全步骤总结
  9. 三节锂电池充电芯片,IC设计模块的几种电路
  10. AIScanner文字识别软件 OCR