您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于ICMP协议和广播协议的洪水Ping实验
1实验五基于ICMP协议和广播的洪水Ping编程Ping命令及PingtoDeath攻击洪水Ping攻击的基本原理洪水Ping攻击程序分析2实验五基于ICMP协议和广播协议的洪水Ping编程1、Ping命令及PingtoDeath攻击1)Ping命令格式:ping192.168.0.101–l10242)PingtoDeath攻击的原理3实验五基于ICMP协议和广播协议的洪水Ping编程2、洪水Ping攻击的基本原理——大量用户同一时间发送Ping命令到同一台主机,导致服务器变慢,甚至瘫痪——用最少的资源换取被攻击者最大的消耗。——怎样才能以最小的代价换取对方最大的牺牲呢?4实验五基于ICMP协议和广播协议的洪水Ping编程2、洪水Ping攻击的基本原理1)正常情况下的Ping流程主机A主机BICMP请求报文(类型=8,回显请求)ICMP应答报文(类型=0,回显应答)5实验五基于ICMP协议和广播协议的洪水Ping编程2、洪水Ping攻击的基本原理主机A主机B伪装成主机C发送ICMP回显请求报文错误的向主机C发送ICMP回显应答报文主机C1)攻击者发送了一个攻击数据包给主机B,造成了对主机B和C的同时攻击,攻击效果放大了一倍。2)隐藏了攻击主机A的地址,在攻击过程中没有留下攻击者的痕迹。6实验五基于ICMP协议和广播协议的洪水Ping编程3、洪水Ping攻击程序分析1)setsockopt函数解析用于任意类型、任意状态套接口的选项设置。intsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);71)setsockopt函数解析intsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);s——需要改变选项设置的套接字;level——指定控制套接字的层次。SOL_SOCKET:通用套接字选项;IPPROTO_IP:IP选项;IPPROTO_TCP:TCP选项。optname——套接字选项的名称81)setsockopt函数解析91)setsockopt函数解析101)setsockopt函数解析intsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);optval——一个指针。对于布尔类型的选项,如果选项设置为TRUE,optval指向非零整型数;如果选项设置为FALSE,optval指向一个等于零的整型数。这时,optlen=sizeof(int)。对于其他选项,optval指向那个存储整型或结构的内存地址,optlen是整型、结构的长度。112)Sleep函数挂起当前正在执行的线程,等待一段时间后(单位是千分之一秒),例如:Sleep(800);12实验五基于ICMP协议和广播协议的洪水Ping编程3、洪水Ping攻击程序分析3)程序分析①文件头133)程序分析②常量及结构定义版本报头标长服务类型总长度标识标志片偏移生存时间协议头校验和源IP地址目的IP地址选项填充域数据部分报头04816192431位143)程序分析②常量及结构定义153)程序分析③定义ICMP校验和计算的子函数16④主程序命令格式:FloodPing.exeFakeSourceIpDestinationIp[PacketSize]例如:FloodPing.exe192.168.15.23192.168.15.255640017④主程序检查输入参数18④主程序将命令行输入的参数保存在相应的变量中19④主程序调用注册函数,创建一个原始套接口20④主程序调用setsockopt函数,改变套接口选项设置21④主程序填写目标地址结构,构造IP报头、ICMP数据包,并放入缓冲区SendBuf22④主程序填写目标地址结构,构造IP报头、ICMP数据包,并放入缓冲区SendBuf23④主程序计算数据包校验和,填写数据包总长度,使用无限循环,重复发送数据包24实验五基于ICMP协议和广播协议的洪水Ping编程3、洪水Ping攻击程序分析①程序只能运行在Windows2000下,WinXP不支持伪造IP地址发送数据包。②部分微软的系统可能不会回应发到广播地址的ICMP回显请求数据包。③在Windows2000下测试这个程序,用Sniffer可以观察到伪造的IP数据包发送情况。④了解如何使用原始套接口,如何构造和发送自己的IP数据包。
本文标题:基于ICMP协议和广播协议的洪水Ping实验
链接地址:https://www.777doc.com/doc-4008595 .html