端口镜像是怎么实现的


Posted in 面试题 onMarch 25, 2014
配置Catalyst交换端口分析器(SPAN)
介绍
交换端口分析器(SPAN)功能有时被称为端口镜像或端口监控,该功能可通过网络分析器(例如交换机探测设备或者其它远程监控(RMON)探测器)选择网络流量进行分析。以前,SPAN是Catalyst交换机族较为基本的功能,但最新推出的CatOS有许多增强功能,而且有许多功能是用户现有才开始使用的。本文并不是SPAN功能的又一种配置指南,而是立足于介绍已实施的SPAN的最新功能。本文将对SPAN的一般问题进行回答 ,例如:
SPAN是什么?我如何对它进行配置?
有什么不同的功能(尤其是同时进行多个SPAN话路)?需要何种级别的软件来执行这些功能?
SPAN是否会影响交换机的性能?
开始配置前
规则
有关详情,请参阅 Cisco技术提示规则。
SPAN简要介绍
SPAN是什么?为什么需要SPAN? 在交换机上引入SPAN功能,是因为交换机和集线器有着根本的差异。当集线器在某端口上接收到一个数据包时,它将向除接收该数据包端口之外的其它所有端口发送一份数据包的拷贝。当交换机启动时,它将根据所接收的不同数据包的源MAC地址开始建立第2层转发表。一旦建立该转发表,交换机将把指定了MAC地址的业务直接转发至相关端口。
例如,如果您想要截获从主机A发送至主机B的以太网业务,而两台主机是用集线器相连的,那么只要在该集线器上安装一嗅探器,所有端口均可看见主机A和主机B之间的业务:
在交换机中,当知道了主机B的MAC地址之后,从主机A到主机B的单播业务仅被转发至主机B的端口,因此,嗅探器看不见:
在这个配置中,嗅探器将仅截获扩散至所有端口的业务,例如广播业务、具有CGMP或者IGMP侦听禁止的组播业务以及未知的单播业务。当交换机的CAM表中没有目的地的MAC时,将发生单播泛滥。它无法理解向何处发送业务,而将数据包大量发送至VLAN中的所有端口。
将主机A发送的单播数据包人工复制到嗅探器端口需要一些附加功能来实现。
在上面的图表中,与嗅探器相连的端口配置为:对主机A发送的每一个数据包拷贝进行接收。该端口被称为SPAN端口。下文各节将说明如何对该功能进行精确的调节,使其作用不仅仅限于监控端口。
SPAN术语
? 入口业务: 进入交换机的业务。
? 出口业务: 离开交换机的业务。
? 源(SPAN)端口: 用SPAN功能受监控的端口。
? 目的地(SPAN)端口: 监控源端口的端口,通常连有一个网络分析器。
? 监控端口:在Catalyst2900xl/3500xl/2950术语中,监控端口也是目的地SPAN端口。
本地SPAN:? 当被监控端口全部位于同一交换机上作为目的地端口时,SPAN功能为本地SPAN功能。这和下文中的远程SPAN形成对比。
远程SPAN或者RSPAN:? 作为目的地端口的某些源端口没有位于同一交换机上。这是一项高级功能,要求有专门的VLAN来传送该业务,并由交换机之间的SPAN进行监控。并非所有交换机均支持RSPAN,所以,请检查各自的版本说明或者配置指南,来核实您要进行配置的交换机是否可以使用该功能。
? PSPAN: 指基于端口的SPAN。用户对交换机指定一个或者数个源端口以及一个目的地端口。
VSPAN:? 指基于VLAN的SPAN。在给定的交换机中,用户可以使用单个命令来选择对属于专门VLAN的所有端口进行监控。
ESPAN? ESPAN指SPAN增强版本。该术语在SPAN的发展期间数次用于命名新增功能,因此意义并不很明确。在本文中避免使用该术语。
管理源:? 已配置受监控的源端口或者VLAN的列表。
操作源:? 受到有效监控的端口列表。这可能和管理源有所不同。例如,在关闭模式下的端口可能在管理源中出现,但它不受到有效监控。
[page]
所用的组件
本文使用CatOS 5.5作为Catalyst 4000、5000以及6000族的参考。在Catalyst 2900XL/3500XL族中使用了Cisco IOS(r)软件版本12.0(5)XU。虽然本文以后会根据SPAN的变化而更新,但有关SPAN功能的最新发展情况,请参阅文档的版本说明。
本文中所提供的信息是在从特殊实验室环境下的设备中产生的。本文中所使用的所有设备均以缺省配置启动。如果您是在实际网络中作业,请确保您在使用所有命令之前,已了解这些命令可能产生的影响。.
Catalyst 2900XL/3500XL交换机上的SPAN
提供的功能及限制
Catalyst 2900XL/3500XL中的端口监控功能没有太过扩展,因此比较容易理解。
您可以根据需要创建多个本地PSPAN话路。例如,您可以在您选作目的地SPAN端口的端口配置创建PSPAN话路,只需用 端口监视 命令列出您想监控的源端口即可。在Catalyst 2900XL/3500XL的术语中,监控端口其实是目的地SPAN端口。
? 主要限制在于:与给定话路相关的所有端口(无论源端口还是目的地端口)必须属于同一VLAN。.
? 如果您没有在端口监控命令中指定任何接口,则作为接口的所有其它属于同一VLAN的端口将受到监控。
以下限制,摘自 Catalyst 2900XL/3500XL 的命令参考:
ATM端口是唯一无法受到监控的端口。然而您还是可以对ATM端口进行监控。以下限制适用于具有端口监控能力的各个端口:
? 快速EthernetChannel或者千兆EthernetChannel 端口群中不能有监控端口。
? 因为端口安全性而无法启用监控端口。
? 监控端口不可以是多VLAN端口。
? 当端口受到监控时,监控端口必须是同一VLAN的成员。对于监控端口以及受到监控的端口,不允许进行VLAN成员的改变。
? 监控端口不可以是动态接入端口或者中继端口。但是,静态接入端口可以对中继线上的VLAN、多VLAN或者动态接入端口进行监控。受到监控的VLAN与静态接入端口有关联。
? 如果监控器以及受监控端口为受保护端口,端口监控将不起作用。
有关功能冲突的补充信息,请参阅下文的链接:
? 管理交换机——管理配置冲突 — Catalyst 2900XL/3500XL 系列
请注意,处于监控状态的端口不执行生成树协议(STP),但端口仍然属于其镜像的端口VLAN。如果端口监控属于某个环路的一部分(例如,当您将其连接至集线器或者网桥,而环接至网络的其它部分时),您可能会以严重的桥接环路状况收尾,因为您不再受到STP的保护。请参阅 “为什么我的SPAN话路会产生一个桥接环路?”一节, 看一看产生该情况的一个实例。
配置实例
在本例中,创建了两个并行的SPAN话路。
? 端口Fa0/1将对由端口Fa0/2发送、端口Fa0/5接收的业务进行监控。它也将对往返于管理接口VLAN 1的业务进行监控。
? 端口Fa0/4将对端口Fa0/3以及Fa0/6进行监控。
端口Fa0/3、Fa0/4以及Fa0/6均在VLAN 2中进行配置;其它端口以及管理接口均在默认的VLAN 1中进行配置。
网络图

Catalyst 2900XL/3500XL上的配置样本
Catalyst 2900XL/3500XL上的配置样本
! interface FastEthernet0/1 port monitor FastEthernet0/2 port monitor FastEthernet0/5 port monitor VLAN1 ! interface FastEthernet0/2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 port monitor FastEthernet0/3 port monitor FastEthernet0/6 switchport access vlan 2 ! interface FastEthernet0/5 ! interface FastEthernet0/6 switchport access vlan 2 ! ! interface VLAN1 ip address 10.200.8.136 255.255.252.0 no ip directed-broadcast no ip route-cache !
配置步骤说明
如果要将端口Fa0/1配置为源端口Fa0/2、Fa0/5以及管理接口的目的端口,请在配置模式中选择接口Fa0/1:
? Switch(config)#int fa0/1

Enter the list of ports to be monitored:
? Switch(config-if)#port monitor fastEthernet 0/2
Switch(config-if)#port monitor fastEthernet 0/5

然后,这两个端口接收的或者发送的数据包也会被复制到端口Fa0/1。使用另一版本的port monitor 命令对管理接口的监控进行配置:
Switch(config-if)#port monitor VLAN 1?

注:?/B>上文中的命令并不意味着端口Fa0/1将监控整个VLAN 1。VLAN 1关键字仅指交换机的管理接口。
? 输入以下命令说明在不同VLAN中监控某个端口是不可能的:
Switch(config-if)#port monitor fastEthernet? 0/3
FastEthernet0/1 and FastEthernet0/3 are in different vlan
To finish the configuration, configure another session, this time using Fa0/4 as a destination SPAN port:
Switch(config-if)#int fa0/4?
Switch(config-if)#port monitor fastEthernet 0/3
Switch(config-if)#port monitor fastEthernet 0/6
Switch(config-if)#^Z

检查配置情况的最佳方法是发出简单的 show running命令,或者使用 show port monitor 命令:
Switch#show port monitor?
Monitor Port Port Being Monitored
——————— ———————
FastEthernet0/1 VLAN1
FastEthernet0/1 FastEthernet0/2
FastEthernet0/1 FastEthernet0/5
FastEthernet0/4 FastEthernet0/3
FastEthernet0/4 FastEthernet0/6
注:?/B>Catalyst 2900XL以及3500XL不支持单一接收方向的SPAN(Rx SPAN或者入口SPAN)或者单一发送方向的SPAN(Tx SPAN或者出口SPAN)。所有配置SPAN的受控端口必须既能进行业务接收(Rx)又能进行业务发送(Tx)。

华为
【3026等交换机镜像】

S2008/S2016/S2026/S2403H/S3026等交换机支持的都是基于端口的镜像,有两种方法:

方法一

1. 配置镜像(观测)端口 [SwitchA]monitor-port e0/8
2. 配置被镜像端口 [SwitchA]port mirror Ethernet 0/1 to Ethernet 0/2
方法二

1. 可以一次性定义镜像和被镜像端口

[SwitchA]port mirror Ethernet 0/1 to Ethernet 0/2 observing-port Ethernet 0/8

【8016交换机端口镜像配置】

1. 假设8016交换机镜像端口为E1/0/15,被镜像端口为E1/0/0,设置端口1/0/15为端口镜像的观测端口。

[SwitchA] port monitor ethernet 1/0/15

2. 设置端口1/0/0为被镜像端口,对其输入输出数据都进行镜像。

[SwitchA] port mirroring ethernet 1/0/0 both ethernet 1/0/15

也可以通过两个不同的端口,对输入和输出的数据分别镜像

1. 设置E1/0/15和E2/0/0为镜像(观测)端口

[SwitchA] port monitor ethernet 1/0/15

2. 设置端口1/0/0为被镜像端口,分别使用E1/0/15和E2/0/0对输入和输出数据进行镜像。

[SwitchA] port mirroring gigabitethernet 1/0/0 ingress ethernet 1/0/15
[SwitchA] port mirroring gigabitethernet 1/0/0 egress ethernet 2/0/0

『基于流镜像的数据流程』
基于流镜像的交换机针对某些流进行镜像,每个连接都有两个方向的数据流,对于交换机来说这两个数据流是要分开镜像的。
【3500/3026E/3026F/3050】
〖基于三层流的镜像〗
1. 定义一条扩展访问控制列表
[SwitchA]acl num 101
2. 定义一条规则报文源地址为1.1.1.1/32去往所有目的地址
[SwitchA-acl-adv-101]rule 0 permit ip source 1.1.1.1 0 destination any
3. 定义一条规则报文源地址为所有源地址目的地址为1.1.1.1/32
[SwitchA-acl-adv-101]rule 1 permit ip source any destination 1.1.1.1 0
4. 将符合上述ACL规则的报文镜像到E0/8端口
[SwitchA]mirrored-to ip-group 101 interface e0/8
〖基于二层流的镜像〗
1. 定义一个ACL
[SwitchA]acl num 200
2. 定义一个规则从E0/1发送至其它所有端口的数据包
[SwitchA]rule 0 permit ingress interface Ethernet0/1 (egress interface any)
3. 定义一个规则从其它所有端口到E0/1端口的数据包
[SwitchA]rule 1 permit (ingress interface any) egress interface Ethernet0/1
4. 将符合上述ACL的数据包镜像到E0/8
[SwitchA]mirrored-to link-group 200 interface e0/8

【5516】
支持对入端口流量进行镜像
配置端口Ethernet 3/0/1为监测端口,对Ethernet 3/0/2端口的入流量镜像。
[SwitchA]mirror Ethernet 3/0/2 ingress-to Ethernet 3/0/1
【6506/6503/6506R】
目前该三款产品只支持对入端口流量进行镜像,虽然有outbount参数,但是无法配置。
镜像组名为1,监测端口为Ethernet4/0/2,端口Ethernet4/0/1的入流量被镜像。
[SwitchA]mirroring-group 1 inbound Ethernet4/0/1 mirrored-to Ethernet4/0/2

Tags in this post...

面试题 相关文章推荐
Collection和Collections的区别
May 02 面试题
新东网科技Java笔试题
Jul 13 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
计算 s=(x*y)1/2,用两个宏定义来实现
Aug 11 面试题
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
Apr 03 面试题
Order by的几种用法
Jun 16 面试题
北京泡泡网网络有限公司.net面试题
Jul 17 面试题
端口镜像是怎么实现的
Mar 25 面试题
init进程的作用
Apr 12 面试题
Linux如何修改文件和文件夹的权限
Jun 27 面试题
百度JavaScript笔试题
Jan 15 面试题
介绍一下Python下range()函数的用法
Nov 07 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 #面试题
什么是网络协议
Apr 07 #面试题
PPP协议组成及简述协议协商的基本过程
May 28 #面试题
网络通讯中,端口有什么含义,端口的取值范围
Nov 23 #面试题
什么是URL
Dec 13 #面试题
HSRP的含义以及如何工作
Sep 10 #面试题
Internet主要有哪些网络群组成
Dec 24 #面试题
You might like
Linux编译升级php的详细方法
2013/11/04 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
Yii学习总结之安装配置
2015/02/22 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
法律专业推荐信范文
2013/11/29 职场文书
个人授权委托书范本
2014/04/03 职场文书
企业安全生产标语
2014/06/06 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
Python 多线程处理任务实例
2021/11/07 Python