一種檢測交換機信息洩露的方法及裝置與流程
2023-09-18 14:01:50 1
本發明涉及通訊
技術領域:
:,尤其涉及一種檢測交換機信息洩露的方法及裝置。
背景技術:
::軟體定義網絡(Software-DefinedNetwork,SDN)是一種新型網絡架構,通過將各個網絡設備的控制功能從物理設備中抽取出來,形成邏輯上集中的控制器,全網流量由控制器統一管理。控制器確定所有轉發節點的流表(flowtable),並通過OpenFlow(即SDN網絡中用於控制器與交換機之間通信的標準協議)等協議向交換機(即OpenFlow交換機)發送與該交換機對應的流表。交換機的硬體參數是數據中心一項重要參數,該硬體參數一旦洩露,將會成為攻擊者對目標網絡進行攻擊的重要信息,對數據中心的安全造成威脅。為了防止該硬體參數洩露,SDN網絡需要預先對硬體參數是否可能存在洩露進行檢測。現有技術中的有一種測試SDN攻擊的方法,該方法包括:測試方獲取待測試的SDN中對外提供服務的伺服器的IP(InternetProtocol,網際網路協議)地址,以及該伺服器提供服務的埠號;測試方根據伺服器的IP位址以及伺服器提供服務的埠號構造第一測試報文和第二測試報文,並將第一測試報文及第二測試報文先後發送給伺服器;當測試方沒有收到所述伺服器對第二測試報文的應答時,等待一隨機時間段再將第二測試報文發送給伺服器。該測試方法能夠在SDN網絡難以察覺到異常的境況下,持續不斷的通過刷新流表中的攻擊類流表項進行網絡攻擊測試,使得交換機的攻擊類流表項一直處於合法的生存周期內,不能被刪除,從而不能接收新的合法的流表項,導致交換機不能進行正常的數據轉發工作。從上可知,上述現有技術雖然能夠實現對於目標SDN網絡的交換機流表溢出攻擊的測試,但是該種攻擊測試僅僅可以使得交換機的攻擊類流表項一直處於合法的生存周期內,不能被刪除,對於構建安全可靠的SDN數據中心網絡應用價值較為有限。技術實現要素:本發明實施例提供一種檢測交換機信息洩露的方法及裝置,可對交換機信息洩露的漏洞進行檢測,提高交換機信息的保密性,增強網絡安全性。本發明實施例第一方面提供了一種檢測交換機信息洩露的方法,所述方法包括:獲取目標交換機的流表項的硬體老化時間Hard-Timeout和軟體老化時間Idle-Timeout,其中,所述Hard-Timeout為所述流表項在流表中存儲的時長,所述Idle-Timeout為所述流表項最後一次被數據包匹配的時間點至所述流表項被刪除的時間點之間的時長;根據所述Hard-Timeout和所述Idle-Timeout向所述目標交換機的流表中插入測試流表項,並記錄每個所述測試流表項插入所述流表的往返時延RTT;根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,或者確定測試流表項插入之前所述流表已有的流表項數量的測量值N2;當所述N1與所述目標交換機的標準配置參數中的流表容量的差值在第一預設範圍內,或者所述N2與所述目標交換機的標識配置參數中的用戶佔用的流表項數量的差值在第二預設範圍內時,確定所述目標交換機存在信息洩露的漏洞。結合第一方面,在第一種可能的實現方式中,所述獲取目標交換機的流表項的Hard-Timeout和Idle-Timeout,包括:按照第一時間間隔向所述目標交換機發送第一測試數據包,並根據獲取到的所述第一測試數據包的RTT確定所述目標交換機的流表項的Hard-Timeout;按照第二時間間隔向所述目標交換機發送第二測試數據包,根據獲取到的所述第二測試數據包的RTT調整發送所述第二測試數據包的時間間隔,並根據調整後的時間間隔發送的所述第二測試數據包的RTT確定所述目標交換機的流表項的Idle-Timeout。結合第一方面第一種可能的實現方式,在第二種可能的實現方式中,所述按照第一時間間隔向所述目標交換機發送第一測試數據包,並根據獲取到的所述第一測試數據包的RTT確定所述目標交換機的流表項的Hard-Timeout,包括:在第一時間節點發送所述第一測試數據包給目標交換機,並將本次發送的所述第一測試數據包的RTT記錄為T1;在第二時間節點上向所述目標交換機發送所述第一測試數據包,所述第二時間節點和所述第一時間節點的時間間隔為所述第一時間間隔;當所述第二時間節點發送的所述第一測試數據包的RTT小於T1時,將本次發送的所述第一測試數據包的RTT記錄為T0,並根據所述第一時間間隔繼續向所述目標交換機發送所述第一測試數據包,獲取每次向所述目標交換機發送的每個所述第一測試數據包的RTT;當第N次發送給所述目標交換機的所述第一測試數據包的RTT恢復為T1時,計算所述第N次發送所述第一測試數據包給所述目標交換機的時間節點與所述第一時間節點的目標時間間隔,並將所述目標時間間隔確定為所述目標交換機的流表項的Hard-Timeout;其中,所述T1大於所述T0,所述N為自然數。結合第一方面第一種可能的實現方式或第一方面第二種可能的實現方式,在第三種可能的實現方式中,所述按照第二時間間隔向所述目標交換機發送第二測試數據包,根據獲取到的所述第二測試數據包的RTT調整發送所述第二測試數據包的時間間隔,包括:在第三時間節點發送所述第二測試數據包給目標交換機,並將本次發送的所述第二測試數據包的RTT記錄為T11;在第四時間節點上向所述目標交換機發送所述第二測試數據包,所述第四時間節點和所述第三時間節點的時間間隔為所述第二時間間隔;當所述第四時間節點發送的所述第二測試數據包的RTT小於T11時,將本次發送的所述第二測試數據包的RTT記錄為T01,並加大向所述目標交換機發送所述第二測試數據的時間間隔,以按照調整後的時間間隔繼續向所述目標交換機發送所述第二測試數據包。結合第一方面第三種可能的實現方式,在第四種可能的實現方式中,所述根據調整後的時間間隔發送的所述第二測試數據包的RTT確定所述目標交換機的流表項的Idle-Timeout,包括:根據調整後的時間間隔發送所述第二測試數據包給所述目標交換機;當所述第二測試數據包的RTT從小於T11恢復為T11時,將本次向所述目 標交換機發送所述第二測試數據包的時間間隔確定為第三時間間隔,並將所述第三時間間隔確定為所述目標交換機的流表項的Idle-Timeout。結合第一方面至第一方面第四種可能的實現方式中任一種,在第五種可能的實現方式中,所述根據所述Hard-Timeout和所述Idle-Timeout向所述目標交換機的流表中插入測試流表項,包括:根據所述Hard-Timeout和所述Idle-Timeout,確定將測試流表項插入所述流表的插入時間間隔;按照所述插入時間間隔生成用於插入所述目標交換機的流表的測試流表項,並將所述測試流表項插入所述目標交換機的流表中。結合第一方面至第一方面第五種可能的實現方式中任一種,在第六種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,包括:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M2確定為所述目標交換機的流表容量的測量值N1。結合第一方面至第一方面第五種可能的實現方式中任一種,在第七種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定測試流表項插入之前所述流表已有的流表項數量的測量值N2,包括:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入 所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M2,並將所述M2與所述M1的數量差標記為所述流表已有的流表項數量的測量值N2。結合第一方面至第一方面第五種可能的實現方式中任一種,在第八種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,包括:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M4確定為所述目標交換機的流表容量的測量值N1。結合第一方面至第一方面第五種可能的實現方式中任一種,在第九種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定測試流表項插入之前所述流表已有的流表項數量的測量值N2,包括:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的 訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M4,並將所述M4與所述M3的數量差標記為所述流表已有的流表項數量的測量值N2。本發明實施例第二方面提供了一種檢測交換機信息洩露的裝置,其可包括:獲取模塊,用於獲取目標交換機的流表項的硬體老化時間Hard-Timeout和軟體老化時間Idle-Timeout,其中,所述Hard-Timeout為所述流表項在流表中存儲的時長,所述Idle-Timeout為所述流表項最後一次被數據包匹配的時間點至所述流表項被刪除的時間點之間的時長;插入模塊,用於根據所述獲取模塊獲取的所述Hard-Timeout和所述Idle-Timeout向所述目標交換機的流表中插入測試流表項,並記錄每個所述測試流表項插入所述流表的往返時延RTT;確定模塊,用於根據所述插入模塊記錄的各個所述測試流表項插入所述流表的RTT,和所述插入模塊插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,或者確定測試流表項插入之前所述流表已有的流表項數量的測量值N2;檢測模塊,用於在所述確定模塊確定的所述N1與所述目標交換機的標準配置參數中的流表容量的差值在第一預設範圍內,或者所述N2與所述目標交換機的標識配置參數中的用戶佔用的流表項數量的差值在第二預設範圍內時,確定所述目標交換機存在信息洩露的漏洞。結合第二方面,在第一種可能的實現方式中,所述獲取模塊包括:第一處理單元,用於按照第一時間間隔向所述目標交換機發送第一測試數據包,並根據獲取到的所述第一測試數據包的RTT確定所述目標交換機的流表項的Hard-Timeout;第二處理單元,用於按照第二時間間隔向所述目標交換機發送第二測試數據包,根據獲取到的所述第二測試數據包的RTT調整發送所述第二測試數據包的時間間隔,並根據調整後的時間間隔發送的所述第二測試數據包的RTT確定所述目標交換機的流表項的Idle-Timeout。結合第二方面第一種可能的實現方式,在第二種可能的實現方式中,所述第一處理單元具體用於:在第一時間節點發送所述第一測試數據包給目標交換機,並將本次發送的所述第一測試數據包的RTT記錄為T1;在第二時間節點上向所述目標交換機發送所述第一測試數據包,所述第二時間節點和所述第一時間節點的時間間隔為所述第一時間間隔;當所述第二時間節點發送的所述第一測試數據包的RTT小於T1時,將本次發送的所述第一測試數據包的RTT記錄為T0,並根據所述第一時間間隔繼續向所述目標交換機發送所述第一測試數據包,獲取每次向所述目標交換機發送的每個所述第一測試數據包的RTT;當第N次發送給所述目標交換機的所述第一測試數據包的RTT恢復為T1時,計算所述第N次發送所述第一測試數據包給所述目標交換機的時間節點與所述第一時間節點的目標時間間隔,並將所述目標時間間隔確定為所述目標交換機的流表項的Hard-Timeout;其中,所述T1大於所述T0,所述N為自然數。結合第二方面第一種可能的實現方式或第二方面第二種可能的實現方式,在第三種可能的實現方式中,所述第二處理單元具體用於:在第三時間節點發送所述第二測試數據包給目標交換機,並將本次發送的所述第二測試數據包的RTT記錄為T11;在第四時間節點上向所述目標交換機發送所述第二測試數據包,所述第四時間節點和所述第三時間節點的時間間隔為所述第二時間間隔;當所述第四時間節點發送的所述第二測試數據包的RTT小於T11時,將本次發送的所述第二測試數據包的RTT記錄為T01,並加大向所述目標交換機發送所述第二測試數據的時間間隔,以按照調整後的時間間隔繼續向所述目標交換機發送所述第二測試數據包。結合第二方面第三種可能的實現方式,在第四種可能的實現方式中,所述 第二處理單元具體用於:根據調整後的時間間隔發送所述第二測試數據包給所述目標交換機;當所述第二測試數據包的RTT從小於T11恢復為T11時,將本次向所述目標交換機發送所述第二測試數據包的時間間隔確定為第三時間間隔,並將所述第三時間間隔確定為所述目標交換機的流表項的Idle-Timeout。結合第二方面至第二方面第四種可能的實現方式中任一種,在第五種可能的實現方式中,所述插入模塊具體用於:根據所述Hard-Timeout和所述Idle-Timeout,確定將測試流表項插入所述流表的插入時間間隔;按照所述插入時間間隔生成用於插入所述目標交換機的流表的測試流表項,並將所述測試流表項插入所述目標交換機的流表中。結合第二方面至第二方面第五種可能的實現方式中任一種,在第六種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述確定模塊具體用於:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M2確定為所述目標交換機的流表容量的測量值N1。結合第二方面至第二方面第五種可能的實現方式中任一種,在第七種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述確定模塊具體用於:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已 滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M2,並將所述M2與所述M1的數量差標記為所述流表已有的流表項數量的測量值N2。結合第二方面至第二方面第五種可能的實現方式中任一種,在第八種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述確定模塊具體用於:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M4確定為所述目標交換機的流表容量的測量值N1。結合第二方面至第二方面第五種可能的實現方式中任一種,在第九種可能的實現方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述確定模塊具體用於:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M4,並將所述M4與所述M3的數量差標記為所述流表已有的流表項數量的測量值N2。實施本發明實施例,具有如下有益效果:在本發明實施例中,獲取目標交換機的流表項的Hard-Timeout和Idle-Timeout之後,可根據上述目標交換機的流表項的Hard-Timeout和Idle-Timeout確定向目標交換機的流表中插入流表項的時間間隔,進而可按照上述時間間隔向流表中插入測試流表項。進一步的,還可根據各個時間節點插入流表中的測試流表項的RTT以及插入的測試流表項的狀態確定目標交換機的流表容量的測量值,或者目標交換機的流表中用戶所佔用的流表項的數量的測量值等信息,將上述獲取得的測量值與目標交換機的標準配置中的配置值進行匹配,確定測量值是否與配置值相近,以此判斷目標交換機是否存在信息洩露的漏洞,提高交換機信息的保密性,增強網絡安全性。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例提供的檢測交換機信息洩露的方法的第一實施例流程示意圖;圖2是本發明實施例提供的數據包在交換機中處理的流程示意圖;圖3是本發明實施例提供的檢測交換機信息洩露的方法的第二實施例流程示意圖;圖4是本發明實施例提供的測試數據包的RTT的一探測示意圖;圖5是本發明實施例提供的測試數據包的RTT的另一探測示意圖;圖6是本發明實施例提供的目標交換機的流表項的Hard-Timeout的探測示 意圖;圖7是本發明實施例提供的目標交換機的流表項的Idle-Timeout的探測示意圖;圖8a是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法一對應的一探測示意圖;圖8b是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法一對應的另一探測示意圖;圖8c是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法一對應的另一探測示意圖;圖8d是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法一對應的另一探測示意圖;圖9a是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法二對應的一探測示意圖;圖9b是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法二對應的另一探測示意圖;圖9c是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法二對應的另一探測示意圖;圖9d是本發明實施例提供的目標交換機的流表容量和用戶佔用的流表項的數量的探測方法二對應的另一探測示意圖;圖10是本發明實施例提供的檢測交換機信息洩露的裝置的一實施例結構示意圖;圖11是本發明實施例提供的檢測交換機信息洩露的裝置的另一實施例結構示意圖;圖12是本發明實施例提供的檢測終端的實施例結構示意圖。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。具體實現中,本發明實施例中所描述的交換機具體可為SDN網絡中的OpenFlow交換機,即,SDN網絡中使用OpenFlow協議進行通信的交換機。OpenFlow交換機內的流表均採用三態內容尋址存儲器(TernaryContentAddressableMemory,TCAM)緩存製成,TCAM主要用於快速查找訪問控制列表(AccessControlList,ACL)或者路由等表項,具有查找速度快,操作簡單的優點。同時,它也具有3個明顯的缺點:成本高、功耗大和路由更新複雜。TCAM緩存的高成本造成OpenFlow交換機中的流表容量極為有限,例如,日本電氣股份有限公司(NECCorporation)的PF5820交換機的流表容量僅為750條,在2013年開放網絡峰會(OpenNetworkingSummit,ONS)中被評為最佳SDN交換機的盛科V350流表容量也僅為2000條。與OpenFlow交換機極為有限的流表容量相對應的是,在數據中心內,網絡流數可以達到5k~10k條流/秒,網絡流數遠遠超過OpenFlow交換機中的流表數量。因此,如果網絡流量較大,則每個網絡流到來時OpenFlow交換機都需要根據該條流的特徵向流表中寫入對應的規則(flowentry),這種精確匹配的流表生成機制極易造成流表被完全佔用。流表被完全佔用後,如果有新的網絡流到達,且該網絡流在流表內尚無對應規則進行處理,則會導致以下後果:根據OpenFlow協議,OpenFlow交換機需要與控制器進行頻繁交互,將網絡流信息封裝在Packet_In(OpenFlow協議中所定義的由交換機發送至控制器的一類消息)消息內發送給控制器,由控制器計算並下發新的流表規則。交換機與控制器之間的頻繁交互會造成網絡性能的嚴重降低,而該種網絡性能的降低可以通過諸如往返時延(Round-TripTime,RTT)等參數進行測量。此外,交換機流表內存在對應流表規則(即流表中存在與網絡流中的數據包相匹配的流表項)與不存在對應流表規則(即流表中不存在與網絡流中的數據包相匹配的流表項)時的數據包轉發性能也有較大差異,該種差異也可以通過RTT等參數的測量進行區分。攻擊者可以通過生成一系列具有特定數據包序列的網絡流量,來影響甚至控制OpenFlow交換機內流表規則(即交換機流表中的流表項)的存活時間;而交換機流表的狀態(包括流表規則是否存在於交換機流表中以及交換機流表是否溢出等)可以通過對RTT等網絡參數的測量來判定。攻擊者將注入網絡中的數據包序列與通過RTT等網絡參數的測量判斷得到的對應流表規則狀態相結合, 即可推測OpenFlow交換機的內部狀態,並進一步推測OpenFlow交換機的TCAM流表容量以及與攻擊者連接至同一臺OpenFlow交換機的其他用戶的實時網絡流量(即其他用戶所佔用的流表項數量),從而造成OpenFlow交換機所在網絡的關鍵參數發生信息洩露。為了提高OpenFlow交換機的信息的保密性,增強OpenFlow交換機的安全性,本發明實施例提供了一種檢測交換機信息洩露的方法,可利用檢測工具對於現有的OpenFlow交換機進行檢測,如果發現存在OpenFlow交換機的信息洩漏安全漏洞,則需要採取相應的防禦措施,防止OpenFlow交換機信息的洩露。具體實現中,本發明實施例中所描述的檢測交換機信息洩露的方法的執行主體可為用於檢測交換機信息洩露的漏洞的檢測工具或者檢測終端,下面將簡單以檢測終端(或簡稱終端)為例進行具體說明。本發明實施例中所描述的交換機信息洩露的檢測參數主要是交換機的流表容量,以及與檢測終端連接至同一部OpenFlow交換機(即目標交換機)的其他用戶所佔用的流表項的數量等。上述流表容量即其他用戶所佔用的流表項的數量等參數僅是舉例,而非窮舉,在此不做限制。本發明實施例主要通過上述兩個參數的測量對判斷交換機是否存在信息洩露的漏洞,適用於基於OpenFlow協議的SDN架構,同樣也適用於其他SDN架構,在此不做限制。在本發明實施例中,檢測終端可通過檢測交換機流表中的流表項的硬體老化時間(Hard-Timeout)以及流表項的軟體老化時間(Idle-Timeout)等流表參數來確定交換機的流表容量的測量值,或者交換機的流表中其他用戶所佔用的流表項的數量的測量值等信息,進而將上述流表容量的測量值和其他用戶所佔用的流表項的數量的測量值,與交換機的標識配置中配置的流表容量的配置值以及其他用戶所佔用的流表項數量的配置值進行比較,根據比較結果確定交換機是否存儲信息洩露的漏洞。下面將圖1至圖12對本發明實施例提供的檢測交換機信息洩露的方法及裝置的具體實施方式進行描述。參見圖1,是本發明實施例提供的檢測交換機信息洩露的方法的第一實施例流程示意圖。本發明實施例中所描述的檢測方法,包括步驟:S101,獲取目標交換機的流表項的硬體老化時間Hard-Timeout和軟體老化時間Idle-Timeout。在一些可行的實施方式中,RTT在計算機網絡中它是一個重要的性能指標,表示從發送端發送數據開始,到發送端收到來自接收端的確認信息(接收端收到數據後便立即發送確認)總共經歷的時延。具體實現中,終端測試目標交換機的流表項的Hard-Timeout時,可首先設定向目標交換機發送測試數據包的時間間隔(即第一時間間隔),並按照上述預先設定的第一時間間隔向上述目標交換機發送第一測試數據包。當數據包到達目標交換機,目標交換機可首先對該數據包進行解析,提取用於匹配的數據報頭部欄位,隨後送入流水線進行處理。流水線首先可根據提取得到的數據報頭部欄位對流表進行匹配查詢,如果流表中有與該數據包相匹配的流表項,則按照該流表項的操作對數據包進行轉發,數據包隨後離開交換機。該種情況下的數據包處理過程如圖2中最內層虛線矩形所示,圖2為數據包在交換機中的處理過程。如果流表中未發現與該數據包相匹配的流表項,目標交換機則需要先對流表狀態進行檢查,如果流表未滿,則目標交換機將該數據包通過Packet_In消息上報至下發流表項信息的指定交換機,並隨後安裝由上述指定交換機計算並下發的新流表項(與上述數據包相匹配的流表項),最後,該數據包根據新流表項的操作進行轉發,數據包離開交換機。該種情況下的數據包處理過程如圖2中中間層虛線矩形所示。如果流表狀態檢查顯示流表已滿,目標交換機則需要先對流表執行清理,即根據指定流表替換算法對流表中已有的某些流表項進行刪除,從而為後續添加新的流表項提供流表空間。該種情況下的數據包處理過程如圖2中最外層虛線矩形所示。由此可以看出,圖2中三個矩形分別對應「流表中存在匹配流表項」、「流表中不存在匹配流表項且流表未滿」、「流表中不存在匹配流表項且流表已滿」三種狀態下的數據包轉發處理流程,以下分別用狀態1、狀態2、狀態3表示。相比狀態1,狀態2需要額外的Packet_In數據包上報、控制器流表計算生成、流表下發等操作,因此狀態2的處理時間要長於狀態1;相比狀態2,狀態3又引入了額外的流表清理與刪除操作,因此狀態3的處理時間要長於狀態2,綜上可知,假設上述三種狀態的處理時間分別為T0、T1和T2,則T0<T1RTT1。終端向目標交換機的流表中插入測試流表項的過程中,可對測試流表項的RTT進行監控,根據插入的測試流表項的RTT確定流表是否已滿。若終端根據插入流表的測試流表項的RTT確定流表已滿,則可記錄距離到流表已滿的時刻為止插入的測試流表項的數量,假設為M1,即,此時流表中所有的空間都已被測試流表項填滿,測試流表項的數量加上流表中已有的用戶佔用的流表項的數量,即為流表容量的測量值N1。進一步,終端檢測得到目標交換機的流表已滿之後,還可繼續向流表中插入測試流表項,此時,由於流表已滿,流表接收新的測試流表項時,需要將流表的頭部的流表項進行刪除,空出流表空間接收插入的新的測試流表項。在一些可行的實施方式中,終端檢測得到流表已滿之後,可繼續往流表中插入測試流表項,並對已經插入的測試流表項在流表中的存儲狀態,以判斷插入的第一個測試流表項何時被刪除。若插入的第一個測試流表項被刪除了,則流表中所有的流表項均為插入的測試流表項,計算當前已插入的測試流表項的數量則可確定目標交換機的流表容量。具體的,終端檢測得到插入的第一個測試流表項被刪除時,可計算截止第一個測試流表項被刪除時,終端已插入流表的測試流表項的總數量,假設為M2。由於此時目標交換機的流表已經被插入的測試流表項充滿,計算已插入的測試流表項的數量即為目標交換機的流表容量,即可將M2標記為目標交換機的流表容量N2。進一步的,又因為M1+其他用戶佔用的流表項的數量(即測試流表項插入之前流表已有的流表項數量)=M2, 可得其他用戶佔用的流表項的數量為M2-M1,即N2=M2-M1。具體實現中,終端可根據上述測試流表項插入流表的RTT和插入的測試流表項的狀態確定流表容量的測量值N1,或者,根據上述測試流表項插入流表的RTT和插入的測試流表項的狀態確定測試流表項插入流表之前流表已有的流表項數量的測量值N2中的任意一個或者兩個參數,具體可根據實際應用場景確定,在此不做限制。S104,當所述N1與所述目標交換機的標準配置參數中的流表容量的差值在第一預設範圍內,或者所述N2與所述目標交換機的標識配置參數中的用戶佔用的流表項數量的差值在第二預設範圍內時,確定所述目標交換機存在信息洩露的漏洞。在一些可行的實施方式中,終端獲取得到目標交換機的流表容量的測量值N1,或者測試流表項插入之前流表已有的流表項的數量的測量值N2之後,則可將上述獲取得到的測量值N1與目標交換機的標準配置參數中的流表容量進行匹配,判斷上述測量值N1是否接近於目標交換機的標準配置。若上述測量值N1與目標交換機的標準配置參數中的流表容量相近,即上述測量值N1與目標交換機的標準配置參數中的流表容量的差值在預先設定的第一預設範圍內,則可確定終端對目標交換機的流表容量的估計測量值N1近似於目標交換機的標準配置,目標交換機存在信息洩露的漏洞,終端(或者攻擊者)可利用該漏洞對目標交換機進行攻擊,獲取目標交換機的信息。進一步的,終端也可將上述獲取得到的測量值N2與目標交換機的標準配置參數中的用戶佔用的流表項數量進行匹配,判斷上述測量值N2是否接近於目標交換機的標準配置。若上述測量值N2與目標交換機的標準配置參數中的用戶佔用的流表項數量相近,即上述測量值N2與目標交換機的標準配置參數中的用戶佔用的流表項數量的差值在預先設定的第二預設範圍內,則可確定終端對目標交換機的流表容量的估計測量值N2近似於目標交換機的標準配置,目標交換機存在信息洩露的漏洞。終端用戶通過上述終端檢測得到目標交換機存在信息洩露的漏洞之後,則可針對上述漏洞採取補救措施,預防目標交換機的信息洩露。在本發明實施例中,終端可通過向目標交換機發送測試數據包,根據測試數據包的RTT確定目標交換機的流表項的Hard-Timeout和Idle-Timeout,進而可根據上述目標交換機的流表項的Hard-Timeout和Idle-Timeout確定向目標交換機的流表中插入流表項的時間間隔,進而可按照上述時間間隔向流表中插入 測試流表項。終端可根據各個時間節點插入流表中的測試流表項的RTT以及測試流表項在流表中的存活狀態,結合插入的測試流表項的數量確定目標交換機的流表容量的測量值,以及目標交換機的流表中用戶所佔用的流表項的數量的測量值等信息,將上述獲取得的測量值與目標交換機的標準配置中的配置值進行匹配,確定測量值是否與配置值相近,以此判斷目標交換機是否存在信息洩露的漏洞,提高交換機信息的保密性,增強網絡安全性。參見圖3,是本發明實施例提供的檢測交換機信息洩露的方法的第二實施例流程示意圖。本發明實施例中所描述的檢測方法,包括步驟:S201,按照第一時間間隔發送第一測試數據包給目標交換機,獲取按照所述第一時間間隔發送的每個所述第一測試數據包的RTT,根據第一測試數據包的RTT確定流表中的流表項狀態。在一些可行的實施方式中,根據上述第一實施例中所描述的實現方式可知,RTT可反映數據包在交換機中的處理時間,終端可通過測量數據包的RTT判斷交換機流表的狀態,進而可確定流表中的流表項的其他狀態。具體實現中,終端可獲取按照上述第一時間間隔發送給目標交換機的每個第一測試數據包的RTT。當上述測試數據包的RTT小於或者等於第一時延值T04時,確定上述目標交換機的流表未滿,並且流表中存在與第一測試數據包相匹配的流表項,即對應於上述狀態1所描述的流表狀態。當上述測試數據包的RTT大於T04並且小於或者等於第二時延值T14時,可確定目標交換機的流表未滿,並且流表中不存在與第一測試數據包相匹配的流表項,即對應於上述狀態2所描述的流表狀態。當上述測試數據包的RTT大於T14並且小於或者等於第三時延值T24時,可確定目標交換機的流表已滿,並且流表中不存在與第一測試數據包相匹配的流表項,即對應於上述狀態3所描述的流表狀態。其中,上述T04小於T14,T14小於T24。下面將結合圖4和圖5,對生成用於判斷目標交換機的流表狀態的RTT閾值的探測過程進行簡單介紹:步驟1,終端可生成具有某一{源IP,目的IP,源MAC,目的MAC}組合的測試數據包,記為Pkt1,將Pkt1發送至目標交換機。此時,由於Pkt1是新的數據包,目標交換機中還沒有與Pkt1相匹配的流表項,目標交換機需要向流表 項的下發終端請求與上述Pkt1相匹配的流表項。即,此時目標交換機的流表未滿,但沒有與Pkt1相匹配的流表項,即可對應於上述狀態2,此時,可記錄該Pkt1的RTT為T1(對應於上述T14),如圖4。步驟2,終端可在預設時間間隔之後,再次發送數據包Pkt1給目標交換機,此時,由於第一次發送Pkt1給目標交換機之後,目標交換機向相應的流表項的下發終端請求了上述Pkt1相匹配的流表項。故此,再次發送Pkt1給目標交換機時,目標交換機中已有剛剛添加的與Pkt1相對應的流表項,此時,流表未滿並且存在匹配流表項,即對應於上述狀態1,此時可記錄該Pkt1的RTT往返時延值為T0(對應於上述T04),如圖4。步驟3,終端可在預設時間間隔的各個時間節點連續不斷地生成具有彼此不同的{源IP,目的IP,源MAC,目的MAC}組和的數據包Pkt2、Pkt3、Pkt4….PktN,將這些生成的數據包依次持續發送至目標交換機,如圖5。由於此時目標交換機中無對應的流表項,則每個數據包的RTT應大致與T1相同,終端將PktN發送完畢後,再次發送Pkt1,此時,若目標交換機中無與Pkt1相對應的流表項且流表已滿,則對應於上述狀態3,此時,可記錄該Pkt1的RTT為T2(對應於上述T24),如圖4。由該探測過程可知,T0、T1、T2分別與三種流表狀態相對應,該測量可重複多次並取平均值作為流表狀態判斷的RTT閾值。通過實際測量,數據包的RTT可有效區分不同的流表狀態與流表項狀態,例如,在某個自行搭建的OpenFlow實驗網絡中,與三種狀態相對應的數據包RTT統計結果如下表1所示,表1為不同流表狀態下數據包的RTT統計結果。表1流表狀態流表項狀態數據包RTT流表未滿存在匹配流表項0.2-0.3ms流表未滿不存在匹配流表項3-5ms流表已滿存在匹配流表項0.2-0.3ms流表已滿不存在匹配流表項8-10ms由此,用於判定該網絡中目標OpenFlow交換機流表狀態的RTT閾值為:若RTT小於0.3ms,則可判定流表未滿且流表內存在匹配流表項;若RTT大於3ms小於5ms,則可判定流表未滿且流表內不存在匹配流表項;若RTT大於8ms小於10ms,則可判定流表已滿且流表內不存在匹配流表項。S202,根據獲取到的所述第一測試數據包的RTT確定所述目標交換機的流表項的Hard-Timeout。具體實現中,上述確定目標交換機的流表項的Hard-Timeout的具體實現過程可參見上述第一實施例中的步驟S101中所描述的實現方式,在此不再贅述。進一步的,在一些可行的實施方式中,終端可在第一時間節點發送第一測試數據包給目標交換機以觸發目標交換機向目標終端(即目標交換機的流表項的下發終端)獲取與上述第一測試數據包相匹配的目標流表項,並將本次發送的所述第一測試數據包的RTT記錄為T1(具體實現中,該T1可與上述圖4中所描述的T1為相同的值,也可為不同的值,但具體代表意義應為相同的,均為對應於狀態2的RTT閾值,下述T0也與上述圖4中的T0為相同的具體代表意義,為上述狀態1所對應的RTT閾值,下面不再贅述)。具體實現中,終端還可在第二時間節點上向目標交換機發送第一測試數據包,其中,上述第二時間節點和第一時間節點的時間間隔為第一時間間隔。當終端確定上述第二時間節點發送的所述第一測試數據包的RTT小於T1時,將本次發送的第一測試數據包的RTT記錄為T0,即此時目標交換機的流表中已存在著與第一測試數據包相匹配的流表項,此時可根據上述第一時間間隔繼續向目標交換機發送第一測試數據包,獲取每次向目標交換機發送的每個第一測試數據包的RTT。當終端第N次發送給目標交換機的第一測試數據包的RTT恢復為T1時,即此時目標交換機的流表項中已經沒有與上述第一測試數據包相匹配的流表項了,該流表項已被刪除。此時,終端可計算第N次發送第一測試數據包給目標交換機的時間節點與第一時間節點的目標時間間隔,並將目標時間間隔確定為目標交換機的流表項的Hard-Timeout,即將第一次發送第一測試數據包給目標交換機的時間與目標交換機中的目標流表項被刪除的時間之間的時間間隔設定為目標交換機的流表項的Hard-Timeout。其中,N為自然數。其中,上述第一次發送第一測試數據包給目標交換機的時間可設定為第一測試數據包的流表項的生成時間,第N次發送第一測試數據包給目標交換機時,該流表項已從流表中刪除,則第一次和第N次發送第一測試數據包的時間間隔即為第一測試數據包相匹配的流表項在目標交換機的流表中存活的時間長度,即,目標交換機的流表項的Hard-Timeout。下面將結合圖6,對目標交換機的流表項的Hard-Timeout的測量值的確定 過程進行分析:如圖6,目標交換機的流表項的Hard-Timeout值探測過程如下:選擇一個較小的數據包發送時間間隔ΔT(即第一時間間隔,圖6將以數據包間隔的形式進行說明),如選擇數據包間隔為0.1s;然後持續發送具有ΔT包間隔的一系列數據包,其中,第一個數據包的RTT應該為T1,此時目標交換機的流表中還沒有該數據包相匹配的流表項。第二個數據包開始目標交換機的流表項中將存在該數據包相匹配的流表項,第二個數據包開始的各個數據包的RTT應該為T0,直至目標交換機的流表中與該數據包相匹配的流表項被刪除,此時測得的數據包RTT將會增大至T1時。從開始發送數據包至觀察到數據包RTT增大至T1之間的時間間隔即為目標交換機的流表項的Hard-Timeout值(測量值)。S203,按照第二時間間隔向所述目標交換機發送第二測試數據包,根據獲取到的所述第二測試數據包的RTT調整發送所述第二測試數據包的時間間隔,並根據調整後的時間間隔發送的所述第二測試數據包的RTT確定所述目標交換機的流表項的Idle-Timeout。具體實現中,上述確定目標交換機的流表項的Idle-Timeout的具體實現過程可參見上述第一實施例中的步驟S101中所描述的實現方式,在此不再贅述。進一步的,在一些可行的實施方式中,終端可在第三時間節點發送第二測試數據包給目標交換機以觸發目標交換機向目標終端(即流表項的下發終端)獲取與第二測試數據包相匹配的目標流表項,並將本次發送的第二測試數據包的RTT記錄為T11(具體實現中,該T11可與上述圖4中所描述的T1為相同的值,也可為不同的值,但具體代表意義應為相同的,均為對應於狀態2的RTT閾值,下述T01也與上述圖4中的T0為相同的具體代表意義,為上述狀態1所對應的RTT閾值,下面不再贅述)。終端還可在第四時間節點上向目標交換機發送第二測試數據包,其中,上述第四時間節點和第三時間節點的時間間隔為第二時間間隔。當第四時間節點發送的第二測試數據包的RTT小於T11時,終端可將本次發送的第二測試數據包的RTT記錄為T01,並加大向目標交換機發送第二測試數據的時間間隔,以按照調整後的時間間隔繼續向目標交換機發送所述第二測試數據包。當第二測試數據包發送給目標交換機的RTT從小於T11恢復為T11時,將本次向目標交換機發送第二測試數據包的時間間隔確定為第三時間間隔,並將第三時間間隔確定為目標交換機的流表項的Idle-Timeout。即, 終端需要不斷加大向目標交換機發送測試數據包的時間間隔,以更準確地確定目標交換機的流表項從最後一次被匹配的時間點到因為長時間未被匹配而被刪除的時間點之間的時間間隔,即目標交換機的流表項的Idle-Timeout的測量值。下面將結合圖7,對目標交換機的流表項的Idle-Timeout的測量值的確定過程進行分析:如圖7,目標交換機的流表項的Idle-Timeout值探測過程如下:首先選擇一個數據包間隔的初始值ΔT1(即第二時間間隔),例如,選擇0.1s作為數據包間隔的初始值,將該數據包(即第二測試數據包)發送至目標交換機。根據前文可知,此時,該數據包的RTT將會在T1左右(目標交換機的流表中沒有相匹配的流表項),進一步的,終端可將數據包的發送間隔逐漸增大為ΔT2,ΔT3等,其中,上述數據包的發送間隔的增大方式可以採用二分法等算法來進行,在此不做限制。終端將具有逐漸增大的發送間隔的這一系列數據包發送至目標OpenFlow交換機並測量每個數據包的RTT,此時,由於流表中已存在與該數據包相匹配的流表項,則終端測得數據包的RTT將會在T0左右。當終端觀察到RTT值突然增大到T1時,意味著此時流表中原有的與上述數據包相匹配的流表項已經由於兩個數據包之間的發送間隔過長導致空閒超時而被刪除,因此此時的數據包發送間隔即可為目標交換機的流表項的Idle-Timeout的測量值。S204,根據所述Hard-Timeout和所述Idle-Timeout向所述目標交換機的流表中插入測試流表項,並記錄每個所述測試流表項插入所述流表的RTT。具體實現中,上述插入測試流表項的具體實現過程可參見上述第一實施例中的步驟S103中所描述的實現方式,在此不再贅述。進一步的,在一些可行的實施方式中,終端確定了目標交換機的流表項的Hard-Timeout和Idle-Timeout之後,可根據Hard-Timeout和Idle-Timeout確定將測試流表項插入流表的插入時間間隔,進而可按照上述插入時間間隔生成用於插入目標交換機的流表的測試流表項,並將測試流表項插入所述目標交換機的流表中。其中,上述測試流表項插入流表的時間間隔可在Min{Hard-Timeout,Idle-Timeout}中選擇,具體可根據實際應用場景確定,在此不做限制。S205,根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,或者確定測試流表項插入之前所述流表已有的流表項數量的測量值N2。具體實現中,上述確定目標交換機的流表容量及用戶佔用的流表項數量的測量值的具體實現過程可參見上述第一實施例中的步驟S104中所描述的實現方式,在此不再贅述。進一步的,在一些可行的實施方式中,上述插入的測試流表項的狀態可包括:測試流表項在流表中的存活狀態,和測試流表項的數量等。終端可將獲取到的每一個測試流表項的RTT與時延值T12進行匹配,當獲取得到插入上述流表的某個測試流表項的RTT大於或者等於所述T12時,確定上述流表已滿,並記錄已插入流表的測試流表項的數量M1。其中,上述T12可對應於上述描述中目標交換機的流表已滿的狀態(即狀態3)下的數據包的RTT,即T2,即本發明實施例中所描述的T12可為T2,也可為另外一個參數,用於指代流表狀態已滿時插入的流表項的RTT。終端還可記錄M1個測試流表項插入流表(即流表已滿)之後繼續插入上述流表的測試流表項的數量,同時還可檢測M1個測試流表項在流表中的存活狀態。即,終端在目標交換機的流表已滿的狀態下繼續插入流表項到流表中,可將位於流表頭部的流表項擠出流表為插入的流表項騰出流表空間,即此時流表會溢出。終端持續插入測試流表項,將流表中原有的流表項擠出流表,若繼續插入測試流表項,則可能將先插入的測試流表項擠出流表,故此,終端需要對插入的測試流表項在流表中的存活狀態進行判斷,確定插入的測試流表項是否被刪除,即是否溢出流表。在一些可行的實施方式中,當終端檢測得到M1個測試流表項中第一個插入流表的目標測試流表項已從流表中刪除時,可確定當前已插入流表的測試流表項的總數量M2,進而可將上述已插入流表的測試流表項的總數量M2確定為目標交換機的流表容量的測量值N1。即,當插入的第一個測試流表項從流表中刪除時,流表中存活的流表項將全部是測試流表項,即測試流表項插入之前流表中已有的用戶佔用的流表項將全部被刪除,此時則可確定目標交換機的流表容量為M2,進而可將M2標記為目標交換機的流表容量的測量值N1。進一步的,確定測試流表項插入流表之前流表已有的流表項的數量的測量值N2時,也可按照上述方式確定流表容量的測量值N1,在根據上述流表容量的測量值N1進一步確定上述N2。具體的,由於插入M1個測試流表項時,流表已滿,此時流表中包含的流表項有用戶佔用的流表項和測試流表項,插入M2個測試流表項時,流表也依然是滿的,只是此時流表中包含的流表項均為測試流表項,綜上 可知,M2與M1的差值即為測試流表項插入之前用戶佔用的流表項的數量的測量值,即終端可將M2與M1的數量差標記為流表已有的流表項數量的測量值N2。在一些可行的實施方式中,本發明實施例可採用先進先出(First-In-First-out,FIFO)算法對目標交換機的流表容量和用戶佔用的流表項的數量進行檢測,下面將結合圖8a-圖8d對上述流表容量和用戶佔用的流表項的數量進行探測的檢測過程進行描述。FIFO是最簡單的頁面置換算法,其基本思想是:當需要淘汰一個頁面時,總是選擇駐留主存時間最長的頁面進行淘汰,即先進入主存的頁面先淘汰。如果將FIFO替換算法作為目標交換機的流表替換算法,則流表維護操作為:將流表維護成一個固定長度的隊列,該隊列的長度即為目標交換機的流表容量;當插入一條新流表項時,將該流表項插入隊列尾部,並將之前流表項依次向前移動一項;當需要刪除某一條流表項時,則從隊列頭部進行刪除。圖8a-8d所示為FIFO替換算法探測過程中目標交換機的流表變化情況,分別對應ABCD四個階段,其中白色矩形代表來自同一臺交換機下連接的用戶所佔用的流表項,灰色矩形代表終端生成並插入的測試流表項。如圖8a,A代表探測開始時的流表狀態,此時流表中的流表項均來自終端之外的其他用戶,探測開始後,終端可在短時間內生成並插入測試流表項,由FIFO算法,新插入的流表項將會把其他用戶所佔用的流表項「推」向流表前部,如圖8b的B階段所示。插入流表項過程中,終端需要不斷記錄插入的測試流表項的RTT,一旦記錄到與狀態3相對應的RTT值,即流表已被流表項充滿時所對應的RTT值,即記錄到當前時刻為止已插入的流表項M1。此時,目標交換機的流表狀態如圖8c的C階段所示,流表內原有的剩餘空間已經全部被探測者插入的流表項充滿。隨後終端繼續插入新的測試流表項,同時不斷探測之前已經插入的測試流表項的存活狀態,一旦記錄到已經插入的第一條測試流表項已從流表中被刪除,即記錄到該時刻為止已插入的測試流表項M2,此時流表狀態如圖d的D階段所示。流表已經全部被終端插入的測試流表項充滿,此時已插入的流表項總數M2即可設定為流表的容量的測量值N1。又因為圖8c的C階段所示狀態中M1+其他用戶所佔用的流表項=流表容量M2,可得其他用戶所佔用的流表項=流表容量 M2-M1,即可設定其他用戶所佔用的流表項的數量的測量值N2=M2-M1。具體實現中,FIFO替換算法下的檢測算法偽代碼如下所示:進一步的,在一些可行的實施方式中,終端還可使用最近最少使用算法(Least-Recently-Used,LRU)算法對目標交換機的流表容量和其他用戶所佔用的流表項的數量進行探測。具體實現中,終端可在測試流表項的插入過程中,保持對已插入的各個測試流表項的訪問,以防止測試流表項因為最近最少使用(即預設時間內未被訪問)而被刪除。具體的,終端可將每一個所測試流表項的RTT與時延值T13進行匹配,當獲取得到插入流表的某個測試流表項的RTT大於或者等於T13時,確定流表已滿,並記錄已插入流表的測試流表項的數量M3。其中,上述T13可對應於上述描述中目標交換機的流表已滿的狀態(即狀態3)下的數據包的RTT,即T2,即本發明實施例中所描述的T13可為T2,也可為另外一個參數,用於指代流表狀態已滿時插入的流表項的RTT。終端可記錄M3個測試流表項插入流表之後繼續插入上述流表的測試流表的數量,並檢測上述已插入的M3個測試流表項在上述流表中的存活狀態。當檢測得到上述M3個測試流表項中第一個插入流表的目標測試流表項已從流表中刪除時,可確定當前已插入流表的測試流表項的總數量M4,並可將上述M4確定為目標交換機的流表容量的測量值N1。進一步的,終端還可將上述M4與M3的數量差標記為目標交換機的流表已有的流表項數量的測量值N2。下面將結合圖9a-圖9d對終端使用LRU算法對目標交換機的流表容量和用戶佔用的流表項的數量進行探測的檢測過程進行描述。LRU算法,即最近最少使用算法,這種算法的基本思想是:利用局部性原理,根據一個作業在執行過程中過去的頁面訪問歷史來推測未來的行為。它認為過去一段時間裡不曾被訪問過的頁面,在最近的將來可能也不會再被訪問。所以,這種算法的實質是:當需要淘汰一個頁面時,總是選擇在最近一段時間內最久不用的頁面予以淘汰。如果將LRU算法作為目標交換機的流表替換算法,則流表維護操作操作為:將流表維護成一個固定長度的隊列,該隊列的長度即為目標交換機的流表容量。當插入一條新流表項時,將該流表項插入隊列尾部,並將之前的流表項依次向前移動一項;當某條流表項被訪問時,將該流表項移至隊列尾部,並將原本位於該流表項至隊列尾部之間的流表項向前移動一項; 當需要刪除某一條流表項時,則從隊列頭部進行刪除。圖9a-9d所示為LRU算法探測過程中目標交換機的流表變化情況,分別對應於ABCD四個階段,其中白色矩形代表來自同一臺交換機下連接的其他用戶所佔用的流表項,灰色矩形代表終端生成並插入的測試流表項。圖9a代表探測開始時的流表狀態,此時流表中的流表項均來自其他用戶,探測開始後,終端可在短時間內生成並插入測試流表項,由LRU算法,最近被訪問過的流表項將會被移至流表後部,並把其他用戶的流表項「推」向流表前部,如圖9b的B階段所示。為保證終端插入的測試流表項始終位於流表後部,需要額外的流表項維護操作,即終端需要在探測過程中不斷對之前插入的測試流表項進行重複訪問。終端插入測試流表項過程中,可不斷記錄插入測試流表項所需要的RTT,一旦記錄到與狀態3,即流表已被充滿的狀態相對應的RTT值,即記錄到當前時刻為止已插入的測試流表項M3,此時流表狀態如圖9c的C階段所示,流表內原有的剩餘空間已經全部被終端插入的流表項充滿。隨後終端繼續插入新的測試流表項,同時不斷探測之前已經插入的測試流表項的存活狀態,一旦記錄到已經插入的第一條測試流表項已從流表中被刪除,即記錄到該時刻為止已插入的流表項M4。此時流表狀態如圖9d的D階段所示,流表已經全部被探測者插入的測試流表項充滿,此時已插入的測試流表項總數M4即為流表的容量的測量值N1。又因為圖9c的C階段所示狀態中M3+其他用戶所佔用的流表項=流表容量M4,可得其他用戶所佔用的流表項的測量值=流表容量的測量值-M3=M4-M3,即,N2=M4-M3。由於LRU算法的特殊性,其在維護流表的過程中會不斷將被訪問的流表項移至流表隊列尾部,若終端插入一條測試流表項後不對其進行持續訪問,則該測試流表項將會因一段時間內沒有被訪問而被很快刪除,因此為了使測試流表項儘可能完全佔據流表內的剩餘空間並將其他用戶的流表項儘可能「推向」流表隊列頭部,終端需要在探測過程中不斷重複訪問先前已經插入的測試流表項,從而維護已經插入的測試流表項避免其被刪除,額外的流表項維護算法偽代碼如下所示。LRU算法下的檢測算法偽代碼如下所示:S206,當所述N1與所述目標交換機的標準配置參數中的流表容量的差值在第一預設範圍內,或者所述N2與所述目標交換機的標識配置參數中的用戶佔用的流表項數量的差值在第二預設範圍內時,確定所述目標交換機存在信息洩露的漏洞。具體實現中,上述根據目標交換機的流表容量的測量值,和目標交換機的流表中的用戶佔用的流表項數量的測量值確定目標交換機是否存在信息洩露的漏洞的具體實現過程可參見上述第一實施例中的步驟S105所描述的實現方式,在此不再贅述。在本發明實施例中,終端可通過向目標交換機發送測試數據包,根據測試數據包的RTT確定目標交換機的流表項的Hard-Timeout和Idle-Timeout,進而可根據上述目標交換機的流表項的Hard-Timeout和Idle-Timeout確定向目標交換機的流表中插入流表項的時間間隔,進而可按照上述時間間隔向流表中插入測試流表項。終端可採用FIFO或者LRU等算法根據各個時間節點插入流表中的測試流表項的RTT以及測試流表項在流表中的存活狀態,結合插入的測試流表項的數量確定目標交換機的流表容量的測量值,或者目標交換機的流表中用 戶所佔用的流表項的數量的測量值等信息。終端還可將上述獲取得的測量值與目標交換機的標準配置中的配置值進行匹配,確定測量值是否與配置值相近,以此判斷目標交換機是否存在信息洩露的漏洞,提高了交換機流表狀態的判斷的準確性,增強了交換機信息的保密性,增強網絡安全性。參見圖10,是本發明實施例提供的檢測交換機信息洩露的裝置的一實施例結構示意圖。本發明實施例中所描述的裝置,包括:獲取模塊10,用於獲取目標交換機的流表項的硬體老化時間Hard-Timeout和軟體老化時間Idle-Timeout,其中,所述Hard-Timeout為所述流表項在流表中存儲的時長,所述Idle-Timeout為所述流表項最後一次被數據包匹配的時間點至所述流表項被刪除的時間點之間的時長。插入模塊20,用於根據所述獲取模塊獲取的所述Hard-Timeout和所述Idle-Timeout向所述目標交換機的流表中插入測試流表項,並記錄每個所述測試流表項插入所述流表的往返時延RTT。確定模塊30,用於根據所述插入模塊記錄的各個所述測試流表項插入所述流表的RTT,和所述插入模塊插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,或者確定測試流表項插入之前所述流表已有的流表項數量的測量值N2。檢測模塊40,用於在所述確定模塊確定的所述N1與所述目標交換機的標準配置參數中的流表容量的差值在第一預設範圍內,或者所述N2與所述目標交換機的標識配置參數中的用戶佔用的流表項數量的差值在第二預設範圍內時,確定所述目標交換機存在信息洩露的漏洞。在一些可行的實施方式中,如圖11,上述獲取模塊10包括:第一處理單元11,用於按照第一時間間隔向所述目標交換機發送第一測試數據包,並根據獲取到的所述第一測試數據包的RTT確定所述目標交換機的流表項的Hard-Timeout。第二處理單元12,用於按照第二時間間隔向所述目標交換機發送第二測試數據包,根據獲取到的所述第二測試數據包的RTT調整發送所述第二測試數據包的時間間隔,並根據調整後的時間間隔發送的所述第二測試數據包的RTT確定所述目標交換機的流表項的Idle-Timeout。在一些可行的實施方式中,上述第一處理單元11具體用於:在第一時間節點發送所述第一測試數據包給目標交換機,並將本次發送的所述第一測試數據包的RTT記錄為T1;在第二時間節點上向所述目標交換機發送所述第一測試數據包,所述第二時間節點和所述第一時間節點的時間間隔為所述第一時間間隔;當所述第二時間節點發送的所述第一測試數據包的RTT小於T1時,將本次發送的所述第一測試數據包的RTT記錄為T0,並根據所述第一時間間隔繼續向所述目標交換機發送所述第一測試數據包,獲取每次向所述目標交換機發送的每個所述第一測試數據包的RTT;當第N次發送給所述目標交換機的所述第一測試數據包的RTT恢復為T1時,計算所述第N次發送所述第一測試數據包給所述目標交換機的時間節點與所述第一時間節點的目標時間間隔,並將所述目標時間間隔確定為所述目標交換機的流表項的Hard-Timeout;其中,所述T1大於所述T0,所述N為自然數。在一些可行的實施方式中,上述第二處理單元12具體用於:在第三時間節點發送所述第二測試數據包給目標交換機,並將本次發送的所述第二測試數據包的RTT記錄為T11;在第四時間節點上向所述目標交換機發送所述第二測試數據包,所述第四時間節點和所述第三時間節點的時間間隔為所述第二時間間隔;當所述第四時間節點發送的所述第二測試數據包的RTT小於T11時,將本次發送的所述第二測試數據包的RTT記錄為T01,並加大向所述目標交換機發送所述第二測試數據的時間間隔,以按照調整後的時間間隔繼續向所述目標交換機發送所述第二測試數據包。在一些可行的實施方式中,上述第二處理單元12具體用於:根據調整後的時間間隔發送所述第二測試數據包給所述目標交換機;當所述第二測試數據包的RTT從小於T11恢復為T11時,將本次向所述目標交換機發送所述第二測試數據包的時間間隔確定為第三時間間隔,並將所述第三時間間隔確定為所述目標交換機的流表項的Idle-Timeout。在一些可行的實施方式中,上述插入模塊20具體用於:根據所述Hard-Timeout和所述Idle-Timeout,確定將測試流表項插入所述流 表的插入時間間隔;按照所述插入時間間隔生成用於插入所述目標交換機的流表的測試流表項,並將所述測試流表項插入所述目標交換機的流表中。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;上述確定模塊30具體用於:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M2確定為所述目標交換機的流表容量的測量值N1。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;上述確定模塊30具體用於:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M2,並將所述M2與所述M1的數量差標記為所述流表已有的流表項數量的測量值N2。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;上述確定模塊30具體用於:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的 訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M4確定為所述目標交換機的流表容量的測量值N1。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;上述確定模塊30具體用於:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M4,並將所述M4與所述M3的數量差標記為所述流表已有的流表項數量的測量值N2。在一些可行的實施方式中,上述第一處理單元11還用於:獲取按照所述第一時間間隔發送的每個所述第一測試數據包的RTT;當所述RTT小於或者等於第一時延值T04時,確定所述目標交換機的流表未滿,並且所述流表中存在與所述第一測試數據包相匹配的流表項;當所述RTT大於所述T04並且小於或者等於第二時延值T14時,確定所述流表未滿,並且所述流表中不存在與所述第一測試數據包相匹配的流表項;當所述RTT大於所述T14並且小於或者等於第三時延值T24時,確定所述 流表已滿,並且所述流表中不存在與所述第一測試數據包相匹配的流表項;其中,所述T04小於所述T14,所述T14小於所述T24。具體實現中,本發明實施例中所描述的檢測交換機信息洩露的裝置可通過其包含的獲取模塊、插入模塊、確定模塊、檢測模塊以及獲取模塊中包含的第一處理單元和第二處理單元等模塊,執行上述本發明實施例中所描述的檢測交換機信息洩露的方法中各個步驟所執行的實現方式。具體實現中,上述各個模塊或者單元的具體實現過程可參見上述檢測交換機信息洩露的方法的第一實施例和第二實施例中各個步驟所描述的實現方式,在此不再贅述。參見圖11,是本發明實施例提供的檢測終端的實施例結構示意圖。本發明實施例中所描述的檢測終端,包括:存儲器1000、發送器2000、接收器3000和處理器4000;上述存儲器1000、發送器2000、接收器3000和處理器4000通過總線5000連接。所述存儲器1000,用於存儲程序代碼;所述發送器2000、所述接收器3000和所述處理器4000,用於調用所述存儲器1000中存儲的所述程序代碼,執行如下操作:所述處理器4000,用於獲取目標交換機的流表項的硬體老化時間Hard-Timeout和軟體老化時間Idle-Timeout,其中,所述Hard-Timeout為所述流表項在流表中存儲的時長,所述Idle-Timeout為所述流表項最後一次被數據包匹配的時間點至所述流表項被刪除的時間點之間的時長。所述處理器4000,還用於根據所述Hard-Timeout和所述Idle-Timeout向所述目標交換機的流表中插入測試流表項,並記錄每個所述測試流表項插入所述流表的往返時延RTT。所述處理器4000,還用於根據各個所述測試流表項插入所述流表的RTT和插入的所述測試流表項的狀態,確定所述目標交換機的流表容量的測量值N1,或者確定測試流表項插入之前所述流表已有的流表項數量的測量值N2。所述處理器4000,還用於在所述N1與所述目標交換機的標準配置參數中的流表容量的差值在第一預設範圍內,或者所述N2與所述目標交換機的標識配置參數中的用戶佔用的流表項數量的差值在第二預設範圍內時,確定所述目標交換機存在信息洩露的漏洞。在一些可行的實施方式中,所述處理器4000具體用於:通過所述發送器2000按照第一時間間隔向所述目標交換機發送第一測試數據包,並根據獲取到的所述第一測試數據包的RTT確定所述目標交換機的流表項的Hard-Timeout;通過所述發送器2000按照第二時間間隔向所述目標交換機發送第二測試數據包,根據獲取到的所述第二測試數據包的RTT調整發送所述第二測試數據包的時間間隔,並根據調整後的時間間隔發送的所述第二測試數據包的RTT確定所述目標交換機的流表項的Idle-Timeout。在一些可行的實施方式中,所述處理器4000具體用於:通過所述發送器2000在第一時間節點發送所述第一測試數據包給目標交換機,並將本次發送的所述第一測試數據包的RTT記錄為T1;通過所述發送器2000在第二時間節點上向所述目標交換機發送所述第一測試數據包,所述第二時間節點和所述第一時間節點的時間間隔為所述第一時間間隔;當所述第二時間節點發送的所述第一測試數據包的RTT小於T1時,將本次發送的所述第一測試數據包的RTT記錄為T0,並根據所述第一時間間隔繼續向所述目標交換機發送所述第一測試數據包,獲取每次向所述目標交換機發送的每個所述第一測試數據包的RTT;當第N次發送給所述目標交換機的所述第一測試數據包的RTT恢復為T1時,計算所述第N次發送所述第一測試數據包給所述目標交換機的時間節點與所述第一時間節點的目標時間間隔,並將所述目標時間間隔確定為所述目標交換機的流表項的Hard-Timeout;其中,所述T1大於所述T0,所述N為自然數。在一些可行的實施方式中,所述處理器4000具體用於:通過所述發送器2000在第三時間節點發送所述第二測試數據包給目標交換機,並將本次發送的所述第二測試數據包的RTT記錄為T11;通過所述發送器2000在第四時間節點上向所述目標交換機發送所述第二測試數據包,所述第四時間節點和所述第三時間節點的時間間隔為所述第二時間間隔;當所述第四時間節點發送的所述第二測試數據包的RTT小於T11時,將本 次發送的所述第二測試數據包的RTT記錄為T01,並加大向所述目標交換機發送所述第二測試數據的時間間隔,以按照調整後的時間間隔繼續向所述目標交換機發送所述第二測試數據包。在一些可行的實施方式中,所述處理器4000具體用於:通過所述發送器2000根據調整後的時間間隔發送所述第二測試數據包給所述目標交換機;當所述第二測試數據包的RTT從小於T11恢復為T11時,將本次向所述目標交換機發送所述第二測試數據包的時間間隔確定為第三時間間隔,並將所述第三時間間隔確定為所述目標交換機的流表項的Idle-Timeout。在一些可行的實施方式中,所述處理器4000具體用於:根據所述Hard-Timeout和所述Idle-Timeout,確定將測試流表項插入所述流表的插入時間間隔;按照所述插入時間間隔生成用於插入所述目標交換機的流表的測試流表項,並將所述測試流表項插入所述目標交換機的流表中。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述處理器4000具體用於:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M2確定為所述目標交換機的流表容量的測量值N1。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述處理器4000具體用於:將每一個所述測試流表項的RTT與時延值T12進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T12時,確定所述流表已 滿,並記錄已插入所述流表的測試流表項的數量M1;記錄所述M1個測試流表項插入所述流表之後繼續插入所述流表的測試流表項的數量,並檢測所述M1個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M1個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M2,並將所述M2與所述M1的數量差標記為所述流表已有的流表項數量的測量值N2。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述處理器4000具體用於:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,將當前已插入所述流表的測試流表項的總數量M4確定為所述目標交換機的流表容量的測量值N1。在一些可行的實施方式中,所述插入的所述測試流表項的狀態包括:所述測試流表項在所述流表中的存活狀態,和所述測試流表項的數量;所述處理器4000具體用於:在所述測試流表項的插入過程中,保持對已插入的各個所述測試流表項的訪問,以防止所述測試流表項因為預設時間內未被訪問而被刪除;將每一個所述測試流表項的RTT與時延值T13進行匹配,當獲取得到插入所述流表的某個測試流表項的RTT大於或者等於所述T13時,確定所述流表已滿,並記錄已插入所述流表的測試流表項的數量M3;記錄所述M3個測試流表項插入所述流表之後繼續插入所述流表的測試流表的數量,並檢測所述M3個所述測試流表項在所述流表中的存活狀態;當檢測得到所述M3個測試流表項中第一個插入所述流表的目標測試流表項已從所述流表中刪除時,記錄當前已插入所述流表的測試流表項的總數量M4,並將所述M4與所述M3的數量差標記為所述流表已有的流表項數量的測量值N2。在一些可行的實施方式中,所述處理器4000還用於:通過所述接收器3000獲取按照所述第一時間間隔發送的每個所述第一測試數據包的RTT;當所述RTT小於或者等於第一時延值T04時,確定所述目標交換機的流表未滿,並且所述流表中存在與所述第一測試數據包相匹配的流表項;當所述RTT大於所述T04並且小於或者等於第二時延值T14時,確定所述流表未滿,並且所述流表中不存在與所述第一測試數據包相匹配的流表項;當所述RTT大於所述T14並且小於或者等於第三時延值T24時,確定所述流表已滿,並且所述流表中不存在與所述第一測試數據包相匹配的流表項;其中,所述T04小於所述T14,所述T14小於所述T24。具體實現中,本發明實施例中所描述的檢測終端可通過其包含的發送器2000、接收器3000和處理器4000等模塊,執行上述本發明實施例中所描述的檢測交換機信息洩露的方法中各個步驟所執行的實現方式。具體實現中,上述發送器2000、接收器3000和處理器4000的具體實現過程可參見上述檢測交換機信息洩露的方法的第一實施例和第二實施例中各個步驟所描述的實現方式,在此不再贅述。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。以上所揭露的僅為本發明較佳實施例而已,當然不能以此來限定本發明之權利範圍,因此依本發明權利要求所作的等同變化,仍屬本發明所涵蓋的範圍。當前第1頁1 2 3 當前第1頁1 2 3