局域网安全-MAC Flood/Spoof
原文发表于:2010-09-22
转载至cu于:2012-07-21
很早之前就看过秦柯讲的局域网安全的视频。但是看了之后在实际工作当中很少用到(指我个人的工作环境中,惭愧啊…),时间长了,好多技术细节的东西就忘记了。这段时间再看看,看的同时会做一下笔记,既能加深印象也方便以后查找。
- 局域网安全的mac flood/spoof 攻击
Unknown unicast flooding:
交换机收到单播包,但在cam表没有目的mac时会对广播域除入口外的所有端口泛洪,这样会导致非目的mac的终端截获到数据包,有潜在的不安全性。
默认交换机对单播包是可以进行广播的.。关闭功能在接口模式下:switchport block unicast/multicast
Flood:
交换机的cam表容量一定,设计中针对各级别的交换机的cam表容量是足够的。mac flooding attack制造大量的mac抢占cam表空间,不仅消耗交换机资源(cpu, mem,cam等),还使交换机拒绝正常的服务器请求(比较容易实现,但也容易被发现)。
Spoof:
伪装成已存在的mac,更新cam表中mac和端口的对应关系(cam表以最后收到的数据包更新)。但欺骗的前提是被伪装的mac一直不发包,否则cam表又被刷新(相对比较难实现,但不易被发现)。
- 一款攻击软件:dsniff
下载地址:http://www.monkey.org/~dugsong/dsniff/dsniff-2.3.tar.gz
- 阻止攻击:port security
1. 有效阻止mac flood/spoof攻击
a. mac flood 当特定接口设定的mac table满的时候产生violation
b. 当一个mac在同一个vlan的两个不同接口学到时产生violation
2. port security默认行为
a. 所有接口port security默认disable,端口下启用:switchport port-security
b. 默认每一个接口的最大mac地址容量是1
c. 默认violation是shutdown
3. 三种violation方式
a. shutdown 使接口处于errordisable状态,并且告警
b. restrict 丢掉违规数据包,并且告警
c. protect 悄无声息的丢弃数据包,没有告警
4. 三种地址学习方式
a. 自动学习(默认)
b. 手动指派: switchport port-security mac-address ****.****.****
c. sticky: switchport port-security mac-address sticky ****.****.****
5. 查看port security的cpu利用率
show processes cpu | in Port-S
- 65系列特性:
mac-address-table notification mac-move
mac move notification 特性能够检测到mac地址的非法移动,虽然不能阻止攻击,却能够比较有效地提醒管理人员存在攻击。
mac-address-table unicast-flood
a. 限制unknown unicast flooding
b. mac-address-table unicast-flood limit 4 vlan 10 filter 5
limit:对同一个vlan,每一个mac,每秒的unicast-flood的数量进行限制
filter:一旦超过limit,过滤unicast-flood的时间(s)
alert:一旦超过limit,告警
shutdown:一旦超过limit,shutdown端口
局域网安全-MAC Flood/Spoof的更多相关文章
- C#获取局域网MAC地址
效果: 说明:获取本局域网的MAC地址(非本机的MAC地址) 代码: /// <summary> /// 获取网卡物理地址 /// </summa ...
- 计算机网络学习笔记--数据链据层之MAC子层(整理)
概述: 为什么需要介质访问控制子层(MAC)? 介质访问控制子层(MAC)是局域网体系结构中划分的子层,多路访问链路采用共享介质连接所有站点.发送站点通过广播方式发送数据并占用整个带宽,如果有多个站点 ...
- (转载)详解网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
郑重声明:原文转载于http://dengqi.blog.51cto.com/5685776/1223132 向好文章致敬!!! 一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理 ...
- asp.net 获得客户端 mac 地址
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ...
- MAC地址表、ARP缓存表以及路由表
一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ...
- 详解网络传输中的三张表,MAC地址表、ARP缓存表以及路由表
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dengqi.blog.51cto.com/5685776/1223132 一:M ...
- 交换机工作原理、MAC地址表、路由器工作原理详解
一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ...
- MAC 系统 各种操作
Part1:MAC如何打开活动监控器 1.第一种方法: 2.第二种方法 然后直接拖到dock中 Part2:Terminal 中的操作 一.如何开启apache 在终端输入sudo apachectl ...
随机推荐
- Linux 嵌入式 开发环境 交叉编译安装
1.安装 Ubuntu 系统 安装完毕,系统 提示 重启,这个时候 请拔掉U盘,进行重启 OK. 2.安装 NFS 服务 3.安装 openssh服务 4.开启openSSH服务 5.就可以使用 Wi ...
- EF中的Guid主键
除了自增长ID(int),我们还能把主键设置为GUID类型的. 创建我们的数据表 CREATE TABLE dbo.JoinA( AGUID UNIQUEIDENTIFIER PRIMARY KEY ...
- 如何在localStorage中存取数组
默认localStorage只能存取字符串 那么如何存取数组呢 let newlist = [] localStorage.setItem('recent', JSON.stringify(newli ...
- Oracle高级函数篇之递归查询start with connect by prior简单用法
路飞:" 把原来CSDN的博客转移到博客园咯!" 前段时间,自己负责的任务中刚好涉及到了组织关系的业务需求,自己用了oracle递归查询.下面简单来举个例子.在工作中我们经常会遇到 ...
- Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流
/* 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 3. fs.writeFile 写入文件(文件不存在就创建,但不能创 ...
- HTML5常用标签及特殊字符表
*http://html5doctor.com/nav*http://html5doctor.com/article*http://html5doctor.com/section*http://htm ...
- 大数据学习:Spark是什么,如何用Spark进行数据分析
给大家分享一下Spark是什么?如何用Spark进行数据分析,对大数据感兴趣的小伙伴就随着小编一起来了解一下吧. 大数据在线学习 什么是Apache Spark? Apache Spark是一 ...
- java.io.FileNotFoundException:file:\D:\code\xml-load\target\XX.jar!\XXX(文件名、目录名或卷标语法不正确。)
1.当使用Spring Boot将应用打成jar时,需要读取resources目录下配置文件时,通常使用ClassLoader直接读取,通常建议使用这种方式,直接将xml文件读成流传入 // 加载xm ...
- Python-条件语句和循环语句
·条件语句 笔记: If 布尔值: print(‘hello,world!’) 当表达式为布尔表达式时,Flase None 0 ”” () [] {} 都视为假! @ ...
- ruby安装devkit
双击下载文件,指定解压路径,路径中不能有空格.如C:\DevKit,这个路径就是<DEVKIT_INSTALL_DIR>. > cd <DEVKIT_INSTALL_DIR&g ...