其中“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(下载地址:http://windump.polito.it)。在A计算机上,安装之,然后连接到将要镜像的RJ45端口上。再在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
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.