一直都想写一个sniffer的应用教程,上次和J_Lee合办的那张CISCO贴里就保留了这一项,今天终于有空来做这件事情了。
sniffer软件博大精,我之所窥也不过沧海一粟。因此这个教程仅仅是一个针对初学者的教程,但如果没有一定的网络基础,这张贴恐怕仍然会让你感到吃力。有兴趣的朋友就跟我一起来玩~
现在很多时候我们都需要在交换环境下进行sniffer监控,因此这里就先从定义镜像端口做起。为什么要先定义镜像端口才能sniffer?这和交换机工作的原理有关。交换机的工作原理与HUB有很大的不同,HUB组建的网络数据交换都是通过广播方式进行的,而交换机组建的网络是根据交换机内部的CAM表(暂且理解为MAC地址表)进行转发的。也就是说前者可直接sniffer而后者不能直接sniffer。这时就要用到端口镜像,端口镜像的定义就是:“把被镜像端口的进出数据报文完全拷贝一份到镜像端口,方便我们进行流量观测或者故障定位”。
还是来做一个实验吧,这样理解起来快一些
假设某公司申请了一根10M的电信宽带,突然某一天下午,网速奇慢无比。公司里的员工怨声不断,强烈要求网络恢复通畅,这时作为网络管理者的你,需要马上找出原因:
不同的设备做端口镜像的方法不同,CISCO的玩意儿虽好但对大部份网络爱好者来说太专业,做教程不一定合适。因此这里我选一款D-LINK的DES-3226S二层交换机为例,以WEB界面说明如何进行镜像端口的配置(Mirroring Configurations)。
如图:
sniffer使用查网络故障 _休闲

进入DES-3226S二层可网管交换机
选择login to make a setup,登陆后进入交换机主配置菜单并显示基本信息:
sniffer使用查网络故障 _sniffer_02

 选择下面的Advanced setup------Mirroring Configurations(镜像配置)
sniffer使用查网络故障 _职场_03

mirror Status选项Enabled,然后将Port 1设置为镜像端口,其余端口监听模式点选为Both(即发送与接收的数据都同时监控),这样交换机就把2号端口至24号端口的数据随时随地都COPY了一份给Port 1,然后我们在Port 1上进行监听,Sniffer也就有了用武之地。
sniffer使用查网络故障 _休闲_04
将网管电脑插入Port 1(镜像端口),开启Sniffer软件,怎么样?界面够酷吧?左、右两幅地图很直观的显示了整个LAN内的数据流向。不管是右边的“传输地图”还是左边的“主机列表”它们现在都是根据学习到的MAC地址进行流量标识的。
sniffer使用查网络故障 _sniffer_05

通过左边的“主机列表饼图”,你可以很清楚的看到00-50-18-21-A5-F4和00-E0-4C-DD-2E-2E这两台主机的数据流量目前为止最多。
sniffer使用查网络故障 _休闲_06
请出“局域网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(这个地址为网关出口)。这样我们就可以知道是谁人把网速拖慢了!
sniffer使用查网络故障 _职场_07
仅仅是知道是谁拖慢了网速还不够,我们还要进一步知道此人到底是怎么把网速拖慢了的。还是在“传输地图”里,看到下面MAC/IP/IPX三个选项了么?现在点IP选项,看出现了什么?不再是基于MAC地址的地图了,已经切换成IP地址的传输地图了。其中最粗的那根线:192.168.123.117=========221.10.135.114 说明了这家伙一直在和外网的一台主机交换数据,很明显他是在下载文件。
sniffer使用查网络故障 _sniffer_08
 再用“主机列表”中IP选项以饼图查看:
发现192.168.123.117与221.10.135.114的通信流量竟然高达整个网络流量的89.58%(44.20+45.38)!
sniffer使用查网络故障 _休闲_09

 现在故障原因已经很明了,我们只需要对192.168.123.117这台主机进行处理就可以恢复网络的通畅。但在这之前,我们可以先利用sniffer监控一下整个网络中都在传些什么内容!点击上面的菜单中:捕获---定义过滤器----选择“地址”子菜单;地址类型(协议):IP;在下面的“位置1”和“位置2”中分别填入“任意的”、“任意的”,意思是对整个LAN内的主机进行监控,当然你也可以仅仅监控两个地址的通信,比如前面所发现的192.168.123.117和221.10.135.114这两台主机,要注意双向通信或者单向通信的选择(键头符号)。
sniffer使用查网络故障 _休闲_10

还可以在“高级”里选择具体对哪些IP协议进行监控,如果你对TCP/IP协议熟悉,利用这个功能可以快速得到自己想要的数据。
sniffer使用查网络故障 _休闲_11
 譬如我们抓到了192.168.123.139访问外网主机211.91.135.26在80端口的一些数据包,说明这台主机正在流浏网页。
sniffer使用查网络故障 _休闲_12

甚至可以进一步看对方在浏览远程主机上哪个目录下面的网页,看到那个rm文件的地址了么?这说明他目前正在线收看一部电影或者一首歌曲(根据前面music目录来推断)。

 
sniffer的功能还远不止这些,不过今天就到止为止吧,end.