1.6.5 硬件
与网络嗅探有关的硬件主要包括网卡、网线探针、集线器与交换机,下面分别对它们进行简要介绍。
1.网卡
一般情况下,网卡有下列四种接收模式:
❑广播方式:该模式下的网卡能够接收网络中的广播信息。
❑组播方式:该模式下的网卡能够接收组播数据。
❑直播方式:在这种模式下,只有目的网卡才能接收该数据。
❑混杂模式:在这种模式下,网卡能够接收一切通过它的数据,不管该数据是否是传送给它的。
网卡默认的工作模式是广播模式或直播模式,即只能接收发送给自己或广播的数据。正常情况下,接收数据的主机网卡会根据数据包中所包含的目标MAC地址或广播MAC地址进行判断,若为自己的MAC地址或是广播MAC地址,则接收该数据包,并提交给上层处理程序,否则丢弃该数据包。当网卡处于混杂模式时,则不做任何判断直接把接收到的所有数据包交给上层处理程序。网络分析技术就是基于这个原理来捕获网络中所有的数据包的。
2.网线探针
网线探针(cable taps)是帮助连接到网线的硬件设备。使用网线探针可以访问计算机、集线器、交换机、路由器及其他设备之间网线上的任意点。网线探针可用于全双工或半双工的10 Mbps、100 Mbps与1000 Mbps速度的以太网,甚至是几十Gbps的网络。在http://www.netoptics.com、http://www.finisar.com等网站可获得网线探针的相关信息。
3.集线器
集线器(hub)的主要功能是对接收到的信号进行再生整形放大,从而扩大网络传输距离,并把所有结点集中在以它为中心的结点上。它工作在OSI参考模型的数据链路层上。
集线器是在一个共享介质(比如以太网)上把多台主机连接起来的一个设备。当一台计算机发送信息时,该信息会行走到集线器上,集线器接着把信息推向所有与之相连接的计算机上,而该信息的目标计算机将会根据自己的MAC地址与数据包头部所含的目标MAC地址进行判断,如果一致就接收该数据包。
集线器推进所有信息的区域,称为冲突域,又称广播域。一个集线器只有一个冲突域。图1-8所示为一个带有集线器冲突域的网络架构。大量的冲突会使得嗅探更容易,而且会导致性能问题,比如集线器的带宽占用或流量过载。
图 1-8 带有集线器冲突域的网络架构
4.交换机
交换机(switch)也是把共享介质上的计算机连接到一起的设备。交换机维护着与交换机所连接计算机的MAC地址和交换机本身对应端口的一个关系列表。当一台交换机接收到数据包时,它不会盲目地发送给所有的计算机,而是先查找数据包的头部来获得目标MAC地址,接着把数据包推进到该MAC地址对应的特定端口,这样就把冲突域缩小为一个单独的端口了,如图1-9所示。该类型的冲突域为每个连接提供了一个明确的带宽量,而集线器提供的是一个共享带宽量。
图 1-9 交换机冲突域
因为交换机的价格近年来急剧下降,故现在常采用交换机替换集线器,或者在选购新设备时选择交换机。一些价格更贵的交换机包含了更好的技术,这使其对嗅探的攻击抵挡力更强。
如图1-8与图1-9所示,集线器使嗅探较容易,而交换机会使嗅探困难得多,但是交换机也是能被欺骗的(详见1.6.6节)。
如果工作在使用交换机的网络上,那么该如何执行正当的网络分析呢?很幸运的是,大部分交换机与路由器提供了端口映射机制。为了映射端口,必须配置交换机,使其可以从一个希望映射的端口复制网络流量到所连接的端口。例如在图1-10所示中,就映射了交换机端口1的所有网络流量到端口5,这样,网络分析器就可以在端口5查看发送到计算机A与计算机A发送出去的所有网络流量了。有时候,管理员会将交换机的上行端口进行端口映射,以查看出/入交换机所有端口的网络流量。
图 1-10 交换机端口映射