龙空技术网

水满则溢,MAC地址表也一样,危害很严重

网络之路 110

前言:

而今兄弟们对“mac地址变了会怎么样”大概比较关切,兄弟们都想要学习一些“mac地址变了会怎么样”的相关内容。那么小编同时在网上网罗了一些关于“mac地址变了会怎么样””的相关知识,希望小伙伴们能喜欢,小伙伴们快快来了解一下吧!

概述

前两篇文章通过学习MAC地址的学习机制,我们已经知道交换机每收到一个报文,都会取出其源MAC地址,在MAC地址表中添加或者刷新表项。

这种正常的MAC地址学习流程,却被黑客利用,变成交换机的一个漏洞。因为黑客可以发送成千上万的源MAC地址变化的报文,把交换机的MAC地址表填满,从而造成正常用户之间通信的报文也以泛洪的形式来转发,从而阻塞整个网络。

下面我们还是以一个例子来阐述MAC地址表溢出攻击和其防御手段。

MAC地址表溢出

拓扑

拓扑图

交换机的4个端口E0/0-3都在同一个VLAN 10里;假设交换机的最大MAC地址表项值为5(最多能创建5个表项);攻击者持续不断的发送源MAC地址变化的报文(源MAC总共变化5次);PC2向PC1发送报文。

测试配置

PC的配置:PC1、PC2、PC3的配置都类似,以PC1为例,

PC1配置

交换机配置:所有的PC在同一个VLAN里。

交换机配置

测试过程

攻击者持续不断的发送源MAC地址变化的报文,会导致交换机所有的MAC表项都被占用,如下图所示:MAC地址表已经达到最大值(5);

攻击者占满MAC地址表

PC2访问PC1,发送的报文到达交换机;交换机会取出报文的目的MAC地址,查找MAC地址表,发现没有PC1对于的表项;

PC2发送的报文

交换机会把这个报文从所有在同一个VLAN的接口发送出去,这样就形成泛洪;在这个场景下,PC1和PC3都能收到PC2发送给PC1的报文,这不仅导致网络中有多余的流量,也会让PC2发送的数据不安全。造成这样的现象是因为交换机没有学习PC1的MAC地址,如果交换机学习了PC1的MAC地址,则PC2的流量只会从E0/1转发出去,不会泛洪。但是攻击者把MAC地址表填充满了,交换机没有能力把PC1的MAC加入到表中。如果网络的规模比较大,则网络中所有PC互通的流量都泛洪到网络中,带宽很快的就会被占满。防御手段

防御手段1:MAC地址老化

MAC地址老化是防止MAC地址表溢出的天然手段,不过它仅仅能用在正常使用的环境中,如果遇到有黑客攻击的场景,功能非常有限。

因为黑客会持续不断的发送报文,导致交换机也持续不断的刷新MAC地址表,这样交换机永远没有机会把正常PC的源MAC记录在MAC地址表中。

防御手段2:限制MAC地址数量

MAC地址溢出攻击非常容易判断,当发现来自一个或者几个端口的MAC地址把整个MAC地址表填满之后,就可以判断这是MAC地址表溢出攻击了。

​如下图:打印MAC地址表出来以后,发现来自E0/1的MAC占据了所有的表项,

E0/1接口的MAC太多

这时就可以采用限制MAC地址数量的方法来防止攻击了。将最大允许的MAC地址数量设置为2,超过的报文都丢弃,这样就能让交换机腾出表项,学习其它正常PC的MAC,配置如下图所示:

配置MAC地址限制

总结

MAC地址表溢出是黑客利用交换机正常的MAC地址学习流程中的漏洞而所做的攻击,它通过持续不断的发送源MAC地址变化的报文,从而填满并且一直占用所有的MAC地址表项而实现的。

对于MAC地址表溢出攻击我们也要引起足够的重视,不要说交换机性能足够强悍,不用担心这样的攻击。事实上如果不采取措施,没有交换机能抵得住MAC地址泛洪攻击,因为黑客发送上亿个MAC地址变化的报文,也是轻而易举的事情。

各位经过上面的描述,对于MAC地址表溢出攻击已经了解了吧?

如果还有疑问,欢迎留言谈论!也非常欢迎关注我的头条号,一起讨论网络问题!

标签: #mac地址变了会怎么样 #mac地址改变会怎么样