應用于審計的數據抓取方法及裝置的制造方法
【技術領域】
[0001]本發明審計技術領域,尤其涉及應用于審計的數據抓取方法及裝置。
【背景技術】
[0002]目前,對數據庫中的數據進行審計,主要是為了防止兩方面的風險,一個是內部有權限的人員執行非法操作,另一個是外部漏洞挖掘和攻擊。
[0003]然而,由于數據庫中存儲了非常大的數據量,在對數據庫進行審計時如何實現數據的篩選和獲取是亟待解決的問題。
[0004]上述內容僅用于輔助理解本發明的技術方案,并不代表承認上述內容是現有技術。
【發明內容】
[0005]本發明的主要目的在于提供一種應用于審計的數據抓取方法及裝置,旨在解決現有技術中數據庫中的數據量非常大時,進行審計時的數據篩選和獲取問題。
[0006]為實現上述目的,本發明提供的一種應用于審計的數據抓取方法,包括:
[0007]從獲取的處于有效狀態的傳輸控制協議TCP連接中過濾出第一TCP連接集合,所述第一 TCP連接集合中包含mysqld的TCP連接和mysql-proxy的TCP連接;
[0008]將所述第一TCP連接集合中的TCP連接與獲取到的本地網絡接口進行關聯,得到第二TCP連接集合,所述第二TCP連接集合中包含TCP連接與網絡接口的關聯關系;
[0009]為所述第二TCP連接集合中的每一個TCP連接設置過濾器,并創建線程監聽與TCP連接關聯的網絡接口 ;
[0010]通過所述過濾器從監聽的網絡接口抓取數據,將抓取的數據保存至環形緩存區中。
[0011]優選地,所述將所述第一TCP連接集合中的TCP連接與獲取到的本地網絡接口進行關聯,得到第二 TCP連接集合之前還包括:
[0012]刪除所述第一TCP連接集合中端口號為管理端口號的TCP連接。
[0013]優選地,所述將所述第一TCP連接集合中的TCP連接與獲取到的本地網絡接口進行關聯,得到第二 TCP連接集合之后還包括:
[0014]確定所述第二TCP連接集合中網絡接口為統一接入網關TGW使用的網絡接口;
[0015]將所述TGW使用的網絡接口對應的TCP連接設置為不抓取數據的狀態。
[0016]優選地,所述通過所述過濾器從監聽的網絡接口抓取數據,將抓取的數據保存至環形緩存區中,包括:
[0017]在所述線程監聽到網絡接口的數據時,通過所述過濾器過濾數據,并抓取過濾出的數據;
[0018]將抓取的數據保存在所述環形緩存區中。
[0019]優選地,所述將抓取的數據保存在所述環形緩存區中包括:
[0020]將抓取的數據分解為數據頭和數據內容;
[0021]解析所述數據頭得到新數據頭,并將所述數據內容分片,得到分片數據;
[0022]將所述新的數據頭及所述分片數據保存至所述環形緩存區中。
[0023]為實現上述目的,本發明還提出一種應用于審計的數據抓取裝置,包括:
[0024]過濾模塊,用于從獲取的處于有效狀態的傳輸控制協議TCP連接中過濾出第一TCP連接集合,所述第一 TCP連接集合中包含mysqld的TCP連接和mysql-proxy的TCP連接;
[0025]關聯模塊,用于將所述第一TCP連接集合中的TCP連接與獲取到的本地網絡接口進行關聯,得到第二TCP連接集合,所述第二TCP連接集合中包含TCP連接與網絡接口的關聯關系;
[0026]設置及創建模塊,用于為所述第二TCP連接集合中的每一個TCP連接設置過濾器,并創建線程監聽與TCP連接關聯的網絡接口 ;
[0027]抓取保存模塊,用于通過所述過濾器從監聽的網絡接口抓取數據,將抓取的數據保存至環形緩存區中。
[0028]優選地,所述裝置還包括:
[0029]刪除模塊,用于在過濾模塊得到所述第一TCP連接集合后,刪除所述第一 TCP連接集合中端口號為管理端口號的TCP連接。
[0030]優選地,所述裝置還包括:
[0031]確定模塊,用于在所述關聯模塊得到所述第二TCP連接集合后,確定所述第二TCP連接集合中網絡接口為統一接入網關TGW使用的網絡接口;
[0032]狀態設置模塊,用于將所述TGW使用的網絡接口對應的TCP連接設置為不抓取數據的狀態。
[0033]優選地,所述抓取保存模塊包括:
[0034]抓取模塊,用于在所述線程監聽到網絡接口的數據時,通過所述過濾器過濾數據,并抓取過濾出的數據;
[0035]保存模塊,用于將抓取的數據保存在所述環形緩存區中。
[0036]優選地,所述保存模塊包括:
[0037]分解模塊,用于將抓取的數據分解為數據頭和數據內容;
[0038]解析分片模塊,用于解析所述數據頭得到新數據頭,并將所述數據內容分片,得到分片數據;
[0039]緩存模塊,用于將所述新的數據頭及所述分片數據保存至所述環形緩存區中。
[0040]本發明提供一種應用于審計的數據抓取方法,該方法包括:從獲取的處于有效狀態的TCP連接中過濾出第一 TCP連接集合,該第一 TCP連接集合中包含mysql的TCP連接和mysql-proxy的TCP連接,將該第一 TCP連接集合中的TCP連接與獲取到的本地網絡接口進行關聯,得到第二TCP連接集合,該第二TCP連接集合中包含TCP連接與網絡接口的關聯關系,并為第二 TCP連接集合中的每一個TCP連接設置過濾器,并創建線程監聽與該TCP連接關聯的網絡接口,且通過過濾器從監聽的網絡接口抓取數據,將抓取的數據保存至環形緩存區中,使得能夠通過過濾出mysql和mysql-proxy的TCP連接的方式抓取數據,改善對SQL數據庫進行審計服務的性能。
【附圖說明】
[0041]圖1為本發明第一實施例中應用于審計的數據抓取方法的流程示意圖;
[0042]圖2為本發明圖1所示第一實施例的追加步驟的流程示意圖;
[0043]圖3為本發明圖1所示第一實施例中步驟104的細化步驟的流程示意圖;
[0044]圖4為本發明圖3所示實施例中步驟302的細化步驟的流程示意圖;
[0045]圖5為本發明第二實施例中應用于審計的數據抓取方法的流程示意圖;
[0046]圖6為本發明圖2所示第二實施例的追加功能模塊的示意圖;
[0047]圖7為本發明圖5所示第二實施例中抓取保存模塊504的細化功能模塊的示意圖;
[0048]圖8為本發明圖7所示實施例中保存模塊702的細化功能模塊的示意圖。
[0049]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0050]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0051]由于現有技術中,SQL數據庫中的數據操作非常多,將導致SQL數據庫的審計服務的性能較差的問題。
[0052]為此,本發明提出一種應用于審計的數據抓取方法,能夠抓取數據,以改善對SQL數據庫進行審計服務的性能。
[0053]請參閱圖1,為本發明第一實施例中應用于審計的數據抓取方法的流程示意圖,該抓取方法包括:
[0054]步驟101、從獲取的處于有效狀態的TCP連接中過濾出第一TCP連接集合,第一 TCP連接集合中包含my s q I d的TCP連接和my s q 1-proxy的TCP連接;
[0055]在本發明實施例中,應用于審計的數據抓取方法由應用于審計的數據抓取裝置(以下簡稱:數據抓取裝置)實現,數據抓取裝置將找出所有的TCP連接,并從找出的TCP連接中獲取處于有效狀態的TCP連接,且還將從獲取的有效狀態的TCP連接中過濾出第一 TCP集入口 O
[0056]其中,第一TCP集合中包含所有的mysql的TCP連接和所有的mysql-proxy的TCP連接。
[0057]其中,有效狀態的TCP連接是指Listen狀態的TCP連接。
[0058]步驟102、將第一TCP連接集合中的TCP連接與獲取到的本地網絡接口進行關聯,得到第二TCP連接集合,第二TCP連接集合中包含TCP連接與網絡接口的關聯關系;
[0059]在本發明實施例中,數據抓取裝置將獲取所有的本地的網絡接口,并將第一TCP連接集合中的TCP連接與獲取到的本地的網絡接口進行關聯,得到第二 TCP連接集合,且在該第二 TCP連接集合中包含TCP連接與網絡接口之間的關聯關系。
[0060]其中,將TCP連接與網絡接口關聯具體包括:檢查TCP連接的接口標識,若該TCP連接的接口標識為O,則將該TCP連接與所有網絡接口關聯,使得能夠監聽所有的接口,若該TCP連接的接口標識不為O,則將該TCP連接與指定的網絡接口關聯,且監聽該TCP連接的指定關聯的網絡接口。
[0061]步驟103、為第二TCP連接集合中的每一個TCP連接設置過濾器,并創建線程監聽與TCP連接關聯的網絡接口 ;
[0062]在本發明實施例中,數據