资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于ICMP协议和广播协议的洪水Ping实验,1,实验五 基于ICMP协议和广播的洪水Ping编程,Ping命令及Ping to Death攻击 Ping攻击的基本原理 Ping攻击程序分析,基于ICMP协议和广播协议的洪水Ping实验,2,实验五 基于ICMP协议和广播协议的洪水Ping编程,1、Ping命令及Ping to Death攻击 1) Ping命令格式: ping 192.168.0.101 l 1024 2) Ping to Death攻击的原理,基于ICMP协议和广播协议的洪水Ping实验,3,实验五 基于ICMP协议和广播协议的洪水Ping编程,2、洪水Ping攻击的基本原理 大量用户同一时间发送Ping命令到同一台主机,导致服务器变慢,甚至瘫痪 用最少的资源换取被攻击者最大的消耗。 怎样才能以最小的代价换取对方最大的牺牲呢?,基于ICMP协议和广播协议的洪水Ping实验,4,实验五 基于ICMP协议和广播协议的洪水Ping编程,2、洪水Ping攻击的基本原理 1)正常情况下的Ping 流程,主机A 主机B,ICMP请求报文(类型=8,回显请求),ICMP应答报文(类型=0,回显应答),基于ICMP协议和广播协议的洪水Ping实验,5,实验五 基于ICMP协议和广播协议的洪水Ping编程,2、洪水Ping攻击的基本原理,主机A 主机B,伪装成主机C发送ICMP回显请求报文,错误的向主机C发送ICMP回显应答报文,主机C,1)攻击者发送了一个攻击数据包给主机B,造成了对主机B和C的同时攻击,攻击效果放大了一倍。 2)隐藏了攻击主机A的地址,在攻击过程中没有留下攻击者的痕迹。,基于ICMP协议和广播协议的洪水Ping实验,6,实验五 基于ICMP协议和广播协议的洪水Ping编程,3、洪水Ping攻击程序分析 1)setsockopt函数解析 用于任意类型、任意状态套接口的选项设置。 int setsockopt ( SOCKET s,int level,int optname,const char FAR * optval, int optlen);,基于ICMP协议和广播协议的洪水Ping实验,7,1)setsockopt函数解析,int setsockopt ( SOCKET s,int level,int optname,const char FAR * optval, int optlen); s需要改变选项设置的套接字; level指定控制套接字的层次。 SOL_SOCKET:通用套接字选项; IPPROTO_IP:IP选项; IPPROTO_TCP:TCP选项。 optname套接字选项的名称,基于ICMP协议和广播协议的洪水Ping实验,8,1)setsockopt函数解析,基于ICMP协议和广播协议的洪水Ping实验,9,1)setsockopt函数解析,基于ICMP协议和广播协议的洪水Ping实验,10,1)setsockopt函数解析,int setsockopt ( SOCKET s,int level,int optname,const char FAR * optval, int optlen); optval一个指针。 对于布尔类型的选项,如果选项设置为TRUE,optval指向非零整型数;如果选项设置为FALSE,optval指向一个等于零的整型数。这时,optlen=sizeof(int)。 对于其他选项,optval指向那个存储整型或结构的内存地址,optlen是整型、结构的长度。,基于ICMP协议和广播协议的洪水Ping实验,11,2)Sleep函数 挂起当前正在执行的线程,等待一段时间后(单位是千分之一秒 ),例如: Sleep(800);,基于ICMP协议和广播协议的洪水Ping实验,12,实验五 基于ICMP协议和广播协议的洪水Ping编程,3、洪水Ping攻击程序分析 3)程序分析,文件头,基于ICMP协议和广播协议的洪水Ping实验,13,3)程序分析,常量及结构定义,基于ICMP协议和广播协议的洪水Ping实验,14,3)程序分析,常量及结构定义,基于ICMP协议和广播协议的洪水Ping实验,15,3)程序分析, 定义ICMP校验和计算的子函数,基于ICMP协议和广播协议的洪水Ping实验,16, 主程序 命令格式: FloodPing.exe FakeSourceIp DestinationIp PacketSize 例如: FloodPing.exe 192.168.15.23 192.168.15.255 6400,基于ICMP协议和广播协议的洪水Ping实验,17, 主程序 检查输入参数,基于ICMP协议和广播协议的洪水Ping实验,18, 主程序 将命令行输入的参数保存在相应的变量中,基于ICMP协议和广播协议的洪水Ping实验,19, 主程序 调用注册函数,创建一个原始套接口,基于ICMP协议和广播协议的洪水Ping实验,20, 主程序 调用setsockopt函数,改变套接口选项设置,基于ICMP协议和广播协议的洪水Ping实验,21, 主程序 填写目标地址结构,构造IP报头、ICMP数据包,并放入缓冲区SendBuf,基于ICMP协议和广播协议的洪水Ping实验,22, 主程序 填写目标地址结构,构造IP报头、ICMP数据包,并放入缓冲区SendBuf,基于ICMP协议和广播协议的洪水Ping实验,23, 主程序 计算数据包校验和,填写数据包总长度,使用无限循环,重复发送数据包,基于ICMP协议和广播协议的洪水Ping实验,24,实验五 基于ICMP协议和广播协议的洪水Ping编程,3、洪水Ping攻击程序分析 程序只能运行在Windows2000下,WinXP不支持伪造IP地址发送数据包。 部分微软的系统可能不会回应发到广播地址的ICMP回显请求数据包。 在Windows2000下测试这个程序,用Sniffer可以观察到伪造的IP数据包发送情况。 了解如何使用原始套接口,如何构造和发送自己的IP数据包。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号