欢×××陈师傅”缓存
在最初的时候,交换机里是没有mac地址表信息的,那么交换机就要进行学习,假如交换机上链接着两个主机PC1和PC2,当PC1要与PC2进行通讯时,PC1的数据帧流入交换机,交换机会把PC1的MAC地址和PC1链接的端口记录到交换机的mac表中,可是交换机的mac地址表中并无PC2的mac地址信息和端口绑定,因此交换机会将数据帧向全网发送广播,当主机收到数据帧后会把目的mac地址和本身的进行比对,若是同样就应答,不同就丢弃,当PC2收到与本身mac地址相同的数据帧后,会进行应答,当应答的数据帧流经交换机的时候,交换机会把应答的数据帧的mac地址信息和所进入的端口记录在交换机的mac地址表中,而后交换机会寻找与应答数据帧对应的目的mac地址,交换机发现PC1的mac地址表信息已经存在,会根据PC1绑定的端口号直接将应答数据帧发送给PC1,这样就完成了一次mac地址学习。 安全
若交换机与某台主机长时间未通讯,交换机就会把该主机的mac地址从mac地址表里删除掉,等下次通讯时从新学习地址。网络
经过伪造大量未知的mac地址进行通讯,在交换机不断地学习以后,交换机的mac地址表被充满,正常的主机mac地址通过老化以后就没法添加到交换机的mac地址表中,这样就会强迫交换机进行广播,从而达到功击主机能够获取两个主机之间进行的通讯数据的目的 并发
kali中有一款名为macof的工具能够进行mac泛洪功击测试,本次使用macof在功击机上进行测试,ip地址为192.168.2.130
下面的实验中交换机均采用神州数码DCRS6200设备
PC1为Windows xp主机,ip地址为192.168.2.140
PC2为神州数码设备DCFW防火墙,ip地址为192.168.2.2ide
开始以前咱们先查看交换机的mac地址信息
使用macof进行mac地址泛洪功击 工具
再次查看交换机的mac地址表,能够看到mac地址表被大量伪造的mac堆满 oop
如今在PC1上访问DCFW,也就是PC2,而后打开wireshark进行监听
wireshark过滤规则为ip.addr == 192.168.2.140 and http
能够在wireshark上监听到PC1传入的用户名和密码 学习
在进行mac泛洪功击的时候,交换机的CPU利用率是偏高的 测试
CS6200-28X-EI(config-if-ethernet1/0/5)#sw port-security #开启端口安全性
CS6200-28X-EI(config-if-ethernet1/0/5)#sw port-security maximum 5 #设置接口容许接入的最大MAC地址数量为5
CS6200-28X-EI(config-if-ethernet1/0/5)#sw port-security mac-address 00-0c-29-b0-81-4f #绑定指定的mac地址,并添加到交换机的运行配置中,交换机的端口收到源mac数据帧与设置的mac地址进行比较,若是一致则会转发,若是不一致,则会丢弃源mac的数据帧
DCRS(config-if-ethernet1/0/5)#sw port-security mac-address sticky #启用mac地址粘滞性,粘滞性能够将端口配置为动态得到MAC地址,而后将这些MAC地址保存到运行配置中,若是禁止Port Security特性,粘滞安全mac地址仍保留在运行配置中。
DCRS(config-if-ethernet1/0/5)#sw port-security violation restrict #设置安全违规操做为安全违背限制模式,默认状况下是安全关闭模式,安全违背限制模式将会丢弃未受权地址发来的数据帧,建立日志消息并发送SNMP Trap消息。有关其余安全违规操做可使用DCRS(config-if-ethernet1/0/5)#sw port-security violation ? 进行查看网络传输协议
AM(access management)又名访问管理,它利用收到数据报文的信息(源IP 地址
或者源IP+源MAC)与配置硬件地址池(AM pool)相比较,若是找到则转发,不然丢弃。
DCRS(config)#am enable #在配置模式下开启认证管理
DCRS(config-if-ethernet1/0/5)#am port #进入功击机的接口下,配置端口使能
DCRS(config-if-ethernet1/0/5)#am mac-ip-pool 01-00-5e-00-00-16 192.168.2.22 #配置mac-ip地址池,指定该端口上用 户的源MAC 地址和源IP 地址信息,当AM使能的时候,AM模块会拒绝全部的IP报文经过(只容许IP地址池内的成员源地址经过)
ARP(地址解析协议)是在网络协议包中经过解析网络层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议。在以太网协议中规定,同一局域网中的一台主机要和另外一台主机进行直接通讯,必需要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就致使在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。因而须要一种方法,根据目的主机的IP地址,得到其MAC地址。这就是ARP协议要作的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
每台安装有TCP/IP协议的主机(包括网关)都有一个ARP缓存表。该表中保存这网络中各个电脑的IP地址和MAC地址的映射关系。
PC1要与PC2通讯,会先查看本身的ARP缓存表,若是有PC2的IP与MAC地址的映射关系,会直接将数据帧发送给PC2,若是没有的话,会广播发送ARP请求,请求中包含着PC2的IP地址,当PC2收到PC1的ARP请求后,会把PC1的IP地址和Mac地址存放在本身的ARP缓存表中,而后会把回复ARP应答给PC1,这时候PC1收到回复,则会把pc-2的ip地址和pc-2的mac地址缓存到arp表中。
假设PC3是功击机,那么PC3会向PC1发送一个ARP请求,请求中的IP地址是PC2的IP地址,而Mac地址则是PC3的地址,同时也会向PC2发送一个,IP地址是PC1的IP地址,Mac地址是PC3的MAC地址,这样PC1和PC2的ARP缓存表中都有了PC3的Mac地址,那么PC1若是和PC2互相通讯,其实是都把数据发送给了PC3,再从PC3将数据帧转发给目标地址,PC3实际上在这里充当了一个中间人的角色,这样就完成了一次ARP欺骗
ARP功击测试
本次测试是对局域网中的IP为192.168.179.131的主机进行测试
首先须要在功击机上开启IP转发功能
查看目标主机的arp缓存表
开始功击,这里使用的是命令行工具arpspoof,kali中arp欺骗的工具备不少,若是使用图形界面来操做能够选择ettercap工具
再次查看目标主机的arp缓存表,发现网关的MAC地址已经变为功击机的MAC地址,arp欺骗成功,这时候就可使用一些抓包工具来获取他的信息了
内容同Mac泛洪的防护方法
DHCP Snooping会创建一张DHCP监听绑定表,对于已存在于绑定表中的mac和ip对于关系的主机,不论是dhcp得到,仍是静态指定,只要符合这个表就能够了。若是表中没有就阻塞相应流量。DCRS(Config)#ip dhcp snooping enable #使能DHCP Snooping功能DCRS(Config)#ip dhcp snooping binding enable DCRS(Config)#ip dhcp snooping binding arpDCRS(Config)#interface ethernet 0/0/1DCRS(Config-Ethernet0/0/1)# ip dhcp snooping trust #配置接口为信任接口