|
同样在计算机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地址会找校内的计算机呢?从采集的数据分析不难发现,这些外部主机主要是找内部的固定的三个计算机。经过历史日志的检查,可以发现这三台计算机的主要相同的记录:
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
这三台主机连接目标主机的端口固定在6881到6889之间,而这些端口正是现在比较流行的BT下载的常用端口。难怪以前没有出现过此类日志,直到最近BT流行时,才出现的。主要原因是,这些主机使用BT下载时,在BT服务器上留下了记录,以便其他的主机到这些主机上下载资源,而当这些主机关机后,路由器就告诉它们找不到这些主机了。
由于日志服务所记录的是第三层以上的信息,而路由器接收到的数据包在第二层上就被丢弃了,所以没有在日志中记录这些输入的异常数据包。为了减少路由器的日志量,在配置模式下使用“ip disable icmp-messages destination-unreachables”来禁止此类信息的转发。
这两个故障均由ICMP引发,而且从某种角度上讲都不是系统配置上的问题,而是由于外部因素引起的。此类故障需要我们经过一定的分析才能查出原因,再作相应的配置才能排除故障。 |
|
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|