频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

ICMP Redirect故障

作者: 《网管员世界》杂志社 出处:电子工业出版社易飞思公司  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-04-07 14:31
关 键 词:路由器  故障  网管员  网管员必读——故障排除
阅读提示:《网管员必读——故障排除》收集了《网管员世界》自创刊以来“故障诊断”栏目中的经典故障诊断案例。全书共分6章,分别为网络链路故障、网络设备故障、Windows网络故障诊断、Linux网络故障诊断、故障诊断经验与技巧、数据库故障诊断案例。 本节主要写了路由器的故障排除。

2.2.2  路由器故障排除案例

故障二:ICMP Redirect
首先给大家描述一下这个问题。虽然路由器在运行时没有出现明显的异常现象,但是却经常看到这样的日志:

Jul 09 15:54:21 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" ICMP 209.24.79.200 -> 219.157.38.52

Jul 09 15:54:21 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" ICMP 209.24.79.200 -> 219.167.139.16

Jul 09 15:54:21 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" ICMP 209.24.79.200 -> 61.132.1.43

Jul 09 15:54:23 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" ICMP 209.24.79.200 -> 24.232.18.109

Jul 09 15:54:23 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" ICMP 209.24.79.200 -> 211.146.112.211

……

其中“209.24.79.200”是路由器的上连接口地址,不知道为什么会出现这么多从路由器发到IP的没有规律的ICMP数据包。查查这些IP,有的来自国内各省,有的来自日本,有的来自美国、阿根廷、新加坡,毫无规律。难道是有人在攻击路由器?或者是内部有机器被人用来攻击?而且奇怪的是只有出去的数据包的记录,却没有记录进入的数据包。
说起ICMP,大家肯定是最熟悉不过的了。最常见的Ping命令就是使用ICMP的。ICMP的全称是Internet Control Message Protocol(网间报文控制协议),它是IP不可分割的一部分,用来提供错误报告。一旦发现各种错误类型就将其返回原主机,基于ICMP的攻击方法也多种多样。到底是什么原因导致生成这样的日志呢?
该学校的拓扑结构是一个简单的星型结构,中心节点就是一台三层交换式路由器(Enterasys 公司的SSR8000)。其中一个端口上连到CERNET,其他端口都是内部连接,且为内部网络基于端口划分了多个VLAN。为了查看该信息是否从网络内部发出,又给内部VLAN的各个接口设置了日志,还是没有相关的ICMP记录(原先的日志只是记录上连接口的数据)。排除了内部计算机发出ICMP数据包的可能,那问题就可能出现在上连接口上,而日志记录只能记录到协议层的信息,不能记录更深层次的数据包。如何查看上连接口的数据包呢?比较方便的方法就是使用端口镜像功能,利用连接在镜像端口上的计算机来抓取和分析数据包。
首先下载数据包分析软件WINDUMP。在A计算机上安装,然后连接到将要镜像的RJ-45端口上。再在B计算机上,也安装WINDUMP,并连接到当前的VLAN1(网关:222.222.222.1,掩码:255.255.255.0)中。
一切准备就绪后,接着开始端口镜像。使用计算机B登录到路由器,进入配置模式,输入以下命令:
SSR(config)# port mirroring dst-ports et.1.3 src-ports gi.4.1
上面的命令把上连端口(gi.4.1)镜像到目标端口(et.1.3),目标端口就是计算机A连接的端口。在计算机A上,进入DOS提示符,转到WINDUMP所在的目录,输入命令:
C:\> WINDUMP –N
windump30alpha: listening on \Device\NPF_{911DB410-C01E-49E8-B524-50132C6A56A8}
……
15:57:17.516203 IP 222.222.222.17.80 > 221.215.142.50.1264: . 46721:48181(1460) ack 0 win 16336 (DF)
15:57:17.516337 IP 222.222.222.17.80 > 221.215.142.50.1264: . 48181:49641(1460) ack 0 win 16336 (DF)
15:57:17.518043 IP 220.198.22.202.3196 > 222.222.222.99.8882: . 137236:138676(1440) ack 260501 win 64800 (DF)
15:57:17.518162 IP 218.79.246.212.64627 > 222.222.222.191.16881: S 2898301189:2898301189(0) win 64240 (DF)
15:57:17.518558 IP 209.24.79.200> 218.79.246.212: icmp 36: host 222.222.222.191 unreachable (DF)
……
上面的记录已做过筛选。第一句的参数“-N”表示IP地址或者端口号转换为主机名或端口名,第二句表示WINDUMP开始在所选网卡上监听,第三句开始就是WINDUMP记录的信息。
同样在计算机B上也运行WINDUMP:
  C:\> WINDUMP –N
windump30alpha: listening on \Device\NPF_{911DB410-C01E-49E8-B524-50132C6A56B4}
……
15:57:54.695935 arp who-has 222.222.222.191 tell 222.222.222.1
15:57:55.191475 arp who-has 222.222.222.136 tell 222.222.222.1
15:57:57.033354 arp who-has 222.222.222.210 tell 222.222.222.1
15:57:57.039057 arp who-has 222.222.222.69 tell 222.222.222.1
……(已做筛选)
查看路由器上的日志,任意找到其中一条关于ICMP的记录:
Jul 09 15:51:50 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" ICMP 210.29.42.70 -> 218.79.246.212
经查,在计算机A上采集的数据中,有几条记录(最后两条)包含“218.79.246.212”的IP和此记录匹配。从这两句的记录来看,第一行表明从218.79.246.212的TCP端口64627向222.222.222.191的16881端口发送报文。S标志表明设置了SYN标志,报文的流序号是2898301189,没有数据,有效的接收窗口是4096字节,最大段大小(max-segment-size)的选项,请求设置mss为1452字节。很明显,这是一个请求报文。而第二句表明路由器给218.79.246.212返回了一个“unreachable(主机不可达)”ICMP 信息。这说明在这个网段中没有找到IP地址为“222.222.222.191”的计算机。
原来,当路由器接收到一个不知道IP地址(也就是说,路由器不知道目标路由)的数据包时,它会尝试发送ARP广播来解析,如果有目标主机回应这个ARP广播,则路由器会把数据包转发给目标主机。如果路由器没有接收到回应,它将会为接下来的4个数据包发送ARP请求;如果当第6个数据包到达时,还没有解析出目标主机的MAC地址,在默认情况下,路由器将会在接下来的20秒钟内丢弃第6个及后续的数据包,并且返回“主机不可达”的ICMP信息给源主机。
从计算机B的记录中的第一句也可以得到证明,路由器向该网段中发出一个ARP查询,查找IP为“222.222.222.191”的计算机,结果没有计算机响应,路由器则认为该网段中没有目标主机,所以返回一个ICMP信息给源计算机说明目标主机不可到达,以通知源主机这里存在问题,同时丢弃原始数据包。
至此问题已经明朗,原来路由器记录的ICMP都是路由器发送给源地址的“Destination Unreachable”信息。那么为什么这些外面的IP地址会找到校内的计算机呢?从采集的数据分析不难发现,这些外部主机主要是找内部的固定的3个计算机。经过历史日志的检查,可以发现这3台计算机的主要相同的记录:

07:52:19 Jul 09 07:50:02 %ACL_LOG-I-PERMIT, ACL [out] on "uplink" TCP 222.222.222.136:3159 -> 61.173.209.101:6881

08:00:15 Jul 09 07:53:50 %ACL_LOG-I-DENY, ACL [out] on "uplink" TCP 222.222.222.12:3194 -> 219.121.133.197:6883

08:00:15 Jul 09 07:57:59 %ACL_LOG-I-DENY, ACL [out] on "uplink" TCP 222.222.222.220:3196 -> 210.238.6.177:6881

这3台主机连接目标主机的端口固定在6881~6889之间,而这些端口正是现在比较流行的BT下载的常用端口。难怪以前没有出现过此类日志,直到最近BT流行时,才出现的。主要原因是,这些主机使用BT下载时,在BT服务器上留下了记录,以便其他的主机到这些主机上下载资源,而当这些主机关机后,路由器就告诉它们找不到这些主机了。
由于日志服务所记录的是第三层以上的信息,而路由器接收到的数据包在第二层上就被丢弃了,所以没有在日志中记录这些输入的异常数据包。为了减少路由器的日志量,在配置模式下使用“ip disable icmp-messages destination-unreachables”来禁止此类信息的转发。
这两个故障均由ICMP引发,而且从某种角度上讲都不是系统配置上的问题,而是由于外部因素引起的。此类故障需要我们经过一定的分析才能查出原因,再做相应的配置才能排除故障。
回书目   上一节   下一节
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有