計算機網絡數據模擬極限測試的方法及系統的製作方法
2023-07-14 12:14:46
專利名稱:計算機網絡數據模擬極限測試的方法及系統的製作方法
技術領域:
本發明涉及一種計算機網絡數據模擬極限測試的方法及系統,用於網絡安全系統的功能、性能的測試,具體地說,在一個網絡安全系統需要進行功能、性能的測試時,需要在網絡上模擬各類、大量、具有一定內容含義的網絡數據,以便測試安全系統在數據處理的各個環節上的功能和性能指標。
背景技術:
網絡安全的重要性,使得網絡安全測試系統的重要性,變得越來越重要。作為網絡安全檢測系統,應該具有2個基本點一是能夠模擬發送任意的網絡報文(因為黑客的手段是無法預測的,變化無窮的),一是能夠現場定義發送的報文(因為需求總是變化的、每個現場都會隨時間的變化而變化)。
對於網絡安全系統的測試,目前有三類方法1 採用定製的硬體系統,可以發送理論上限的網絡數據,往往用於系統的性能測試。但目前該系統對應用層的支持少,對具有安全特性的網絡報文支持也少。
2 採用各類攻擊、掃描軟體,可以測試安全系統的各類功能,但一般都缺少用戶定製能力,且無法滿足性能的測試,而且沒有對結果的跟蹤、記錄、分析能力。
3 可以由用戶定義的測試系統,此類系統與本發明功能相似,但目前現有的系統只能夠對報文的個別欄位進行設置,且不能控制通訊過程。
可以說,上述3類方法都無法完全滿足安全系統對網絡數據內容上無盡變化的需求。
發明內容
本發明的目的是在網絡上模擬發送出用戶所需要的各類網絡數據,模擬發送任意的網絡報文,現場定義發送的報文,完全滿足安全系統對網絡數據內容上無盡變化的需求。
各類的網絡數據的模擬是指各層的網絡數據的模擬,包括鏈路層、網絡層、傳輸層和應用層、所有協議欄位的數據模擬包括協議變量、通訊過程的模擬、每個通訊過程的循環次數控制、時間控制和數據變化控制和數據的模擬工作方式的所有數據。鏈路層包括以太層、網絡層包括IP層、通訊層包括TCP、UDP和ICMP、應用層包括HTTP、SMTP、POP3、DNS、TELNET和FTP。
系統組成結構系統由報文模擬引擎單元、通訊代理單元、顯示控制中心單元、資料庫組成各個部分的功能為報文模擬引擎單元接收控制中心的命令和報文定義文件,實時接收分析網絡報文數據,完成報文的模擬、發送和數據記錄;通訊代理單元完成控制中心和引擎的數據交換,使一個控制中心可以遠程控制多個引擎的工作、結果分析;顯示控制中心單元完成報文定義文件的定製、下發,引擎工作狀態的控制,日誌的讀取和分析。每個控制中心可以控制100個模擬引擎的工作;資料庫存放引擎的日誌數據,用於對模擬發送的數據結果進行分析、處理和報表生成。
報文模擬引擎單元運行結構系統總體結構通過對報文描述語言的解釋,分析當前工作狀態和接收的報文,模擬發送新的報文數據。
報文描述語言單元完成需要模擬的報文的所有定義。報文模擬狀態單元每個報文模擬過程的當前狀態,根據這個狀態,決定下一個需要模擬的報文,如初始狀態發送SYN報文、接著發送SYN_ACK報文、再發送ACK報文完成一個TCP的三次握手過程;報文模擬控制程序單元完成每一個報文的模擬、每一個報文的接收和分析、維護每一個模擬過程的數據變化、以及其他所有的控制;數據輸入模塊單元完成網絡數據的讀取;數據輸出模塊單元完成網絡數據的輸出。
系統工作模式系統支持三種工作方式客戶端工作方式模擬客戶訪問端數據,完成對一個伺服器的訪問。
服務端工作方式模擬一個網絡伺服器的工作,完成對客戶訪問的服務數據的模擬。
雙向端工作方式單臺系統發送雙向的網絡數據,可以模擬複雜得網絡環境數據。
採用報文描述語言,完成網絡數據的模擬,主要特點為完全的報文模擬對一個單一的網絡報文,系統可以模擬鏈路層(以太層)、網絡層(IP層)、通訊層(TCP、UDP、ICMP等)、應用層(HTTP、SMTP、POP3、DNS、TELNET、FTP等)的所有數據,這樣,系統就可以模擬任何複雜的網絡環境中的數據;通訊過程模擬系統可以模擬完整的通訊流數據,如一個HTTP的訪問過程、一個郵件的收發過程、一個ping訪問的過程。多種工作模式系統為了滿足各類系統的需求,支持3種工作模式服務端(模擬網絡伺服器,接收客戶端的訪問)、客戶端(模擬客戶端數據,訪問網絡伺服器)、雙向端(單機模擬雙向網絡訪問的數據)。描述語言系統最大的特點,就是模擬報文的可定義性,系統通過報文描述語言,可以定義系統所生成的所有通訊過程的報文數據、訪問過程,如地址、用戶名稱、訪問頁面、郵件。
圖1.系統組成結構示意2.引擎模塊單元結構示意3.系統工作方式示意4.系統工作方式示意5.系統工作方式示意圖具體實現方式實施例1系統組成結構(見圖1)系統由報文模擬引擎單元、通訊代理單元、顯示控制中心單元、資料庫組成各個部分的功能為報文模擬引擎單元接收控制中心的命令和報文定義文件,實時接收分析網絡報文數據,完成報文的模擬、發送和數據記錄。
通訊代理單元完成控制中心和引擎的數據交換,使一個控制中心可以遠程控制多個引擎的工作、結果分析。
顯示控制中心單元完成報文定義文件的定製、下發,引擎工作狀態的控制,日誌的讀取和分析。每個控制中心可以控制100個模擬引擎的工作。
資料庫存放引擎的日誌數據,用於對模擬發送的數據結果進行分析、處理和報表生成。
報文模擬引擎單元結構(見圖2)系統總體結構通過對報文描述語言的解釋,分析當前工作狀態和接收的報文,模擬發送新的報文數據。
報文描述語言單元完成需要模擬的報文的所有定義。
報文模擬狀態單元每個報文模擬過程的當前狀態,根據這個狀態,決定下一個需要模擬的報文,如初始狀態發送SYN報文、接著發送SYN_ACK報文、再發送ACK報文完成一個TCP的三次握手過程。
報文模擬控制程序單元完成每一個報文的模擬、每一個報文的接收和分析、維護每一個模擬過程的數據變化、以及其他所有的控制等等。
數據輸入模塊單元完成網絡數據的讀取。
數據輸出模塊單元完成網絡數據的輸出。
系統工作模式系統支持三種工作方式客戶端工作方式模擬客戶訪問端數據,完成對一個伺服器的訪問。(見圖3)服務端工作方式模擬一個網絡伺服器的工作,完成對客戶訪問的服務數據的模擬。(見圖4)雙向端工作方式單臺系統發送雙向的網絡數據,可以模擬複雜得網絡環境數據。(見圖5)下面為一個雙向網絡報文模擬數據的定義描述文件http測試httpdmac=10-20-30-40-50-60dip=192.168.4.23smac=10-20-30-40-50-61sip=192.168.4.42http_play=/sign1,clock.cpphttp_play=/sign2,clock.hhttp_play=/sign3,banner.gifhttp_play=/sign4,ttttttthttp_play=/sign5,taiwan.jpghttp_content=test!!!!!!!!next=http_play,1num=500inc=dip,1dec=sport,10stop=10delay=6,60action=all
其中的定義含義為1 系統以雙向方式工作(action=all),即單個系統模擬網絡通訊雙方發送的所有數據。其他選擇為server、client。
2 通訊的源mac地址為10-20-30-40-50-61,源IP位址為192.168.4.42。
3 通訊的目的mac地址為10-20-30-40-50-60,目的IP位址為192.168.4.23。
4 通訊的協議為http協議。
5 http通訊的url請求和應答文件的數據對(play類型變量)分別為url為sign1時,返回文件clock.cpp的內容;url為sign2時,返回文件clock.h的內容…。
6 如果url內容不在上述範圍內,返回內容為test!!!!!!!!!。
7 這個發送循環的循環次數為500次。
8 每次循環,使用下一個http_play變量的內容。
9 每次循環,目的IP位址加1,源埠加10。
10 每次發送到第10個報文時,停止本循環發送,轉入下一循環的發送。
11 每次發送到第6個報文時,系統延時等待60秒後,才繼續發送。
12 其餘未指定的變量,按照系統的默認值。有些需要變化的數值,如報文長度、TCP標誌、TCP確認號等,在每個報文的模擬過程中,自動完成。
實施例2為一個服務端網絡報文模擬數據的定義描述文件http測試httpdmac=10-20-30-40-50-60dip=192.168.4.23smac=10-20-30-40-50-61sip=192.168.4.42http_play=/sign1,clock.cpp
http_play=/sign2,clock.hhttp_play=/sign3,banner.gifhttp_play=/sign4,ttttttthttp_play=/sign5,taiwan.jpghttp_content=test!!!!!!!!inc=dip,1dec=sport,10action=server其中的定義含義為1系統以服務端方式工作(action=server),即系統模擬網絡http伺服器,接收客戶端的數據訪問,發送相應的頁面文件數據。
2其他設置同例1。
4 num、next、stop、delay定義在此無意義。
實施例3為一個客戶端網絡報文模擬數據的定義描述文件http測試httpdmac=10-20-30-40-50-60dip=192.168.4.23http_play=/sign1,clock.cpphttp_play=/sign2,clock.hhttp_play=/sign3,banner.gifhttp_play=/sign4,ttttttthttp_play=/sign5,taiwan.jpghttp_content=test!!!!!!!!num=500inc=dip,1dec=sport,10action=client其中的定義含義為1 系統以客戶端方式工作(action=client),即系統模擬用戶網頁瀏覽器,向www伺服器發送數據請求,並接收返回的頁面文件數據。
2 其他設置同例1。
3 作為客戶端,不需要定義源IP和MAC地址,只要接收報文的IP和MAC地址是服務端的地址(定義文件中的目的IP和MAC地址),就回應訪問請求。
4 stop、delay定義在此無意義。
權利要求
1.一種計算機網絡數據模擬極限測試的方法,其特徵在於在網絡上模擬發出用戶所需的各類網絡數據,包括各層的網絡數據鏈路層、網絡層、傳輸層和應用層;所有協議欄位的數據協議變量;通訊過程的數據每個通訊過程的循環次數控制、時間控制和數據變化控制;以模擬客戶訪問端數據,完成對一個伺服器的訪問或模擬一個網絡伺服器的工作,完成對客戶訪問的服務數據的模擬或單臺系統發送雙向的網絡數據,模擬複雜的網絡環境數據。
2.根據權利要求1所述的一種計算機網絡數據模擬極限測試的方法,其特徵在於鏈路層是以太層、網絡層是IP層、通訊層是TCP、UDP、ICMP、應用層是HTTP、SMTP、POP3、DNS、TELNET、FTP的所有數據。
3.一種計算機網絡數據模擬極限測試的系統,被測設備包括伺服器、網絡伺服器、客戶終端、監聽類網絡裝置,其特徵在於它還包括報文模擬引擎單元接收控制中心的命令和報文定義文件,實時接收分析網絡報文數據,完成報文的模擬、發送和數據記錄;通訊代理單元完成控制中心和引擎的數據交換,使一個控制中心可以遠程控制多個引擎的工作、結果分析;顯示控制中心單元完成報文定義文件的定製、下發,引擎工作狀態的控制,日誌的讀取和分析,每個控制中心可以控制100個模擬引擎的工作;資料庫存放引擎的日誌數據,用於對模擬發送的數據結果進行分析、處理和報表生成。
4.根據權利要求3所述的一種計算機網絡數據模擬極限測試的系統,其特徵在於報文模擬引擎單元包括報文描述語言單元完成需要模擬的報文、通訊過程的所有定義;報文模擬狀態單元每個報文模擬過程的當前狀態,根據這個狀態,決定下一個需要模擬的報文;報文模擬控制程序單元完成每一個報文的模擬、每一個報文的接收和分析、維護每一個模擬過程的數據變化、以及延時其它所有的控制;數據輸入模塊單元完成網絡數據的讀取;數據輸出模塊單元完成網絡數據的輸出。
全文摘要
本發明涉及一種計算機網絡數據模擬方法及系統,用於網絡安全系統的功能、性能的測試,它包括用於定義網絡報文數據的報文描述語言、用於完成網絡報文生成的各協議報文模擬程序模塊、用於控制網絡數據通訊過程的過程控制模塊、用於報文發送循環的循環控制模塊、用於控制模擬狀態的報文分析模塊、用於控制系統工作方式的三類工作方式模塊,它還包括用報文描述語言的各類要素各類協議變量、各類控制關鍵字。
文檔編號H04L12/26GK1744533SQ20051008661
公開日2006年3月8日 申請日期2005年10月14日 優先權日2005年10月14日
發明者許金鵬, 陳綿秋, 劉風德 申請人:北京啟明星辰信息技術有限公司