System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及通信,具體而言,涉及一種深度掃描方法、電子設備、存儲介質及程序產品。
技術介紹
1、當前防火墻的訪問控制策略與安全引擎遵循“一次匹配、多次檢查”的原則,即當連接命中訪問控制策略后,根據訪問控制策略引用的安全策略做安全檢測。
2、當前防火墻加密流量檢查也需要遵循該原則,但由于加密流量檢測的技術方案中代理進程與掃描進程是拆分開的。代理進程負責代理、解密業務,掃描進程負責掃描業務,代理進程與掃描進程通信一次,代表一次安全掃描業務。
3、現有技術中在進行掃描時,通常是進行一次http協議的連接,處理一次請求,若同時接收到多個請求,則無法處理,需要斷開當前連接,重新連接,需要消耗較多時間,如何提高掃描效率,減少掃描時間,是目前急需解決的問題。
技術實現思路
1、本申請的一些實施例的目的在于提供一種深度掃描方法、電子設備、存儲介質及程序產品,通過本申請的實施例的技術方案,通過接收客戶端發送的第一報文請求;根據所述第一報文請求,確定與所述第一報文請求對應的第一掃描狀態;循環接收客戶端發送的第n報文請求,其中,n為大于0的自然數,且n為一次長連接中的最大連接請求次數;在對緩存文件掃描完成后,將所述第一掃描狀態更改為第二掃描狀態;在所述第二掃描狀態為掃描結束的情況下,將與所述第一報文請求對應的緩存文件發送至服務器,本申請實施例增加一個感知掃描狀態的狀態機,用于維護掃描業務的狀態和對應操作,可以在一次長連接的情況下,處理多個報文請求,并標識各個掃描狀態,解決在長連接多
2、第一方面,本申請的一些實施例提供了一種深度掃描方法,包括:
3、接收客戶端發送的第一報文請求;
4、根據所述第一報文請求,確定與所述第一報文請求對應的第一掃描狀態;
5、循環接收客戶端發送的第n報文請求,其中,n為大于0的自然數,且n為一次長連接中的最大連接請求次數;
6、在對緩存文件掃描完成后,將所述第一掃描狀態更改為第二掃描狀態;
7、在所述第二掃描狀態為掃描結束的情況下,將與所述第一報文請求對應的緩存文件發送至服務器。
8、本申請的一些實施例通過增加一個感知掃描狀態的狀態機,用于維護掃描業務的狀態和對應操作,可以在一次長連接的情況下,處理多個報文請求,并標識各個掃描狀態,解決在長連接多次請求場景下,深度掃描業務失效的問題,提高掃描效率,減少掃描時間。
9、可選地,所述接收客戶端發送的第一報文請求,包括:
10、通過代理進程接收客戶端發送的第一次https報文請求;
11、所述代理進程對所述第一次https報文請求進行解析,得到緩存文件,并將所述緩存文件存儲在數據庫中。
12、本申請的一些實施例在客戶端和服務器端連接成功的情況下,通過代理進程接收客戶端發送的第一次https報文請求,并對第一次https報文請求進行解析,得到緩存文件,并將緩存文件存儲在數據庫中,便于后續的掃描操作。
13、可選地,所述根據所述第一報文請求,確定與所述第一報文請求對應的第一掃描狀態,所述第一掃描狀態為正在掃描,包括:
14、在客戶端和服務器端連接成功的情況下,通過所述代理進程向掃描進程發送第一次掃描請求,所述代理進程記錄當前連接的序列號,確定與所述第一報文請求對應的第一掃描狀態,所述第一掃描狀態為正在掃描,并為當前連接標記不發送數據標識。
15、本申請的一些實施例通過設置的狀態機記錄請求的掃描狀態,維護掃描業務的狀態。
16、可選地,所述方法還包括:
17、在所述代理進程接收第二次https報文請求的情況下,判斷所述當前連接是否為正在掃描;
18、若判斷當前連接為正在掃描的情況下,不處理所述第二次https報文請求。
19、本申請的一些實施例,在接收到多個報文請求后,對當前連接的當前操作判斷是否為正在掃描,若是在掃描過程中,則不處理新的報文請求,解決在長連接多次請求場景下,掃描進程異常產生僵尸子進程導致系統內存耗盡的問題。
20、可選地,所述在對緩存文件掃描完成后,將所述第一掃描狀態更改為第二掃描狀態,包括:
21、所述代理進程接收所述掃描進程返回的掃描結果,將當前連接狀態修改掃描結束,并將標記的不發送數據標識刪除。
22、本申請的一些實施例通過代理進程接收所述掃描進程返回的掃描結果,將當前連接狀態修改掃描結束,并將標記的不發送數據標識刪除,這樣就可以處理新的報文請求,解決在長連接多次請求場景下,掃描進程異常產生僵尸子進程導致系統內存耗盡的問題。
23、可選地,所述方法還包括:
24、在當前連接的請求達到n值時,將所述緩存文件刪除。
25、本申請的一些實施例中在當前連接的請求數量達到最大值時,將緩存文件刪除,減少內存的占用量。
26、可選地,所述方法還包括:
27、客戶端與代理進程進行三次握手,建立左側連接,所述客戶端與代理進程進行ssl握手,建立左側ssl連接;
28、代理進程與服務器進行三次握手,建立右側連接,代理進程與服務器進行ssl握手,建立右側ssl連接。
29、本申請的一些實施例通過客戶端和服務器分別與代理進程建立連接,在連接成功后,通過掃描進程進行后續掃描操作。
30、第二方面,本申請的一些實施例提供了一種深度掃描裝置,包括:
31、接收模塊,用于接收客戶端發送的第一報文請求;
32、確定模塊,用于根據所述第一報文請求,確定與所述第一報文請求對應的第一掃描狀態;
33、循環模塊,用于循環接收客戶端發送的第n報文請求,其中,n為大于0的自然數,且n為一次長連接中的最大連接請求次數;
34、更改模塊,用于在對緩存文件掃描完成后,將所述第一掃描狀態更改為第二掃描狀態;
35、發送模塊,用于在所述第二掃描狀態為掃描結束的情況下,將與所述第一報文請求對應的緩存文件發送至服務器。
36、本申請的一些實施例通過增加一個感知掃描狀態的狀態機,用于維護掃描業務的狀態和對應操作,可以在一次長連接的情況下,處理多個報文請求,并標識各個掃描狀態,解決在長連接多次請求場景下,深度掃描業務失效的問題,提高掃描效率,減少掃描時間。
37、可選地,所述接收模塊,用于:
38、通過代理進程接收客戶端發送的第一次https報文請求;
39、所述代理進程對所述第一次https報文請求進行解析,得到緩存文件,并將所述緩存文件存儲在數據庫中。
40、本申請的一些實施例在客戶端和服務器端連接成功的情況下,通過代理進程接收客戶端發送的第一次https報文請求,并對第一次https報文請求進行解析,得到緩存文件,并將緩存文件存儲在數據庫中,便于后續的掃本文檔來自技高網...
【技術保護點】
1.一種深度掃描方法,其特征在于,所述方法包括:
2.根據權利要求1所述的深度掃描方法,其特征在于,所述接收客戶端發送的第一報文請求,包括:
3.根據權利要求2所述的深度掃描方法,其特征在于,所述根據所述第一報文請求,確定與所述第一報文請求對應的第一掃描狀態,包括:
4.根據權利要求3所述的深度掃描方法,其特征在于,所述方法還包括:
5.根據權利要求4所述的深度掃描方法,其特征在于,所述在對緩存文件掃描完成后,將所述第一掃描狀態更改為第二掃描狀態,包括:
6.根據權利要求2所述的深度掃描方法,其特征在于,所述方法還包括:
7.根據權利要求1所述的深度掃描方法,其特征在于,所述方法還包括:
8.一種電子設備,其特征在于,包括存儲器、處理器以及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其中,所述處理器執行所述程序時可實現權利要求1-7中任意一項權利要求所述的深度掃描方法。
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,其特征在于,所述程序被處
10.一種計算機程序產品,所述的計算機程序產品包括計算機程序,其中,所述的計算機程序被處理器執行時可實現權利要求1-7中任意一項權利要求所述的深度掃描方法。
...【技術特征摘要】
1.一種深度掃描方法,其特征在于,所述方法包括:
2.根據權利要求1所述的深度掃描方法,其特征在于,所述接收客戶端發送的第一報文請求,包括:
3.根據權利要求2所述的深度掃描方法,其特征在于,所述根據所述第一報文請求,確定與所述第一報文請求對應的第一掃描狀態,包括:
4.根據權利要求3所述的深度掃描方法,其特征在于,所述方法還包括:
5.根據權利要求4所述的深度掃描方法,其特征在于,所述在對緩存文件掃描完成后,將所述第一掃描狀態更改為第二掃描狀態,包括:
6.根據權利要求2所述的深度掃描方法,其特征在于,所述方法還包括:
7.根據權利要求...
【專利技術屬性】
技術研發人員:周強,
申請(專利權)人:北京天融信網絡安全技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。