1.基本概念

SPAN技术主要是用来监控交换机上的数据流,分为两种类型,本地SPAN(Local Switched Port Analyzer)和远程SPAN(Remote SPAN).

我们一般说SPAN指的就是本地的,远程的一般管它叫RSPAN。

这些SPAN技术可以把交换机上某些想要被监控端口(也叫受控端口)的数据流COPY(也说MIRROR)一份,发送给连接在监控端口上的数据流分析设备,比如IDS或是装了SNIFFER工具的主机。受控端口和监控端口可以在同一台交换机上(本地SPAN),也可以在不同的交换机上(RSPAN)。

注意:本地SPAN必须在一台交换机上用,RSPAN必须不在一台交换机上用!

*下文的SPAN如无特殊强调则同时指本地和远程的*

2.SPAN监控数据流类型

SPAN可监控的数据流类型分为三种;

inbound SPAN 受控端口的接收流量。

outbound SPAN 受控端口的发送流量。

Both 一个受控端口的接收和发送流量。

3.SPAN端口类型

Source Port--SPAN源端口,也叫monitored port即被监控端口(受控端口)

受控端口可以是实际的物理端口、VLAN、以太信道EtherChannel,物理端口可以在不同的VLAN中,受控端口如果是VLAN则包括此VLAN中的所以物理端口,受控端口如果是以太信道则包括组成此以太信道的所有物理端口,如果受控端口是一个TRUNK干道端口,则此TRUNK端口上承载的所有VLAN流量都会受到监控,也可以使用filter vlan 参数进行调整,只对filter vlan 中指定的VLAN数据流量做监控。

Destination Port--SPAN目的端口,也就是monitoring port-即监控端口(连监控设备用的)。

监控端口只能是单独的一个实际物理端口,一个监控端口同时只能在一个SPAN中使用,监控端口不参与其它的二层协议如:

Cisco Discovery Protocol (CDP),

VLAN Trunk Protocol (VTP),

Dynamic Trunking Protocol (DTP),

Spanning Tree Protocol (STP),

Port Aggregation Protocol (PagP),

Link Aggregation Control Protocol (LACP)等.

缺省情况下监控端口不会转发除SPAN Session以外的任何其它的数据流,也可以通过设置ingress参数,打开监控端口的二层转发功能,比如当连接CISCO IDS的时会有这种需求,此时IDS不仅要接 收SPAN Session的数据流,IDS本身在网络中还会与其它设备有通讯流量,所以要打开监控端口的二层转发功能。

*反正你就记着如过把一个端口错误的设置为监控端口了,那么它就不能正常的进行除SPAN外的所有通信了*

监控端口的带宽最好大于等于受控端口的带宽,否则可能会出现丢包的情况。

4.Reflector Port--反射端口

*反射端口只在RSPAN中使用*与RSPAN中的受控端口在同一台交换机上(监控端口不在这台交换机上),是用来将本地的受控端口数据流转发到RSPAN中在另一台交换机上的远程监控端口的方法,反射端口也只能是一个实际的物理端口。

*反射端口不能属于任何一个VLAN*

*RSPAN中还要使用一个专用的VLAN来转发流量*,反射端口会使用这个专用VLAN将数据流通过TRUNK端口发送给其它的交换机,远程交换机再通过此专用VLAN将数据流发送到监控端口上的分析仪。

在使用RSPAN VLAN的时候,所有参与RSPAN的交换机应在同一个VTP域中,不能用VLAN 1,也不能用1002-1005,这是保留给令牌环和FDDI的,如果是2-1001的标准VLAN,则只要在VTP Server上创建即可(将交换机VTP模式设为Transparent后全部手工创建也可以),其它的交换机会自动学到,如果是1006-4094的扩展VLAN,则需要在所有交换机上创建此专用VLAN。

反射端口的带宽最好大于等于受控端口的带宽,否则可能会出现丢包的情况。

5.SPAN3种模式:

1.SPAN:源端口和目标端口都处于同一交换机,并且源端口可以是一个或多个交换机端口.

2.基于VLAN的交换式端口分析器(VSPAN):SPAN的一种变体,源端口不是物理端口,而是VLAN.

3.远程交换式端口分析器(RSPAN):源端口和目标端口处于不同的交换机.

4. ERSPAN ---- Enhanced Remoted SPAN ---- 增强SPAN

6.需要注意的问题

监控端口不参与很多通信!并会对其他一些通信产生影响!反射端口影响小些,但也会有问题。大部分错误都是由这个引起的。

利用SPAN监控VLAN时,只能监控VLAN中所有活动端口接收的流量,如果监控端口也属于属于此VLAN,则此端口不在监控范围内。

利用SPAN监控VLAN时,不监控VLAN间的路由数据,比如我开个SPAN监控一台三层交换机某个VLAN的inbound方向的数据流(也只能是这个方向),当一个数据流被从其他VLAN路由到此VLAN时,此数据流不在监控范围内。

配置了端口安全的端口(如最大地址学习数等)不能设置为监控端口。

案例实验:本地端口镜像(SPAN):

拓扑图:

端口镜像的SPAN与RSPAN简介及案例

SW配置:

[sw1]mirroring-group 1 local #本地端口镜像组

[sw1]mirroring-group 1 mirroring-port Ethernet 1/0/10 Ethernet 1/0/20 both #监控镜像源端口的输入输出

[sw1]mirroring-group 1 monitor-port e1/0/24 #设置e1/0/24端口为本地镜像组的目的端口

[sw1]dis mirroring-group 1 #查看显示镜像组信息

mirroring-group 1:

type: local

status: active

mirroring port:

Ethernet1/0/10 both

Ethernet1/0/20 both

monitor port: Ethernet1/0/24

PC-A(交换机代替)配置:只需配置一个ip地址,telnet的23端口打开即可。

PC-A]dis cu

#

sysname PC-A

local-user admin

password simple admin

service-type ftp

#

vlan 1

#

interface Vlan-interface1

ip address 192.168.2.10 255.255.255.0

PC-B(防火墙代替)配置:同样是一个ip地址,telnet的23端口打开。

<PC-B>dis cu

#

sysname PC-B

#

firewall packet-filter enable

firewall packet-filter default permit

#

undo insulate

#

local-user admin

password simple admin

service-type telnet

#

interface Ethernet0/0

ip address 192.168.2.20 255.255.255.0

#

firewall zone trust

add interface Ethernet0/0

set priority 85

#

PC-A telnet PC-B测试:

<PC-A>telnet 192.168.2.20

Trying 192.168.2.20 ...

Press CTRL+K to abort

Connected to 192.168.2.20 ...

********************************************************************************

* Copyright(c) 2004-2009 Hangzhou H3C Technologies Co., Ltd. All rights reserved.*

* Without the owner's prior written consent, *

* no decompiling or reverse-engineering shall be allowed. *

********************************************************************************

Login authentication

Username:admin

Password:

<PC-B>

我们的IPS或者IDS通过抓包软件获取数据包就是能够检测到镜像源端口的通信。

端口镜像的SPAN与RSPAN简介及案例

远程端口镜像(RSPAN

拓扑图:

端口镜像的SPAN与RSPAN简介及案例

SW3源交换机配置:

<SW3>dis cu

#

sysname SW3

#

mirroring-group 1 remote-source #定义SW3交换机为远程源镜像组

#

vlan 1

#

vlan 10 #创建VLAN 10

remote-probe vlan enable #定义VLAN 10为remote-probe VLAN

#

interface Ethernet1/0/1

port link-type trunk #配置e1/0/1为trunk端口

port trunk permit vlan 1 10 #配置trunk端口允许remote-probe VLAN报文通过

#

interface Ethernet1/0/5

duplex full

speed 100

mirroring-group 1 reflector-port #配置e1/0/5端口为远程反射端口

#

interface Ethernet1/0/10

mirroring-group 1 mirroring-port inbound #监控e1/0/10远程镜像源端口的输入报文

#

interface Ethernet1/0/20

mirroring-group 1 mirroring-port outbound #监控e1/0/20远程镜像源端口的输出报文

#

interface NULL0

#

mirroring-group 1 remote-probe vlan 10 #配置远程源镜像的remote-probe VLAN

查看显示远程源镜像组配置

<SW3>dis mirroring-group remote-source

mirroring-group 1:

type: remote-source

status: active

mirroring port:

Ethernet1/0/10 inbound

Ethernet1/0/20 outbound

reflector port: Ethernet1/0/5

remote-probe vlan: 10

SW2中间交换机的配置:

<SW2>dis cu

#

sysname SW2

#

vlan 10

remote-probe vlan enable #配置VLAN 10为remote-probe VLAN

#

interface Ethernet1/0/1

port link-type trunk #配置e1/0/1为trunk端口

port trunk permit vlan 1 10 #使当前trunk端口允许remote-probe VLAN报文通过

#

interface Ethernet1/0/24

port link-type trunk #配置e1/0/1为trunk端口

port trunk permit vlan 1 10 #使当前trunk端口允许remote-probe VLAN报文通过

SW1目的交换机的配置:

<SW1>dis cu

#

sysname SW1

#

mirroring-group 1 remote-destination #配置远程目的镜像组

#

vlan 10

remote-probe vlan enable #定义VLAN 10为remote-probe VLAN

#

interface Ethernet1/0/1

port link-type trunk #配置e1/0/1端口为trunk端口

port trunk permit vlan 1 10 #使当前trunk端口允许remote-probe VLAN报文通过

#

interface Ethernet1/0/24

port access vlan 10

mirroring-group 1 monitor-port #配置e1/0/24为远程镜像的目的端口

#

mirroring-group 1 remote-probe vlan 10 #配置VLAN 10为远程目的镜像组的remote-probe VLAN

查看并显示远程目的镜像组的配置:

[SW1]dis mirroring-group remote-destination

mirroring-group 1:

type: remote-destination

status: active

monitor port: Ethernet1/0/24

remote-probe vlan: 10