一、基本原理
每个以太网卡都有一个MAC(介质访问控制)地址。通常的工作模式中,网卡只处理接收到的特定帧(Frame),即访问自己MAC地址、网卡所属的组播地址和广播地址的帧,网络上其它的帧会被网卡忽略不计。而置于混杂模式的网卡将处理所有接收到的帧,因此只要一台主机将自己的网卡设置成混杂模式,就可嗅探到流经的所有数据。
混杂模式需要网络适配器硬件的支持,同时还需要安装在操作系统上的软件驱动程序的支持。此外,只有使用特定的网卡和驱动,Sniffer才可查看物理层错误(如CRC和校准错误)。大多数网卡和网卡驱动程序都会根据物理层是否有错误来决定是否取消帧,所以这些有错误的帧永远也不会到达更高层。
二、Sniffer通常的应用方式
1.利用交换机端口映射功能
现在Sniffer面临的最大挑战是网络已经转变到交换式网络环境。交换机在OSI模型的第二层工作,它利用内存来建立表单,能记住与交换机上端口有关的MAC地址。这样就不需要像集线器一样要向每个端口发送数据包才能到达接收装置。如果要嗅探某一端口,则需要利用交换机的端口映射功能。
端口映射可以映射一个端口或者VLAN,使交换机能够把被监视端口的所有流量复制到指定的端口,即与Sniffer相连的端口。如果被监听端口的总流量超出了端口流量,就会有一部分数据包丢失。
对于不同厂家的产品,开启映射功能的方式也不同(如Cisco公司的SPAN,3COM公司的RAP(Roving analysis port),Intel公司的Port mirroring),而且并不是所有的网络交换机都支持这种功能。
2.利用集线器
如果交换机不支持镜像功能,也可以通过接入普通集线器(Hub)的方法,达到复制端口流量的目的。集线器在OSI模型的第一层工作,它将所有端口的数据进行广播。由于10Base T Hub一般以半双工方式工作,要求被测试线路带宽低于5Mbps,此时集线器不会对线路带来负面影响。否则,使用集线器会引起某些问题,或掩盖某些问题。
三、基于网桥技术实现网络嗅探
1.制作网络监测接口盒
一些采用以太网分流技术的专门设备(如网络监测接口盒),可监控两个网络设备之间的流量,不用重新设置交换机。如可在服务器和交换机之间安装分流设备,并与Sniffer相连,然后就可以捕获服务器的所有流量。
TAP(Test Access Port)工作在OSI模型的第一层,它在被动地监听网络流量的时候可以对原数据流不造成任何影响,因此可监听全双工链路两个方向访问的所有网络流量,而且可以包括物理错误。参照IEEE 802.3u标准,100BASE-Tx网络中五类双绞线的4对线缆只定义了1、2和3、6线对用于网络通信。其中,与主机网卡相连的
TAP示意图
(责任编辑:adminadmin2008)