端口镜像是怎么实现的


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...

面试题 相关文章推荐
Yahoo-PHP面试题2
Dec 06 面试题
为什么使用接口?
Aug 13 面试题
如何启动时不需输入用户名与密码
May 09 面试题
C有"按引用传递"吗
Sep 06 面试题
什么是WEB控件?使用WEB控件有哪些优势?
Jan 21 面试题
什么是.net
Aug 03 面试题
C#笔试题和英文面试题
Feb 07 面试题
linux面试相关问题
Aug 11 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
Sep 28 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
Mar 12 面试题
信号量和自旋锁的区别?如何选择使用?
Sep 08 面试题
程序员经常用到的UNIX命令
Apr 13 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 #面试题
什么是网络协议
Apr 07 #面试题
PPP协议组成及简述协议协商的基本过程
May 28 #面试题
网络通讯中,端口有什么含义,端口的取值范围
Nov 23 #面试题
什么是URL
Dec 13 #面试题
HSRP的含义以及如何工作
Sep 10 #面试题
Internet主要有哪些网络群组成
Dec 24 #面试题
You might like
PHP脚本的10个技巧(6)
2006/10/09 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
python能在浏览器能运行吗
2020/06/17 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
python Gabor滤波器讲解
2020/10/26 Python
如何利用Python写个坦克大战
2020/11/18 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
Otel.com:折扣酒店预订
2017/08/24 全球购物
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
数学系毕业生求职信
2014/05/29 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
Python 全局空间和局部空间
2022/04/06 Python