在win2000中如何关闭icmp(ping)
icmp的全名是inte.net control and message protocal即因特网控制消息/错误报文协议,这个协议主要是用来进行错误信息和控制信息的传递,例如著名的ping和tracert工具都是利用icmp协议中的echo request报文进行的(请求报文icmp echo类型8代码0,应答报文icmp echoreply类型0代码0)。
icmp协议有一个特点---它是无连结的,也就是说只要发送端完成icmp报文的封装并传递给路由器,这个报文将会象邮包一样自己去寻找目的地址,这个特点使得icmp协议非常灵活快捷,但是同时也带来一个致命的缺陷---易伪造(邮包上的寄信人地址是可以随便写的),任何人都可以伪造一个icmp报文并发送出去,伪造者可以利用sock_raw编程直接改写报文的icmp首部和ip首部,这样的报文携带的源地址是伪造的,在目的端根本无法追查,(攻击者不怕被抓那还不有恃无恐?)根据这个原理,外面出现了不少基于icmp的攻击软件,有通过网络架构缺陷制造icmp风暴的,有使用非常大的报文堵塞网络的,有利用icmp碎片攻击消耗服务器cpu的,甚至如果将icmp协议用来进行通讯,可以制作出不需要任何tcp/udp端口的木马(参见《揭开木马的神秘面纱三》)......既然icmp协议这么危险,我们为什么不关掉它呢?
我们都知道,win2000在网络属性中自带了一个tcp/ip过滤器,我们来看看能不能通过这里关掉icmp协议,桌面上右击网上邻居->属性->右击你要配置的网卡->属性->tcp/ip->高级->选项->tcp/ip过滤,这里有三个过滤器,分别为:tcp端口、udp端口和ip协议,我们先允许tcp/ip过滤,然后一个一个来配置,先是tcp端口,点击"只允许",然后在下面加上你需要开的端口,一般来说web服务器只需要开80(www),ftp服务器需要开20(ftp data),21(ftp control),邮件服务器可能需要打开25(smtp),110(pop3),以此类推......接着是udp,udp协议和icmp协议一样是基于无连结的,一样容易伪造,所以如果不是必要(例如要从udp提供dns服务之类)应该选择全部不允许,避免受到洪水(flood)或碎片(fragment)攻击。最右边的一个编辑框是定义ip协议过滤的,我们选择只允许tcp协议通过,添加一个6(6是tcp在ip协议中的代码,ipproto_tcp=6),从道理上来说,只允许tcp协议通过时无论udp还是icmp都不应该能通过,可惜的是这里的ip协议过滤指的是狭义的ip协议,从架构上来说虽然icmp协议和igmp协议都是ip协议的附属协议,但是从网络7层结构上icmp/igmp协议与ip协议同属一层,所以微软在这里的ip协议过滤是不包括icmp协议的,也就是说即使你设置了“只允许tcp协议通过”,icmp报文仍然可以正常通过,所以如果我们要过滤icmp协议还需要另想办法。
刚刚在我们进行tcp/ip过滤时,还有另外一个选项:ip安全机制(ip security),我们过滤icmp的想法就要着落在它身上。
打开本地安全策略,选择ip安全策略,在这里我们可以定义自己的ip安全策略。
一个ip安全过滤器由两个部分组成:过滤策略和过滤操作,过滤策略决定哪些报文应当引起过滤器的关注,过滤操作决定过滤器是“允许”还是“拒绝”报文的通过。要新建ip安全过滤器,必须新建自己的过滤策略和过滤操作:右击本机的ip安全策略,选择管理ip过滤器,在ip过滤器管理列表中建立一个新的过滤规则:icmp_any_in,源地址选任意ip,目标地址选本机,协议类型是icmp,切换到管理过滤器操作,增加一个名为deny的操作,操作类型为"阻止"(block)。这样我们就有了一个关注所有进入icmp报文的过滤策略和丢弃所有报文的过滤操作了。需要注意的是,在地址选项中有一个镜像选择,如果选中镜像,那么将会建立一个对称的过滤策略,也就是说当你关注any ip->my ip的时候
熟悉网络的人都知道ping,ping是用于检测网络连接性、可到达性和名称解析的疑难问题的主要tcp/ip命令。ping最主要的用处就是检测目标主机是否可连通。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器