天天看點

交換機端口鏡像及其工作原理

交換機端口鏡像及其工作原理

端口鏡像(port Mirroring)把交換機一個或多個端口(VLAN)的資料鏡像到一個或多個端口的方法。

在一些交換機中,我們可以通過對交換機的配置來實作将某個端口上的資料包,拷貝一份到另外一個端口上,這個過程就是“端口鏡像”,如下圖:

端口1 為鏡像端口,端口2 為被鏡像端口;因為通過端口1可以看到端口2的流量,是以,我們也稱端口1為監控端口,而端口2為被監控端口。

  市面上,絕大多數交換機(如cisco産品)的某個口被設定為鏡像端口後,接到該端口的主機将無法發送資料包到網内其他機器,變成了“單向接受”模式;這類情況,并不利于監控,因為系統無發發送封包到客戶機,而導緻無法對客戶機進行控制;不過“網路崗”針對此類情況有專門的解決手段,如碰到此類情況,使用者可以咨詢我公司技術人員。

  不過仍然有部分交換機除外,比如:TPLink-SF2005或TP-Link2428web,因為其價格便宜,功能實用,是以我們一般建議客戶購買這兩款交換機進行監控。注:如果監控的電腦超過了40台建議用TP-Link2428web,這款交換機自帶網管功能,性能比TPLink-SF2005高,而且還有兩個千M電口可以做為監控使用。如果使用其它品牌的交換機隻要支援端口鏡像功能的話也同樣可以達到上網監控,qq和msn聊天監控,郵件監控及抓包分析的效果。

端口鏡像的目的

  由于部署 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.

  華為交換機端口鏡像配置簡單介紹  

  『環境配置參數』

  1. PC1接在交換機E0/1端口,IP位址1.1.1.1/24

  2. PC2接在交換機E0/2端口,IP位址2.2.2.2/24

  3. E0/24為交換機上行端口

  4. Server接在交換機E0/8端口,該端口作為鏡像端口

  『組網需求』

  1.通過交換機端口鏡像的功能使用server對兩台pc的業務封包進行監控。

  2.按照鏡像的不同方式進行配置:

  1)基于端口的鏡像

  2)基于流的鏡像

  二、 資料配置步驟『端口鏡像的資料流程』

  基于端口的鏡像是把被鏡像端口的進出資料封包完全拷貝一份到鏡像端口,這樣來進行流量觀測或者故障定位。

  【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 100

  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 100 interface e0/8

  〖基于二層流的鏡像〗

  1.定義一個ACL

  [SwitchA]acl num 200

  2.定義一個規則從E0/1發送至其它所有端口的資料包

  [SwitchA]rule 0 permit ingress interface Ethernet0/1 egress interface Ethernet0/2

  3.定義一個規則從其它所有端口到E0/1端口的資料包

  [SwitchA]rule 1 permit ingress interface Ethernet0/2 egress interface Ethernet0/1

  4.将符合上述ACL的資料包鏡像到E0/8

  [SwitchA]mirrored-to link-group 200 interface e0/8

  【5516/6506/6503/6506R】

  目前該三款産品支援對入端口流量進行鏡像

  1.定義鏡像端口

  [SwitchA]monitor-port Ethernet 3/0/2

  2.定義被鏡像端口

  [SwitchA]mirroring-port Ethernet 3/0/1 inbound

  【補充說明】

  1. 鏡像一般都可以實作高速率端口鏡像低速率端口,例如1000M端口可以鏡像100M端口,反之則無法實作

  2. 8016支援跨單闆端口鏡像

  三、 測試驗證在觀測端口上通過工具軟體可以看到被鏡像端口的相應的封包,可以進行流量觀測或者故障定位

注意!在此提醒一下各位,相同型号不同版本的裝置,配置方法有時是有差異的,最終還是要以版本對應的操作手冊為準。其它品牌的交換機如何鏡像參照相關的交換機說明文檔配置正确即可,在此就不一一列出來了。

有效正确的配置好交換機的端口鏡像才可以正常的使用網路崗上網監控管理軟體,一般配置鏡像隻要把總出口的資料鏡像到對應的網路崗伺服器所連交換機的那個口就可以了,即我們說的一對一的端口鏡像,如果沒有特殊的需要,大家不要做多對一的端口鏡像,即把多個源端口的資料鏡像到一個口上,因為一般情況下,隻要把總出口的資料鏡像到網路崗上就可以實作對整個網絡的監控管理了。