System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及網絡安全,具體而言,涉及一種實時流量留存方法、程序產品、電子設備及存儲介質。
技術介紹
1、在網絡安全領域,經常需要對某些特定流量進行留存,便于對其進行分析并在日后進行阻斷,以保證網絡不受攻擊。現有方法通常是進行全流量留存,但是,在流量較大的網絡中,如果進行全流量留存,對留存設備的性能及容量的要求很高,會導致設備負擔大的問題。
技術實現思路
1、本申請實施例的目的在于提供一種實時流量留存方法、程序產品、電子設備及存儲介質,設置留存規則,達到既能留存有效數據,又不對設備造成負擔的目的,解決了全流量留存造成的設備負擔大的問題。
2、本申請實施例提供了一種實時流量留存方法,所述方法包括:
3、對網絡會話中的每個數據包基于留存規則進行檢測,以確定是否命中留存規則;
4、若數據包沒有命中留存規則,但是被配置為需要緩存,則將所述當前數據包通過預先設置的緩存內存池進行緩存;
5、在后續的任意數據包命中所述留存規則時,將所述數據包在所述網絡會話中的位置記錄在預先設置的留存私有區中,并將之前緩存的數據包寫入pcap文件,并將后續的數據包全部進行留存。
6、在上述實現過程中,在流量監測時,設置留存規則,對命中留存規則的網絡會話進行保存,達到既能留存有效數據,又不對設備造成負擔的目的;使用緩存內存池對需要緩存的數據包進行緩存,避免了頻繁申請和釋放內存的情況,提高處理效率,解決了全流量留存造成的設備負擔大的問題。
7、進一步
8、若所述數據包沒有命中告警規則,則判斷所述網絡會話是否需要緩存;
9、若需要,則判斷所述數據包的載荷長度是否大于所述緩存內存池的緩存單元塊大小;
10、若不大于所述緩存單元塊大小,則將所述數據包的存儲方式設置為緩存單元塊;
11、若大于所述緩存單元塊大小,則對所述數據包采用動態分配的方式申請臨時內存;
12、將所述數據包存儲至留存私有區的緩存鏈表中。
13、在上述實現過程中,對于不同大小的數據包采用不同的緩存方式,提高處理效率避免頻繁申請內存或釋放內存的操作頻率,且操作靈活,避免漏包。
14、進一步地,所述將所述數據包存儲至留存私有區的緩存鏈表中,包括:
15、判斷當前會話已緩存的數據包個數是否超限;
16、若沒有超限,則從所述緩存內存池中取出一個節點,用于緩存當前數據包,并將所述節點存入留存私有區的緩存鏈表中;
17、若超限,則將所述當前數據包存儲至最初始節點,以覆蓋最初始節點。
18、在上述實現過程中,采用緩存鏈表進行數據包的存儲,可根據數據包的個數存儲至緩存鏈表中,若超限,則覆蓋舊節點。
19、進一步地,所述方法還包括:
20、若所述數據包命中至少一條告警規則,則將所述網絡會話的取證標識置位。
21、在上述實現過程中,采用告警規則作為具體的留存規則,命中告警規則的會話進行保存,避免了全流量留存。
22、進一步地,所述在后續的任意數據包命中所述留存規則時,將所述數據包在所述網絡會話中的位置記錄在預先設置的留存私有區中,并將之前緩存的數據包寫入pcap文件,包括:
23、判斷所述數據包的取證標識是否被置位;
24、若被置位,則打開pcap文件,將緩存鏈表中已緩存的數據包以及當前數據包都保存到pcap文件中。
25、在上述實現過程中,取證標識被置位說明命中了告警規則,將被置位的數據包進行保存。
26、進一步地,所述方法還包括:
27、持續處理后續的數據包,在保存所述數據包前,判斷所述pcap文件是否超過留存文件粒度,如果超限,則提前關閉所述pcap文件。
28、在上述實現過程中,如果超限則提前關閉pcap文件,停止流量的留存,可防止留存的pcap文件占用磁盤空間過多。
29、進一步地,所述方法還包括:
30、會話結束時,生成所述網絡會話的安全日志,所述安全日志包括是否命中告警規則、所述告警規則信息、是否存在留存pcap文件、留存pcap文件名、pcap文件大小、命中告警規則的數據包所在位置。
31、在上述實現過程中,生成安全日志,記錄需要留存的每條會話中關注的特征點,以便精確定位。
32、本申請實施例還提供一種實時流量留存裝置,所述裝置包括:
33、攻擊檢測模塊,用于對網絡會話中的每個數據包基于留存規則進行檢測,以確定是否命中留存規則;
34、緩存模塊,用于若數據包沒有命中留存規則,但是被配置為需要緩存,則將所述當前數據包通過預先設置的緩存內存池進行緩存;
35、留存模塊,用于在后續的任意數據包命中所述留存規則時,將所述數據包在所述網絡會話中的位置記錄在預先設置的留存私有區中,并將之前緩存的數據包寫入pcap文件,并將后續的數據包全部進行留存。
36、在上述實現過程中,在流量監測時,設置留存規則,對命中留存規則的網絡會話進行保存,達到既能留存有效數據,又不對設備造成負擔的目的;使用緩存內存池對需要緩存的數據包進行緩存,避免了頻繁申請和釋放內存的情況,提高處理效率,解決了全流量留存造成的設備負擔大的問題。
37、本申請實施例還提供一種計算機程序產品,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行上述的實時流量留存方法。
38、本申請實施例還提供一種電子設備,所述電子設備包括存儲器以及處理器,所述存儲器用于存儲計算機程序,所述處理器運行計算機程序以使所述電子設備執行上述的實時流量留存方法。
39、本申請實施例還提供一種可讀存儲介質,所述可讀存儲介質中存儲有計算機程序指令,所述計算機程序指令被一處理器讀取并運行時,執行上述的實時流量留存方法。
本文檔來自技高網...【技術保護點】
1.一種實時流量留存方法,其特征在于,所述方法包括:
2.根據權利要求1所述的實時流量留存方法,其特征在于,所述若數據包沒有命中留存規則,但是被配置為需要緩存,則將所述數據包通過預先設置的緩存內存池進行緩存,包括:
3.根據權利要求2所述的實時流量留存方法,其特征在于,所述將所述數據包存儲至留存私有區的緩存鏈表中,包括:
4.根據權利要求1所述的實時流量留存方法,其特征在于,所述方法還包括:
5.根據權利要求1所述的實時流量留存方法,其特征在于,所述在后續的任意數據包命中所述留存規則時,將所述數據包在所述網絡會話中的位置記錄在預先設置的留存私有區中,并將之前緩存的數據包寫入pcap文件,包括:
6.根據權利要求5所述的實時流量留存方法,其特征在于,所述方法還包括:
7.根據權利要求1所述的實時流量留存方法,其特征在于,所述方法還包括:
8.一種計算機程序產品,其特征在于,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現權利要求1-7中任意一項權利要求所述的實時流量留存方法。
>9.一種電子設備,其特征在于,所述電子設備包括存儲器以及處理器,所述存儲器用于存儲計算機程序,所述處理器運行計算機程序以使所述電子設備執行權利要求1至7中任一項所述的實時流量留存方法。
10.一種可讀存儲介質,其特征在于,所述可讀存儲介質中存儲有計算機程序指令,所述計算機程序指令被一處理器讀取并運行時,執行權利要求1至7任一項所述的實時流量留存方法。
...【技術特征摘要】
1.一種實時流量留存方法,其特征在于,所述方法包括:
2.根據權利要求1所述的實時流量留存方法,其特征在于,所述若數據包沒有命中留存規則,但是被配置為需要緩存,則將所述數據包通過預先設置的緩存內存池進行緩存,包括:
3.根據權利要求2所述的實時流量留存方法,其特征在于,所述將所述數據包存儲至留存私有區的緩存鏈表中,包括:
4.根據權利要求1所述的實時流量留存方法,其特征在于,所述方法還包括:
5.根據權利要求1所述的實時流量留存方法,其特征在于,所述在后續的任意數據包命中所述留存規則時,將所述數據包在所述網絡會話中的位置記錄在預先設置的留存私有區中,并將之前緩存的數據包寫入pcap文件,包括:
6.根據權利要求5所述...
【專利技術屬性】
技術研發人員:劉靜,陳陽,
申請(專利權)人:北京天融信網絡安全技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。