天下网吧 >> 网吧方案 >> 安全方案 >> 正文

ICMP洪水攻击浅析

rom 210.192.103.30 (Type=0,Code=0,Len=52)

  [15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)

  [15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)

  =======================================================================

  可以看出,攻击者使用的是32bytes的ECHO请求,所以服务器返回52-20=32bytes的REPLY报文,在这个情况下,是不会报警的。

  还是那句话,报警也没用了。

  八、自己编写ICMP Flooder

  以上说的都是理论,如何才能自己写一个呢?相信很多人已经跃跃欲试了,下面就用VC6.0来写一个直接的ICMP Flooder(能在Win98/Me环境使用)……先等等——最重要的是原理。

  1.程序原理

  当然不能用IcmpSendEcho来做,我们必须自己从最原始的IP报文里做一个。构造一个SOCK_RAW报文后,填充ICMP数据和计算校验和(CheckSum),循环sendto发出去就完成了,so easy!

  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报文结构,就等后面的填充了。

上一页  [1] [2] [3] 

本文来源:天下网吧 作者:网吧方案

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下