怎么用防火墙设置ICMP过滤

怎么用防火墙设置ICMP过滤,第1张

设置步骤如下:

1、点击开始,点击控制面板,点击windows防火墙;

2、点击高级设置;

3、点击入站规则,点击新建规则;

4、点击自定义;

5、默认所有程序,点击下一步;

6、协议类型选择icmpv4,其他默认值,点击下一步;

7、默认任何ip地址,点击下一步;

8、点击阻止连接,点击下一步;

9、勾选所有区域,点击下一步;

10、输入名称和描述,点击完成即可。

这个问题我今天也遇到过了,在网上搜索答案结果找到你的问题。。于是自己分析了一下,给自己和LZ一个答案。

主要原因是:

你向DNS服务器发起一个请求,但因此某种原因,DNS回复给你时,你已经把端口关闭了,于是又给服务器发了个ICMP的端口不可达信息。

这是我做的实验:

本机IP:1018415563

DNS:2021202101

当我正常上网时,偶尔会抓到与DNS通信的ICMP包,这是Wireshark的分析:

ICMP包除了说明Type:3的包头外,还附加了payload,指明“因为你当年向我52291端口发过一个UDP包,但我没开52291,所以把你拒了”。

显然DNS服务器也没闲到没事给你发UDP包玩,显然是因为之前你向DNS服务器发送过包。

于是使用Wireshark的filter:udpport == 52291

得到三个包:

仔细看包的Info,分别动作是:

本机向DNS请求talkgooglecom的IP

DNS回复该域名IP

本机说,Port unreachable,哈哈哈哈。。。

因此得到结论是,本机发送DNS请求后立刻关闭了发送UDP包的端口,结果返回的UDP包被拒绝了。

但为什么会这样呢?明明请求和回答只相差001秒,浏览器没有理由中断请求啊!

这与系统对DNS请求的实现机制有关,它会同时请求一个域名的AAAA记录和A记录(分别是ipv6和ipv4地址),当任何一个查询结果被返回时,计算机立刻关闭两个查询的UDP端口,于是出现后回复的DNS包被报ICMP的端口不可达错误。

再以一次出现ICMP的通信作为验证:

最后一条黑底绿字是ICMP包,其他都是DNS包。

显然ICMP拒绝的,是ID为0x13ae(红框)的请求,这是为什么呢?

当我上百度百科时,浏览器向服务器几乎同时发送了两个DNS请求(图中第1,2个包),分别请求baikebaiducom的AAAA记录和A记录。

但是AAAA记录很快得到了回复(第三条,绿框,对应AAAA记录的请求),回复内容是CNAME(别名)bkbaiducom和bknshifencom(意思是你要找的baikebaiducom其实是bkbaiducom或者bknshifencom)

于是本机立刻又请求了bknshifencom的AAAA记录和A记录(第5、6条)

之后,关于baikebaiducom的A记录才返回,显然我们已经从AAAA记录中得到该信息了,可以说本机在得到CNAME回复后,就把两个请求端口都关掉了,于是就造成来迟的DNS回复无法访问目的端口的错误了。

好吧,写了这么长,终于把DNS请求出现ICMP包的原因搞明白了,希望LZ和后来人,都可以解决心中的迷团~

没有。

ICMP是控制协议,不需要端口号。

ICMP是:Internet 控制信息协议(ICMP)是 IP 组的一个整合部分。通过 IP 包传送的 ICMP 信息主要用于涉及网络 *** 作或错误 *** 作的不可达信息。

ICMP包发送是不可靠的,所以主机不能依靠接收 ICMP 包解决任何网络问题。ICMP不象TCP或UDP有端口,但它确实含有两个域:类型(type)和代码(code)。而且这些域的作用和端口也完全不同。

扩展资料:

ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。

比如,可以利用 *** 作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。

此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。

参考资料来源:百度百科-icmp数据包

如果是网络设备的防火墙的话:
在CISCO系统中,设置地址集,ACL来实现!
在华为系统中,使用POLICY防火墙策略来实现。
Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。Ping有好的善的一面也有恶的一面。
不可忽视 彻底封杀Ping命令漏洞
一、安全须知
Windows的 *** 作系统谁都知道比较危险,原因就是漏洞实在很多。单靠打补丁就已经足够烦恼,要是万一被黑客盯上或者病毒破坏那后果就更严重了。往往利用系统自身的缺陷来进行各种入侵向来就是黑客常得手的重要途径。随着宽带互联网的普及,家家户户使用网络已经渐渐增多。由此带来的安全问题也威胁着计算机的安全。懂得网络的人都知道我们常用Ping命令来检查网络是否畅通的一个简单的手段,可是这个Ping也能给Windows系统带来严重的后果,那就是Ping入侵即是ICMP(Internet Control and Message Protocal是因特网控制消息错误报文协议)入侵,原理是通过Ping大量的数据包使得计算机的CPU使用率居高不下而崩溃,通常在一个时段内连续向计算机发出大量请求而导致CPU处理不及而死机。
二、防范措施
步骤1:需要打开在电脑的桌面,右键点击“网上邻居→属性→本地连接→属性→Internet协议(TCP/IP)→属性→高级→选项-TCP/IP筛选-属性”。
步骤2:你看到一个窗口是关于“TCP/IP筛选”,先点击选中“启用TCP/IP筛选(所有适配器)”。然后分别在“TCP端口、UDP端口和IP协议”的添加框上,点击“只允许”,后按添加按钮,然后在跳出的对话框输入端口,通常我们用来上网的端口是:80、8080,而邮件服务器的端口是:25、110,FTP的端口是20、21,同样地进行UDP端口和IP协议的添加。
步骤3:打开“控制面板→管理工具→本地安全策略”,然后右击“IP安全策略,在本地机器”选“管理IP筛选器和IP筛选器 *** 作”,在管理IP筛选器和IP筛选器 *** 作列表中添加一个新的过滤规则,名称输入“防止ICMP攻击”,然后按添加,在源地址选任何IP地址,目标地址选我的IP地址,协议类型为ICMP,设置完毕。
步骤4:在“管理筛选器 *** 作”,取消选中“使用添加向导”,添加,在常规中输入名字“Deny的 *** 作”,安全措施为“阻止”。这样我们就有了一个关注所有进入ICMP报文的过滤策略和丢弃所有报文的过滤 *** 作了。
步骤5:点击“IP安全策略,在本地机器”,选择“创建IP安全策略-下一步-输入名称为ICMP过滤器”,通过增加过滤规则向导,把刚刚定义的“防止ICMP攻击”过滤策略指定给ICMP过滤器,然后选择刚刚定义“Deny的 *** 作”,然后右击“防止ICMP攻击”并启用。
三、总结
经过利用安全策略来这样设置,你的计算机在防范ICMP的攻击和入侵方面就安全多了,对于那些企图入侵发来的大量数据包都能拦截下来,保证你的计算机免受破坏。
ICMP
协议有一个特点
---
它是无连结的,也就是说只要发送端完成ICMP报文的封装并传递给路由器,这个报文将会象邮包一样自己去寻找目的地址,这个特点使得ICMP协议非常灵活快捷,但是同时也带来一个致命的缺陷
---
易伪造(邮包上的寄信人地址是可以随便写的),任何人都可以伪造一个ICMP报文并发送出去,伪造者可以利用SOCK_RAW编程直接改写报文的ICMP首部和IP首部,这样的报文携带的源地址是伪造的,在目的端根本无法追查,(攻击者不怕被抓那还不有恃无恐?)根据这个原理,外面出现了不少基于ICMP的攻击软件,有通过网络架构缺陷制造ICMP风暴的,有使用非常大的报文堵塞网络的,有利用ICMP碎片攻击消耗服务器CPU的,甚至如果将ICMP协议用来进行通讯,可以制作出不需要任何TCP/UDP
端口的木马(参见《揭开木马的神秘面纱三》)

一、什么是ICMP协议?
ICMP全称Internet Control Message Protocol(网际控制信息协议)。提起ICMP,一些人可能会感到陌生,实际上,ICMP与我们息息相关。在网络体系结构的各层次中,都需要控制,而不同的层次有不同的分工和控制内容,IP层的控制功能是最复杂的,主要负责差错控制、拥塞控制等,任何控制都是建立在信息的基础之上的,在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。为了处理这些错误,TCP/IP设计了ICMP协议,当某个网关发现传输错误时,立即向信源主机发送ICMP报文,报告出错信息,让信源主机采取相应处理措施,它是一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报文。
二、ICMP报文格式
ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文(见图表,ICMP报文的结构和几种常见的ICMP报文格式),IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。RFC定义了13种ICMP报文格式,具体如下:
类型代码 类型描述
0 响应应答(ECHO-REPLY)
3 不可到达
4 源抑制
5 重定向
8 响应请求(ECHO-REQUEST)
11 超时
12 参数失灵
13 时间戳请求
14 时间戳应答
15 信息请求(已作废)
16 信息应答(已作废)
17 地址掩码请求
18 地址掩码应答
其中代码为15、16的信息报文已经作废。
下面是几种常见的ICMP报文:
1响应请求
我们日常使用最多的ping,就是响应请求(Type=8)和应答(Type=0),一台主机向一个节点发送一个Type=8的ICMP报文,如果途中没有异常(例如被路由器丢弃、目标不回应ICMP或传输失败),则目标返回Type=0的ICMP报文,说明这台主机存在,更详细的tracert通过计算ICMP报文通过的节点来确定主机与目标之间的网络距离。
2目标不可到达、源抑制和超时报文
这三种报文的格式是一样的,目标不可到达报文(Type=3)在路由器或主机不能传递数据报时使用,例如我们要连接对方一个不存在的系统端口(端口号小于1024)时,将返回Type=3、Code=3的ICMP报文,它要告诉我们:“嘿,别连接了,我不在家的!”,常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)等。源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率。最后,无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定时间内无法重组数据报分段,这时就要触发ICMP超时报文的产生。超时报文的代码域有两种取值:Code=0表示传输超时,Code=1表示重组分段超时。
3时间戳
时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差。一些系统不响应这种报文。
三、回到正题:这样的攻击有效吗?
在前面讲过了,ping使用的是ECHO应答,不知道大家注意过没有,ping的返回很慢,用NetXRAY抓包仅为1--5包/秒,这是为什么呢?事实上,ICMP本身并不慢(由于ICMP是SOCK_RAW产生的原始报文,速度比SOCK_STREAM的SYN和SOCK_DGRAM的UDP要快几乎10倍!),这样的速度是ping程序故意延迟的(为什么?M$可不想每个人都能用ping来干坏事),同样,我测试过一些号称“ping洪水”的程序,发现它们的效率和pingexe没什么两样,经过Dependency Walker查看程序调用的函数发现,他们用的是icmpdll提供的IcmpSendEcho这个API,这个函数是计算ECHO时间的,速度当然慢!而那两个“高手”号召的ping攻击实际上就是为了实现ICMP洪水攻击,但是他们用的方法……想想洪水的速度和山涧小溪的速度相差多少吧!就用pingexe和IcmpSendEcho这种小溪慢慢流淌的速度能做什么?还不是让人家看笑话!这种攻击根本就是浪费自己的时间!(如今还经常有人问ping -l 65500 -t的攻击威力如何……哎,悲哀啊悲哀……)
四、什么是ICMP洪水?
1ICMP洪水的成因
pingexe和IcmpSendEcho速度慢的另一个原因是它们必须等待目标主机返回REPLY信息,这个过程需要花费大量时间,而Flood——洪水,顾名思义,是速度极快的,当一个程序发送数据包的速度达到了每秒1000个以上,它的性质就成了洪水产生器,洪水数据是从洪水产生器里出来的,但这样还不够,没有足够的带宽,再猛的洪水也只能像公路塞车那样慢慢移动,成了鸡肋。要做真正的洪水,就需要有一条足够宽的高速公路才可以。极慢的发送速度+56Kbps小猫等于什么?等于一个未关紧的水龙头,根本没用。
由于pingexe无法提速,这就需要专门的工具来做洪水了。足够快的数据包速度+足够的带宽,这才是洪水。
2实现ICMP洪水的前提
最大的前提是攻击者的速度!如果你要用56K拨号去攻击一个512Kbps ADSL用户,后果和一只蚂蚁伸腿想绊倒大象的天方夜谭是一样的!其次是你的机器运行速度和数据吞吐量,由于涉及IP校验和的计算(先设置头校验和域的数值为0,然后对整个数据报头按每16位求异或,再把结果取反,就得到了校验和),如果数据处理能力不够,在这步就慢了一个级别,效果当然大打折扣。最后就是目标机器的带宽!如果对方比你大很多(例如你2M ADSL,别人用DDN或T1),那么任何Flood都是无病呻吟,挠痒都不够!(希望不要再问“小金,你的R-Series怎么不好用啊”、“我用小金的AnGryPing攻击别人半天都没事!”、“独裁者的攻击怎么无效啊?”这样的问题了,天啊,我头都大了!)
还有许多人都忽略的问题:发送的速度与数据包大小成反比,而且太大的数据包会被路由器等设备过滤掉!找到一个合适的数据包大小,对提高Flood的效率有很大帮助!
3洪水——两败俱伤的攻击方式
别以为洪水无所不能,实际上,你展开洪水攻击时,攻击程序在消耗对方带宽和资源时,也在消耗你的带宽和资源。这只是个看谁撑得住的攻击而已。实际上,有经验的攻击者都是用被控制的服务器(肉鸡)来代替自己的机器发动攻击的,不到万不得已或者你对自己的机器网速有自信,否则尽量少用自己的机器来拼搏!
五、不同方式的ICMP洪水
1直接Flood
要做这个的首要条件是你的带宽够,然后就是要一个好用的ICMP Flooder,别用pingexe那种探路用的垃圾,例如我以前发布的AnGryPing,发包速度达到6000---9000包/秒(512 Kbps ADSL),默认是32bytes的ECHO报文洪水,用它即使不能flood别人下去,防火墙也叫得够惨的了。直接攻击会暴露自己IP(如果对方没有还击能力那还无所谓,固定IP用户不推荐使用这种Flood),直接Flood主要是为了顾及Win9x/Me不能伪造IP的缺陷,否则一般还是别用为妙。
简单示意:
ICMP
攻击者[IP=21197543]--------------------------------->受害者[截获攻击者IP=21197543]==>换IP回来反击,嘿嘿
2伪造IP的Flood
如果你是Win2000/XP并且是Administrator权限,可以试试看FakePing,它能随意伪造一个IP来Flood,让对方摸不到头脑,属于比较隐蔽阴险的Flood。
简单示意:
伪造IP=1111的ICMP
攻击者[IP=21197543]--------------------------------->受害者[截获攻击者IP=1111]==>倒死
3反射
用采取这种方式的第一个工具的名称来命名的“Smurf”洪水攻击,把隐蔽性又提高了一个档次,这种攻击模式里,最终淹没目标的洪水不是由攻击者发出的,也不是伪造IP发出的,而是正常通讯的服务器发出的!
实现的原理也不算复杂,Smurf方式把源IP设置为受害者IP,然后向多台服务器发送ICMP报文(通常是ECHO请求),这些接收报文的服务器被报文欺骗,向受害者返回ECHO应答(Type=0),导致垃圾阻塞受害者的门口……
从示意图可以看出,它比上面两种方法多了一级路径——受骗的主机(称为“反射源”),所以,一个反射源是否有效或者效率低下,都会对Flood效果造成影响!
简单示意:
伪造受害者的ICMP 应答
攻击者[IP=21197543]-------------------------->正常的主机--------------->受害者[截获攻击者IP=……网易?!]==>哭啊……
以上是几种常见的Flood方式,在测试中,我发现一个有趣的现象:一些防火墙只能拦截ECHO请求(Ping)的ICMP报文,对于其他ICMP报文一概睁只眼闭只眼,不知道其他防火墙有没有这个情况。所以想神不知鬼不觉对付你的敌人时,请尽量避开直接ECHO Flood,换用Type=0的ECHO应答或Type=14的时间戳应答最好,其他类型的ICMP报文没有详细测试过,大家可以试试看Type=3、4、11的特殊报文会不会有更大效果。
六、ICMP Flood能防吗?
先反问你一个问题:洪水迅猛的冲来时,你能否拿着一个脸盆来抵挡?(坐上脸盆做现代鲁宾逊倒是个不错的主意,没准能漂到MM身边呢)
软件的网络防火墙能对付一些漏洞、溢出、OOB、IGMP攻击,但是对于洪水类型的攻击,它们根本无能为力,我通常对此的解释是“倾倒垃圾”:“有蟑螂或老鼠在你家门前逗留,你可以把它们赶走,但如果有人把一车垃圾倾倒在你家门口呢?”前几天看到mikespook大哥对此有更体面的解释,转载过来——“香蕉皮原理:如果有人给你一个香蕉和一个香蕉皮你能区分,并把没有用的香蕉皮扔掉。(一般软件防火墙就是这么判断并丢弃数据包的。)但是如果有人在同一时间内在你身上倒一车香蕉皮,你再能区分有用没用也没啥作用了~~因为你被香蕉皮淹没了~~~~(所以就算防火墙能区分是DoS的攻击数据包,也只能识别,根本来不及丢弃~~死了,死了,死了~~)”
所以,洪水没法防!能做的只有提高自己的带宽和预防洪水的发生(虽然硬件防火墙和分流技术能做到,但那价格是太昂贵的,而且一般人也没必要这样做)。
如果你正在被攻击,最好的方法是抓取攻击者IP(除非对方用第一种,否则抓了没用——假的IP)后,立即下线换IP!(什么?你是固定IP?没辙了,打电话找警察叔叔吧)
七、被ICMP Flood攻击的特征
如何发现ICMP Flood?
当你出现以下症状时,就要注意是否正被洪水攻击:
1传输状态里,代表远程数据接收的计算机图标一直亮着,而你没有浏览网页或下载
2防火墙一直提示有人试图ping你
3网络速度奇慢无比
4严重时系统几乎失去响应,鼠标呈跳跃状行走
如果出现这些情况,先不要慌张,冷静观察防火墙报警的频率及IP来确认是否普通的Ping或是洪水,做出相应措施(其实大多数情况也只能换IP了)。
1普通ping
这种“攻击”一般是对方扫描网络或用ping -t发起的,没多大杀伤力(这个时候,防火墙起的作用就是延迟攻击者的数据报发送间隔时间,请别关闭防火墙!否则后果是严重的!),通常表现如下:
==============================================================
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:24] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:26] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:30] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
=============================================================
这么慢的速度,很明显是由pingexe或IcmpSendEcho发出的,如果对方一直不停的让你的防火墙吵闹,你可以给他个真正的ICMP Flood问候。
2直接Flood
这是比较够劲的真正意义洪水了,防火墙的报警密度会提高一个数量级:
==============================================================
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:20] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[13:09:21] 61151252106 尝试用Ping 来探测本机,
该 *** 作被拒绝。
=============================================================
这时候你的防火墙实际上已经废了,换个IP吧。
3伪造IP的Flood
比较厉害的ICMP Flood,使用的是伪造的IP而且一样大密度,下面是the0crat用56K拨号对我的一次攻击测试的部分数据(看看时间,真晕了,这可是56K小猫而已啊)
=============================================================
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
[18:52:12] 1111 尝试用Ping 来探测本机,
该 *** 作被拒绝。
=============================================================
无言…………
4、反射ICMP Flood
估计现在Smurf攻击还没有多少人会用(R-Series的RSSEXE就是做这事的,RSAEXE和RSCEXE分别用作SYN反射和UDP反射),所以这种方法还没有大规模出现,但Smurf是存在的!而且这个攻击方法比前面几种更恐怖,因为攻击你的是大网站(或一些受苦受难的服务器)!
我正在被网易、万网和新浪网站攻击中(懒得修改策略,直接用其他工具抓的。实际攻击中,反射的IP会多几倍!)
=======================================================================
[15:26:32] RECV:ICMP Packet from 2021083736 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 20210836206 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 2021083736 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 20210836206 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 2021083736 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 20210836206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 20210836206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 2021083736 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 2021083736 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 20210836206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 2021083736 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 20210836206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 21019210330 (Type=0,Code=0,Len=52)
=======================================================================
可以看出,攻击者使用的是32bytes的ECHO请求,所以服务器返回52-20=32bytes的REPLY报文,在这个情况下,是不会报警的。
还是那句话,报警也没用了。
八、自己编写ICMP Flooder
以上说的都是理论,如何才能自己写一个呢?相信很多人已经跃跃欲试了,下面就用VC60来写一个直接的ICMP Flooder(能在Win98/Me环境使用)……先等等——最重要的是原理。
1程序原理
当然不能用IcmpSendEcho来做,我们必须自己从最原始的IP报文里做一个。构造一个SOCK_RAW报文后,填充ICMP数据和计算校验和(CheckSum),循环sendto发出去就完成了,so easy!
2ICMP报文的声明
一个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;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13455146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-10
下一篇 2023-08-10

发表评论

登录后才能评论

评论列表(0条)

保存