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


交換機端口鏡像及其工作原理
端口鏡像(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支持跨單板端口鏡像
  三、 測試驗證在觀測端口上通過工具軟件可以看到被鏡像端口的相應的報文,可以進行流量觀測或者故障定位
注意!在此提醒一下各位,相同型號不同版本的設備,配置方法有時是有差異的,最終還是要以版本對應的操作手冊為准。其它品牌的交換機如何鏡像參照相關的交換機說明文檔配置正確即可,在此就不一一列出來了。
有效正確的配置好交換機的端口鏡像才可以正常的使用網路崗上網監控管理軟件,一般配置鏡像只要把總出口的數據鏡像到對應的網路崗服務器所連交換機的那個口就可以了,即我們說的一對一的端口鏡像,如果沒有特殊的需要,大家不要做多對一的端口鏡像,即把多個源端口的數據鏡像到一個口上,因為一般情況下,只要把總出口的數據鏡像到網路崗上就可以實現對整個網絡的監控管理了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM