标题：端口镜像
目的
为了方便对一个或多个网络接口的流量进行分析（如 IDS 产品、网络分析仪等），可以通过配置交换机来把一个或多个端口（VLAN）的数据转发到某一个端口来实现对网络的监听。
功能
监视到进出网络的所有数据包，供安装了监控软件的管理服务器抓取数据,如网吧需提供此功能把数据发往公安部门审查。而企业出于信息安全、保护公司机密的需要，也迫切需要  端口镜像网络中有一个端口能提供这种实时监控功能。在企业中用端口镜像功能，可以很好的对企业内部的网络数据进行监控管理，在网络出现故障的时候，可以做到很好地故障定位。
(备注：交换机把某一个端口接收或发送的数据帧完全相同的复制给另一个端口；其中被复制的端口称为镜像源端口，复制的端口称为镜像目的端口。)
别名
端口镜像通常有以下几种别名： 
●Port Mirroring 通常指允许把一个端口的流量复制到另外一个端口，同时这个端口不能再传输数据。 
●Monitoring Port 监控端口 
●Spanning Port 通常指允许把所有端口的流量复制到另外一个端口，同时这个端口不能再传输数据。 
●SPAN port 在 Cisco 产品中，SPAN 通常指 Switch Port ANalyzer。某些交换机的 SPAN 端口不支持传输数据。 
●Link Mode port这样，这些流量就可以被一个特殊的设备监控。它对发现和修理故障有很大的帮助。
工作原理
SPAN(Switched Port Analyzer)的作用主要是为了给某种网络分析器提供网络数据流。
它既可以实现一个VLAN中若干个源端口向一个监控端口镜像数据，也可以从若干个VLAN向一个监控端口镜像数据。源端口的5号端口上流转的所有数据流均被镜像至10号监控端口，而数据分析设备通过监控端口接收了所有来自5号端口的数据流。值得注意的是，源端口和镜像端口必须位于同一台交换机上(但也有例外，如Catalyst 6000系列交换机)；而且SPAN并不会影响源端口的数据交换，它只是将源端口发送或接收的数据包副本发送到监控端口。
在SPAN任务过程中，用户可以通过参数控制，来指明需要监控的数据流种类；还可以将一个或多个端、口、一个或多个VLAN作为源端口，并将从这些端口中发送或接收的单向或双向数据流传送至监控端口。在Catalyst 4006交换机中，最多可以配置6个单向的SPAN任务：2个输入数据流监控、4个输出数据流监控。一个双向SPAN任务实际上包含一个单向输入和一个单向输出。而且不仅仅二层交换端口可作为源端口，Catalyst 4006上的三层路由端口也可设置为源端口。
SPAN 任务不会影响交换机的正常工作。当一个SPAN任务被建立后，根据交换机所处的不同的状态或操作，任务会处于激活或非激活状态，同时系统会将其记入日志。通过“show monitor session”命令可显示SPAN的当前状态。
如果遇到系统重新启动的情况，在目的端口初始化结束之前，SPAN任务将处于非激活状态。目的端口(监控端口)可以是交换机上的任意一个交换或路由端口。当一个目的端口处于激活状态时，任何发送到该端口且与SPAN任务无关的数据包将会被丢弃。
一个目的端口只能处于一个SPAN任务中。当一个端口被配制成目的端口后就不能再成为源端口，同时冗余链路端口也不能成为SPAN的目的端口。特别需要指出的是，如果一个 Trunk端口被配置成为SPAN的目的端口，则其Trunk功能也将自动停止。
源端口又可以称作被监控端口。在一个SPAN任务中，可以有一个或多个源端口，而且可以根据用户需要设置为输入方向、输出方向或双向，但无论哪种情况，在一个SPAN任务中，所有源端口的被监控方向都必须是一致的。
在Catalyst 4006交换机上的VLAN也可以整体设置为源端口，这意味着被指定VLAN中的所有端口均为当前SPAN任务中的源端口。
Trunk端口可以单独设为源端口，也可以与非Trunk端口一起被设置为源端口，但要注意的是，在监控端口不会识别来自Trunk端口针对不同VLAN的数据封装格式，换句话说，在监控端口收到的数据包将无法辨明是来自哪个VLAN。
SPAN数据流主要分为三类：
(1)输入数据流(Ingress SPAN)：指被源端口接收进来，其数据副本发送至监控端口的数据流；
(2)输出数据流(Egress SPAN)：指从源端口发送出去，其数据副本发送至监控端口的数据流；
(3)双向数据流(Both SPAN)：即为以上两种的综合。
基于VLAN的SPAN是以一个或几个VLAN作为监控对象，其中的所有端口均为源端口，与基于端口的SPAN类似，基于VLAN的SPAN也分为输入数据流、输出数据流和双向数据流监控三种类型。
在配置基于VLAN的SPAN任务过程中，应注意几点：
(1)Trunk端口可以包含在源端口中；
(2)针对双向SPAN任务，如果在源VLAN中的两个源端口之间有数据交换，则每一个数据包将有两个副本被转发至镜像端口；
(3)对有多个源VLAN的SPAN任务来说，如果某个源VLAN被删除掉，则该VLAN也将从源VLAN列表中删除；
(4)处于非激活状态的VLAN无法参与SPAN任务；
(5)对于一个设置为输入数据流监控的源VLAN来说，来自其他VLAN的路由信息数据包不会被镜像；此外，从设置为输出数据流监控的VLAN向其他VLAN发送出的路由信息数据包也同样不会被镜像。换句话说，基于VLAN的SPAN任务只对进出二层交换端口的数据包进行镜像，而不镜像VLAN之间的路由信息。
所有网间传输的非路由数据包，包括组播包和BPDU(桥接协议数据单元)包，都可以使用SPAN任务进行镜像。 
在一些SPAN任务的配置下，会出现同一个SPAN源端口数据包的多个副本被发送到 SPAN监控端口的情况。正像前面提到的那样，在一个双向SPAN任务中，假设a1和a2为源端口，d1为目的端口，如果a1与a2之间有数据包传输，则在a1传向a2的数据包将会被传送到d1两次，反之亦然。
建立方法
Cisco CATALYST交换机端口监听配置
Cisco CATALYST交换机分为两 种，在CATALYST家族中称侦听端口为分析端 口(analysis port)。1、Catalyst 2900XL/3500XL/2950系列交换机端口监听配 置 (基于CLI)
以下命令配置端口监听：
port monitor 
例 如，F0/1和F0/2、F0/3同属VLAN1，F0/1监听F0/2、F0/3端口： 
interface FastEthernet0/1 
port monitor FastEthernet0/2 
port monitor FastEthernet0/3 
port monitor VLAN1
2、Catalyst 4000，5000 and 6000系列交换机端口监听配 置 (基于IOS)
以下命令配置端口监听： 
set span 
例如，模块1中端口1和端口2同属VLAN1，端口3在VLAN2，端口4和5在VLAN2，端口2监听端 口1和3、4、5， 
set span 1/1，1/3-5 1/2
2950/3550/3750 
格式如下：
#monitor session number source interface mod_number/port_number both
#monitor session number destination interface mod_mnumber/port_number
//rx-->指明是进端口得流量，tx-->出端口得流量 both 进出得流量 
for example:
第一条镜像，将第一模块中的源端口为1-10的镜像到端口12上面；
#monitor session 1 source interface 1/1-10 both
#monitor session 1 destination interface 1/12
第二条镜像，将第二模块中的源端口为13-20的镜像到端口24上面；
#monitor session 2 source interface 2/13-20 both
#monitor session 2 destination interface 2/24
当有多条镜像、多个模块时改变其中的参数即可。
Catalyst 2950 3550不支持port monitor
C2950#configure terminal 
C2950(config)# 
C2950(config)#monitor session 1 source interface fastEthernet 0/2 
!--- Interface fa 0/2 is configured as source port. 
C2950(config)#monitor session 1 destination interface fastEthernet 0/3 
!--- Interface fa0/3 is configured as destination port.
配置命令
● 指定分析 口 
feature rovingAnalysis add，或缩 写 f r a， 
例 如： 
Select menu option: feature rovingAn alysis add 
Select analysis slot: 1?& nbsp;
Select analysis port: 2 
● 指定监听口并启动端口监听 
feature rovingAnalysis start，或缩 写 f r sta， 
例 如： 
Select menu option: feature rovingAn alysis start 
Select slot to monitor ?(1-12): 1 
Select port to monitor&nb sp;?(1-8): 3 
● 停止端口监 听 
feature rovingAnalysis stop，或缩 写 f r sto
常见配置
Intel交换机端口监听配置Intel 称端口监听为“Mirror Ports”。 网络流量被监听的端口称作“源端 口”（Source Port），连接监听设备的端口称作“镜像 口”（Mirror Port）。 
配置端口监听步骤如下： 
● 在 navigation菜单，点击Statistics下的Mirror Ports，弹出Mirror Ports信 息。 
● 在Configure Source 列中点击端口来选择源端口， 弹出Mirror Ports Configuration。 
● 进行源端口设 置： 
源端口是镜像流量的来源口，镜像口是接收来自源端口流量的端 口。 
● 点击Apply确定 
可以选择三种监听的方 式： 
1．连续（Always）：镜像全部流量。 
2．周期（Periodic）：在一定周期内 镜像全部流量。镜像周期在Sampling Interval configuration中设置。 
3 ．禁止（Disabled）：关闭流量镜像。Avaya交换机端口监听配置在Avaya交换机用户手册中，端口监 听被称为“端口镜像”（Port Mirror）。 
以下命令配置端口监听： 
{ set|clear } Port Mirror
设置端口侦 听：set port mirror <mod-port-range> source-port ?<mod-port-range> mirror-port <mod-port-spec> sampling { always | disable | periodic } [ max-packets-sec <max-packets-sec-value>?& nbsp;] [ piggyback-port<mod-port-spec> ]?&nb sp;
禁止端口监 听：clear port mirror <mod-port-range>
命令 中，mod-port-range指定端口的范围；mod-port-spec指定特定的端口；piggyback-port指定双向镜像的端口；sampling指定镜像周期；max-packets-sec仅在sampling设置为periodic时使用，指定监听口每秒最多的数据报数量。华为交换机端口监听配置华为交换机用户手册中，端口监听被称为“端口镜 像”（Port Mirroring）。 
使用Huawei Lanswitch View管 理系统添加一个镜像端口： 
● 选 择Device Setup或Stack Setup。 
● 点 击Port Mirroring。 
● 点击Add按 钮。 
● 对于堆叠，点击Switch并从列表选择一个交换 机。 
● 点击Reflect from并选择流量将被镜像的端 口。 
● 点击Reflect to并选上面所选择的端口。