一、理论篇
1) 什么是端口镜像?
把交换机一个或多个端口(VLAN)的数据镜像到一个或多个端口的方法。
2) 为什么需要端口镜像 ?
在进行网络故障排查、网络数据流量分析的过程中,有时需要对网络节点或骨干交换机的某些端口进行数据流量监控分析,而在交换机中设置镜像(SPAN)端口,可以对某些可疑端口进行监控,同时又不影响被监控端口的数据交换。
通常为了部署 IDS
产品需要监听网络流量,但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。 3)
SPAN的分类 SPAN(Switched Port
Analyzer)的作用主要是为了给某种网络分析器提供网络数据流。它既可以实现一个VLAN中若干个源端口向一个监控端口镜像数据,也可以从若干个
VLAN向一个监控端口镜像数据。SPAN
任务不会影响交换机的正常工作。当一个SPAN任务被建立后,根据交换机所处的不同的状态或操作,任务会处于激活或非激活状态,同时系统会将其记入日志。通过“show
monitor
session”命令可显示SPAN的当前状态。
SPAN数据流主要分为三类:
(1)输入数据流(Ingress
SPAN):指被源端口接收进来,其数据副本发送至监控端口的数据流;
(2)输出数据流(Egress
SPAN):指从源端口发送出去,其数据副本发送至监控端口的数据流;
(3)双向数据流(Both
SPAN):即为以上两种的综合。 4)
SPAN任务时应遵循的原则:
(1)对数据进行监控分析的设备应搭接在监控端口上;
(2)冗余链路端口只能作为SPAN任务的源端口;
(3)SPAN任务中所有的源端口的被监控方向必须一致;
(4)在设置端口为源端口时,如果没有指定数据流的监控方向,默认为双向;
(5)当SPAN任务含有多个源端口时,这些端口可以来自不同的VLAN;
(6)取消某一个SPAN任务的命令是:no monitor
session任务号;
(7)取消所有SPAN任务的命令是:no
monitor;
(8)SPAN任务的目的端口不能参与到生成树的距离计算中,但由于源端口的BPDU包可以被镜像,所以SPAN目的端口可以监控到来自源端口的BPDU数据包。 5)
在Cisco Catalyst系列交换机上配置镜像(SPAN)端口 对于Cisco
2950、Cisco 3550 和 Cisco 3750
系列交换机配置SPAN的源端口,命令格式如下:
Switch(config)#[no]monitorsession{session_number}{source(interface
type/num)|{vlan vlan_ID}}[,|-|rx|tx| both]
以下例子显示如何配置源端口为FastEthernet
5/l的SPAN任务,其监控对象为双向数据流:
Switch(config)# monitor session 1 source interface fastethrnet
5/l
配置SPAN的目的端口,命令格式如下:
Switch(config)# [no] monitor
session(session_number){destination{interface
type/num}}
以下例子显示如何配置目的端口为FastEthernet
5/48的SPAN任务:
Switch(config)#monitor session l destination interface fastethernet
5/48
当SPAN任务的源端口为Trunk端口时,命令格式如下:
Switch(config)#[no]monitor session{session_number}{filter vlan
{vlan_ID}[,|-]}
以下例子是当源端口为Trunk端口时,如何配置监控其中的VLANl~VLAN5和
VLAN9:
Switch(config)# monitor session 2 filter vlan
1-5,9
以下是一个综合例子,将用到前面所提到的各种命令:
监控Trunk端口FastEtheraet4/10上的双向数据流(在该端口上承载着VLANl~
VLANl005的数据流),只监控其中VLAN57中的数据流,端口
FastEthernet4/15为目的端口,具体配置方法如下:
Switch(config)# monitor session 1 source interface fastethernet
4/10
Switch(config)# monitor session 1 filter vlan
57
Switch(config)# monitor session 1 destination interface
fastethernet 4/15
如果想释放该SPAN任务,输入如下命令:
Switch(config)# no monitor session 1
以下语句显示如何检验SPAN任务的配置结果:
Switch# show monitor session 2
在配置镜像端口(SPAN)过程中,还应考虑到数据流量过大时,设备的处理速度及端口数据缓存的大小,要尽量减少被监控数据包的丢失。
二、实践篇
转帖:
方法一:HUB(略)
方法二:TAP (太专业了。。。。还要另外投资)
方法三:SPAN(就是大家常说得Port Mirror或者Port Monitor)
1、Cat2900XL/3500XL
2900XL(config)#interface fastethernet 0/24 //进入接口配置模式下
2900XL(config)#port monitor fastethernet 0/1 //配置f0/1为被监视得端口
2900XL(config)#port monitor fastethernet 0/2 //配置f0/2为被监视得端口
通过上面得配置就可以把进出f0/1和f0/2两个端口得流量镜像到f0/24
通过
show port monitor可以参看交换机得SPAN配置情况
2、Cat2950/3550/3750
3550(config)#monitor session 1 source interface f0/1 - 3 rx
//指定SPAN session组号为1,源端口为f0/1-f0/3,对进这三个端口的流量
//rx-->指明是进端口得流量,tx-->出端口得流量 both 进出得流量
3550(config)#monitor session 1 destination interface f0/4
//指定监视端口为f0/4
3、Cat4000/6500 with CatOS
set span命令
cat4k#set span 1/2 1/3
//把1/2得流量镜像到1/3
4、Cat4500/6500 with IOS
同2--Cat2950/3550/3750
方法四:VACL
VACL=VLAN ACL=Security ACL
只能在Cat6500上使用
CatOS:
c6509 (enable) set security acl ip MyCap permit tcp any any eq 443
c6509 (enable) set security acl ip MyCap permit tcp any eq 443 any
c6509 (enable) set security acl ip MyCap permit ip any any capture
//排除所有访问443端口的流量,其他流量都是感兴趣的
c6509 (enable) commit security acl MyCap
//定义一个security ACL的name
c6509 (enable) set security acl map MyCap 100,101
//把security ACL应用到vlan 100和101上
c6509 (enable) set security acl capture-ports 3/1
//把capture的流量镜像到3/1端口上
IOS:
c6509(config)# access-list 100 permit ip any any
c6509(config)# vlan access-map MyCap 10
c6509(config-access-map)# match ip address 100
c6509(config-access-map)# action forward capture
c6509(config)# vlan filter MyCap vlan-list 200 , 201
c6509(config)# interface gi3/1
c6509(config-if)# switchport capture