MAC地址欺骗的原理和实战介绍1(2)
发布时间:2021-06-09
发布时间:2021-06-09
二.前很多网络都使用Hub进行连接的,众所周知,数据包经过Hub传输到其他网段时,Hub只是简单地
把数据包复制到其他端口。因此,对于利用Hub组成的网络来说,没有安全而言,数据包很容易被用户拦
截分析并实施网络攻击(MAC地址欺骗、IP地址欺骗及更高层面的信息骗取等)。为了防止这种数据包的无
限扩散,人们越来越倾向于运用交换机来构建网络,交换机具有MAC地址学习功能,能够通过VLAN等
技术将用户之间相互隔离,从而保证一定的网络安全性。
交换机队于某个目的MAC地址明确的单址包不会像Hub那样将该单址包简单复制到其他端口上,而
是只发到起对应的特定的端口上。如同一般的计算机需要维持一张ARP高速缓冲表一样,每台交换机里面
也需要维持一张MAC地址(有时是MAC地址和VLAN)与端口映射关系的缓冲表,称为地址表,正是依靠
这张表,交换机才能将数据包发到对应端口。
地址表一般是交换机通过学习构造出来的。学习过程如下:
(1) 交换机取出每个数据包的源MAC地址,通过算法找到相应的位置,如果是新地址,则创建地址表
项,填写相应的端口信息、生命周期时间等;
(2) 如果此地址已经存在,并且对应端口号也相同,则刷新生命周期时间;
(3) 如果此地址已经存在,但对应端口号不同,一般会改写端口号,刷新生命周期时间;
(4) 如果某个地址项在生命周期时间内没有被刷新,则将被老化删除。
如同ARP缓冲表存在地址欺骗的问题,交换机里的这种MAC地址表也存在地址欺骗问题。在实际应
用中,人们已经发现早期设计的许多交换机都存在这个问题,以Cisco2912交换机为例,阐明一下如何进
行MAC地址欺骗。
如图所示,两个用户PcA和PcB分别连接Cisco2912的portA和portB两个端口。
PortC Internet
Cisco2912
portA / portB /
Hub Hub
PcA PcB
00.00.AA.AA.AA.AA 00.00.BB.BB.BB.BB
假定PcA的MAC的地址是00.00.AA.AA.AA.AA
PcB的MAC的地址是00.00.BB.BB.BB.BB
在正常的情况下,Cisco2912里会保存如下的一对映射关系:
(00.00.AA.AA.AA.AA)<—>portA
(00.00.BB.BB.BB.BB) <—>portB
() <—>portC
依据这个映射关系,Cisco2912把从PortC上收到的发给PcA的包通过PortA发出,而不会从PortB发
出。但是如果我们通过某种手段使交换机改变了这个映射关系,则Cisco2912就会将数据包转发到不应该
去的端口,导致用户无法正常访问Internet等服务。最为简单的一种方法就是用户PcB构造一种数据包,
该包的源MAC地址不再是自己的MAC地址00.00.BB.BB.BB.BB,而是PcA的MAC地址
00.00.AA.AA.AA.AA,从上面的地址学习过程可以看出,Cisco2912就会错误的认为MAC地址
00.00.AA.AA.AA.AA是从portB上来的,因此映射关系也就改为:
(00.00.AA.AA.AA.AA)<—>portB
(00.00.BB.BB.BB.BB) <—>portB
这样,Cisco2912就会错误地把从PortC上收到的目的地址为MAC A的数据包通过PortB发出,而不
再发给PortA.。显然,如果PcB一直在发这种特意构造的包。用户PcA就无法通过Cisco2912正常访问
Internet。更为严重的是,如果用户PcB构造portC上联设备(如路由器)的MAC地址(),
则会导致Cisco 2912下面所有的用户无法正常访问Internet等业务。
下一篇:外贸单证之销货合同范本