现在很多时候我们都需要在交换环境下进行sniffer监控,因此这里就先从定义镜像端口做起。为什么要先定义镜像端口才能sniffer?这和交换机工作的原理有关。交换机的工作原理与HUB有很大的不同,HUB组建的网络数据交换都是通过广播方式进行的,而交换机组建的网络是根据交换机内部的CAM表(暂且理解为MAC地址表)进行转发的。也就是说前者可直接sniffer而后者不能直接sniffer。这时就要用到端口镜像,端口镜像的定义就是:“把被镜像端口的进出数据报文完全拷贝一份到镜像端口,方便我们进行流量观测或者故障定位”。
还是来做一个实验吧,这样理解起来快一些
假设某公司申请了一根10M的电信宽带,突然某一天下午,网速奇慢无比。公司里的员工怨声不断,强烈要求网络恢复通畅,这时作为网络管理者的你,需要马上找出原因:
不同的设备做端口镜像的方法不同,CISCO的玩意儿虽好但对大部份网络爱好者来说太专业,做教程不一定合适。因此这里我选一款D-LINK的 DES-3226S二层交换机为例,以WEB界面说明如何进行镜像端口的配置(Mirroring Configurations)。
如图:
进入DES-3226S二层可网管交换机
选择login to make a setup,登陆后进入交换机主配置菜单并显示基本信息:
选择下面的Advanced setup------Mirroring Configurations(镜像配置)
mirror Status选项Enabled,然后将Port 1设置为镜像端口,其余端口监听模式点选为Both(即发送与接收的数据都同时监控),这样交换机就把2号端口至24号端口的数据随时随地都COPY了一份给Port 1,然后我们在Port 1上进行监听,Sniffer也就有了用武之地。
将网管电脑插入Port 1(镜像端口),开启Sniffer软件,怎么样?界面够酷吧?左、右两幅地图很直观的显示了整个LAN内的数据流向。不管是右边的“传输地图”还是左边的“主机列表”它们现在都是根据学习到的MAC地址进行流量标识的。
通过左边的“主机列表饼图”,你可以很清楚的看到00-50-18-21-A5-F4和00-E0-4C-DD-2E-2E这两台主机的数据流量目前为止最多。
请出“局域网MAC地址扫描器”(也可以简单的ARP -A或者利用下面讲的IP选项),进行LAN内的MAC地址扫描,进一步知道了00-E0-4C-DD-2E-2E属于192.168.123.117。而00-50-18-21-A5-F4这个地址属于192.168.123.254(这个地址为网关出口)。这样我们就可以知道是谁人把网速拖慢了!
仅仅是知道是谁拖慢了网速还不够,我们还要进一步知道此人到底是怎么把网速拖慢了的。还是在“传输地图”里,看到下面MAC/IP/IPX三个选项了么?现在点IP选项,看出现了什么?
不再是基于MAC地址的地图了,已经切换成IP地址的传输地图了。其中最粗的那根线:192.168.123.117=========221.10.135.114 说明了这家伙一直在和外网的一台主机交换数据,很明显他是在下载文件。
再用“主机列表”中IP选项以饼图查看:
发现192.168.123.117与221.10.135.114的通信流量竟然高达整个网络流量的89.58%(44.20+45.38)!
现在故障原因已经很明了,我们只需要对192.168.123.117这台主机进行处理就可以恢复网络的通畅。但在这之前,我们可以先利用 sniffer监控一下整个网络中都在传些什么内容!点击上面的菜单中:捕获---定义过滤器----选择“地址”子菜单;地址类型(协议):IP;在下面的“位置1”和“位置2”中分别填入“任意的”、“任意的”,意思是对整个LAN内的主机进行监控,当然你也可以仅仅监控两个地址的通信,比如前面所发现的192.168.123.117和221.10.135.114这两台主机,要注意双向通信或者单向通信的选择(键头符号)。
还可以在“高级”里选择具体对哪些IP协议进行监控,如果你对TCP/IP协议熟悉,利用这个功能可以快速得到自己想要的数据。
譬如我们抓到了192.168.123.139访问外网主机211.91.135.26在80端口的一些数据包,说明这台主机正在流浏网页。
甚至可以进一步看对方在浏览远程主机上哪个目录下面的网页,看到那个rm文件的地址了么?这说明他目前正在线收看一部电影或者一首歌曲(根据前面music目录来推断)。
sniffer的功能还远不止这些,不过今天就到止为止吧,end.