專(zhuān)利名稱(chēng):一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及防火墻測(cè)試技術(shù)領(lǐng)域,尤其涉及一種在防火墻系統(tǒng)測(cè)試中自動(dòng)調(diào)整測(cè)試流量的方法和裝置。
背景技術(shù):
防火墻測(cè)試中,完成各個(gè)模塊的功能測(cè)試后會(huì)進(jìn)行系統(tǒng)集成測(cè)試,集成功能模塊進(jìn)行整機(jī)壓力穩(wěn)定性測(cè)試,整個(gè)測(cè)試以模擬用戶(hù)為主導(dǎo)。系統(tǒng)測(cè)試主要特點(diǎn)有三個(gè)1)整機(jī),功能已經(jīng)在各個(gè)模塊的功能測(cè)試中完成,整機(jī)為整個(gè)設(shè)備各個(gè)模塊的組合測(cè)試,這種組合測(cè)試時(shí)間和時(shí)機(jī)可以從幾個(gè)模塊到基本所有模塊的聯(lián)合測(cè)試;幻壓力,針對(duì)測(cè)試內(nèi)容進(jìn)行流量的發(fā)送和調(diào)整;;3)穩(wěn)定性,針對(duì)測(cè)試內(nèi)容對(duì)測(cè)試時(shí)間進(jìn)行控制。傳統(tǒng)的防火墻系統(tǒng)測(cè)試通常采用如下兩種方法進(jìn)行傳統(tǒng)的防火墻系統(tǒng)測(cè)試方法之一,使用測(cè)試儀或者流量發(fā)送器進(jìn)行大流量發(fā)送, 重點(diǎn)在壓力上,其測(cè)試過(guò)程一般為模塊配置- >發(fā)送流量壓力- >一定時(shí)間后觀(guān)察設(shè)備結(jié)果。該方法的特點(diǎn)是測(cè)試環(huán)境中功能模塊的配置固定,測(cè)試流量比較全面,多種組合流量長(zhǎng)時(shí)間進(jìn)行測(cè)試。這種方法存在靈活性差的缺陷,其配置和流量一成不變,不能很好的模擬用戶(hù)真實(shí)環(huán)境,其結(jié)果也需通過(guò)測(cè)試人員在測(cè)試過(guò)程和結(jié)束階段手動(dòng)完成檢測(cè)。該方法的流程如圖1所示。傳統(tǒng)的防火墻系統(tǒng)測(cè)試方法之二,對(duì)系統(tǒng)測(cè)試中模塊的組合從少到多進(jìn)行測(cè)試, 測(cè)試流量根據(jù)模塊的組合進(jìn)行手動(dòng)調(diào)整,相比方法一其更能模擬用戶(hù)真實(shí)環(huán)境,但這種從模塊的組合到流量的調(diào)整都是需要測(cè)試人員手動(dòng)完成,還需跟蹤整個(gè)過(guò)程,需根據(jù)測(cè)試階段和設(shè)備狀態(tài)為系統(tǒng)測(cè)試環(huán)境中調(diào)整配置和流量,如果多個(gè)版本的測(cè)試都需測(cè)試人員重復(fù)跟蹤和調(diào)整,比較繁瑣,測(cè)試人員效率很低。該方法的流程如圖2所示。本發(fā)明中,系統(tǒng)測(cè)試環(huán)境是指集成設(shè)備功能模擬用戶(hù)環(huán)境進(jìn)行整機(jī)壓力和穩(wěn)定性測(cè)試的環(huán)境。
發(fā)明內(nèi)容
本發(fā)明提供一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法和裝置,以解決現(xiàn)有技術(shù)中調(diào)整防火墻系統(tǒng)測(cè)試流量時(shí)存在靈活性差和效率低的問(wèn)題。本發(fā)明提供一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,包括生成配置文件;分析所述配置文件,寫(xiě)入相應(yīng)腳本內(nèi)容,生成控制腳本;
根據(jù)所述控制腳本自動(dòng)執(zhí)行防火墻系統(tǒng)測(cè)試。進(jìn)一步地,所述配置文件的內(nèi)容包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送對(duì)設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令。進(jìn)一步地,根據(jù)所述控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試,具體包括根據(jù)所述配置文件生成基礎(chǔ)流量;
判斷測(cè)試階段和設(shè)備狀態(tài);根據(jù)所述測(cè)試階段和設(shè)備狀態(tài),發(fā)送設(shè)備配置和調(diào)整流量。更進(jìn)一步地,所述基礎(chǔ)流量包括二三層正常流量、非正常報(bào)文流量、攻擊流量和應(yīng)用層流量。再進(jìn)一步地,所述調(diào)整流量是指增加或減少所述基礎(chǔ)流量中的一種流量,并控制 cpu利用率。本發(fā)明還提供了一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,包括配置文件生成模塊,用于生成配置文件;控制腳本生成模塊,用于分析所述配置文件,寫(xiě)入相應(yīng)腳本內(nèi)容,生成控制腳本;測(cè)試執(zhí)行模塊,用于根據(jù)所述控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試。進(jìn)一步地,所述配置文件的內(nèi)容包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送對(duì)設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令。進(jìn)一步地,根據(jù)所述控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試,具體包括根據(jù)所述配置文件生成基礎(chǔ)流量;判斷測(cè)試階段和設(shè)備狀態(tài);根據(jù)所述測(cè)試階段和設(shè)備狀態(tài),發(fā)送設(shè)備配置和調(diào)整流量。更進(jìn)一步地,所述基礎(chǔ)流量包括二三層正常流量、非正常報(bào)文流量、攻擊流量和應(yīng)用層流量。更進(jìn)一步地,所述調(diào)整流量是指增加或減少所述基礎(chǔ)流量中的一種流量,并控制 cpu利用率。本發(fā)明有益效果如下采用本發(fā)明提供的防火墻系統(tǒng)測(cè)試方案,測(cè)試人員只需根據(jù)系統(tǒng)測(cè)試思想在配置文件中進(jìn)行測(cè)試設(shè)定,后續(xù)測(cè)試流量發(fā)送、調(diào)整和測(cè)試設(shè)備的配置都是自動(dòng)完成,不需要測(cè)試人員對(duì)測(cè)試過(guò)程進(jìn)行監(jiān)控,出現(xiàn)問(wèn)題時(shí)可記錄相應(yīng)信息,且在復(fù)現(xiàn)和定位問(wèn)題時(shí)可執(zhí)行控制腳本自動(dòng)重復(fù)測(cè)試過(guò)程,提高了測(cè)試效率,解放了測(cè)試人員的手工部分,讓測(cè)試人員有更多時(shí)間投入到測(cè)試設(shè)計(jì)和測(cè)試深度上;同時(shí)本發(fā)明技術(shù)方案使用環(huán)境簡(jiǎn)單,腳本之間相對(duì)獨(dú)立,靈活性好,方便擴(kuò)展。
圖1為現(xiàn)有技術(shù)中防火墻系統(tǒng)測(cè)試方法之一示意圖;圖2為現(xiàn)有技術(shù)中防火墻系統(tǒng)測(cè)試方法之二示意圖;圖3為本發(fā)明實(shí)施例可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法的邏輯架構(gòu)圖;圖4為本發(fā)明實(shí)施例的防火墻系統(tǒng)測(cè)試邏輯框圖;圖5為本發(fā)明實(shí)施例的防火墻系統(tǒng)測(cè)試階段設(shè)計(jì)示意圖;圖6為本發(fā)明實(shí)施例的測(cè)試實(shí)現(xiàn)部分流程示意圖;圖7為本發(fā)明實(shí)施例的測(cè)試用例設(shè)計(jì)框架圖;圖8為本發(fā)明實(shí)施例的根據(jù)控制腳本執(zhí)行測(cè)試過(guò)程示意圖;圖9為本發(fā)明實(shí)施例的轉(zhuǎn)換腳本具體實(shí)現(xiàn)過(guò)程示意圖;圖10為本發(fā)明實(shí)施例的中間腳本對(duì)配置設(shè)備的處理過(guò)程示意圖11為本發(fā)明實(shí)施例的中間腳本對(duì)流量發(fā)送的處理過(guò)程示意圖;圖12為是本發(fā)明實(shí)施例的可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式為解決現(xiàn)有技術(shù)中進(jìn)行防火墻系統(tǒng)測(cè)試時(shí)存在靈活性差和效率低的問(wèn)題,本發(fā)明提供了一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法和裝置,本發(fā)明通過(guò)提供統(tǒng)一的配置文件,分析配置文件進(jìn)行系統(tǒng)測(cè)試的模擬,模擬系統(tǒng)測(cè)試中手動(dòng)調(diào)整配置和流量的過(guò)程,整個(gè)系統(tǒng)測(cè)試過(guò)程無(wú)需測(cè)試人員監(jiān)控,測(cè)試人員只需給出測(cè)試思路,把測(cè)試思路應(yīng)用于配置文件中,系統(tǒng)測(cè)試過(guò)程可自動(dòng)按照配置文件中內(nèi)容進(jìn)行配置和調(diào)整流量,其測(cè)試結(jié)果可自動(dòng)檢測(cè)和監(jiān)控。以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。圖3為本發(fā)明可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法的邏輯架構(gòu)圖,如圖3所示, 本發(fā)明可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法具體包括生成配置文件、將配置文件轉(zhuǎn)換為控制腳本、根據(jù)控制腳本自動(dòng)執(zhí)行防火墻系統(tǒng)測(cè)試三個(gè)部分。其中配置文件是測(cè)試人員需要關(guān)注的,控制腳本是由轉(zhuǎn)換文件解析配置文件內(nèi)容生成,后續(xù)發(fā)送設(shè)備配置和調(diào)整流量都由控制腳本控制。配置文件體現(xiàn)的是測(cè)試人員的思想,具體包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送給設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令等。 后續(xù)將分析配置文件自動(dòng)把這種思想轉(zhuǎn)換為自動(dòng)化的系統(tǒng)測(cè)試;因各個(gè)產(chǎn)品性能不同,其所能轉(zhuǎn)發(fā)和處理的流量不同,需要測(cè)試人員在配置文件中體現(xiàn);測(cè)試人員一般在配置文件時(shí)會(huì)對(duì)產(chǎn)品大體的性能和流量有一定判斷,測(cè)試過(guò)程中可能會(huì)出現(xiàn)一些偏差,可根據(jù)設(shè)備狀態(tài)來(lái)自動(dòng)調(diào)整流量。控制腳本是配置文件轉(zhuǎn)換而成的可執(zhí)行的腳本,是被翻譯了的測(cè)試人員思想,包括后續(xù)測(cè)試中需控制的配置、流量和時(shí)間等。執(zhí)行控制腳本后,其后續(xù)測(cè)試過(guò)程流量的發(fā)送和調(diào)整對(duì)于測(cè)試人員是透明的,由系統(tǒng)自動(dòng)完成,其實(shí)現(xiàn)部分包括發(fā)送基礎(chǔ)流量、判斷測(cè)試階段和設(shè)備狀態(tài)、發(fā)送設(shè)備配置和調(diào)整流量。1)基礎(chǔ)流量生成根據(jù)配置文件生成相應(yīng)基礎(chǔ)流量;基礎(chǔ)流量一般在測(cè)試第一階段生成,其流量類(lèi)型包括正常二三層流量、非正常報(bào)文流量、攻擊流量、應(yīng)用層流量;基礎(chǔ)流量主要為二三層流量,有少量攻擊流量和應(yīng)用層流量。2)判斷測(cè)試階段和設(shè)備狀態(tài)配置文件中會(huì)給出每個(gè)階段的持續(xù)時(shí)間,每個(gè)階段測(cè)試重點(diǎn)不同,其測(cè)試配置和發(fā)送流量也就不同;根據(jù)配置文件中階段的設(shè)定進(jìn)行判斷,每個(gè)階段開(kāi)始和結(jié)束需判斷設(shè)備通信狀態(tài),設(shè)備通信出現(xiàn)問(wèn)題時(shí)在日志中記錄相應(yīng)信息;在階段內(nèi)也需判斷設(shè)備CPU利用率和進(jìn)程狀態(tài),根據(jù)CPU利用率和進(jìn)程狀態(tài)調(diào)整發(fā)送流量的大小。3)自動(dòng)發(fā)送設(shè)備配置和調(diào)整流量每個(gè)階段開(kāi)始測(cè)試前,自動(dòng)發(fā)送設(shè)備的配置, 測(cè)試過(guò)程還需根據(jù)階段和設(shè)備狀態(tài)進(jìn)行測(cè)試流量的調(diào)整;調(diào)整流量是在基礎(chǔ)流量的基礎(chǔ)上增加或減少某種類(lèi)型的流量,調(diào)整流量過(guò)程中會(huì)對(duì)設(shè)備CPU利用率或進(jìn)程CPU進(jìn)行檢測(cè), 一般由測(cè)試人員在配置文件中明確設(shè)置,設(shè)置其需要增加或減少的類(lèi)型以及需達(dá)到CPU狀態(tài)。下面通過(guò)一優(yōu)選的實(shí)施例來(lái)具體說(shuō)明本發(fā)明提供的可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法的實(shí)現(xiàn)過(guò)程。以某防火墻為例,作為實(shí)現(xiàn)基礎(chǔ)條件的系統(tǒng)測(cè)試環(huán)境包括環(huán)境組成部分和網(wǎng)絡(luò)組成部分;在基礎(chǔ)條件上測(cè)試人員需進(jìn)行系統(tǒng)測(cè)試階段設(shè)計(jì),設(shè)計(jì)完成后把設(shè)計(jì)思路體現(xiàn)在配置文件中;之后則是根據(jù)配置文件轉(zhuǎn)換得到的控制腳本自動(dòng)執(zhí)行測(cè)試過(guò)程。圖4為該實(shí)施例中,防火墻系統(tǒng)測(cè)試的邏輯框圖,如圖4所示,系統(tǒng)測(cè)試環(huán)境包括 PC節(jié)點(diǎn)、被測(cè)防火墻和系統(tǒng)測(cè)試實(shí)現(xiàn)腳本;系統(tǒng)測(cè)試網(wǎng)絡(luò)有兩種,一種為控制網(wǎng)絡(luò),整個(gè)系統(tǒng)測(cè)試環(huán)境其控制網(wǎng)絡(luò)是全相通的,通過(guò)控制網(wǎng)絡(luò)發(fā)送各個(gè)PC節(jié)點(diǎn)需要產(chǎn)生流量的腳本命令、被測(cè)防火墻需要配置的設(shè)備命令和判斷設(shè)備狀態(tài)命令;一種為測(cè)試網(wǎng)絡(luò),測(cè)試流量都是由測(cè)試網(wǎng)絡(luò)產(chǎn)生。該實(shí)施例中,防火墻系統(tǒng)測(cè)試階段設(shè)計(jì)如圖5所示,具體包括第一階段為二三層測(cè)試。主要為基礎(chǔ)流量的發(fā)送,在基礎(chǔ)流量發(fā)送過(guò)程中各種流量大小和組合有一段時(shí)間的壓力測(cè)試;首先是二三層正常流量,每發(fā)送一種類(lèi)型流量,持續(xù)一小段時(shí)間例如5分鐘,查看設(shè)備cpu利用率變化,cpu利用率如果達(dá)到90%,后續(xù)流量不再發(fā)送;如果發(fā)送不到90%,從最初定義的流量開(kāi)始重復(fù)發(fā)送,流量發(fā)送期間cpu利用率控制在90% ;壓力持續(xù)一段時(shí)間例如一小時(shí)后,減小二、三層正常流量,cpu利用率達(dá)到50%, 增加背景錯(cuò)誤報(bào)文(校驗(yàn)和錯(cuò)誤報(bào)文、分片報(bào)文等)和攻擊流量(synflood、udpfllod, smurf等),cpu利用率升至90% ;壓力持續(xù)一段時(shí)間例如一小時(shí)后,減少正常流量和攻擊流量,設(shè)備cpu利用率控制為40% ;增加應(yīng)用層流量,設(shè)備cpu利用率控制為90% ;持續(xù)一段時(shí)間例如一小時(shí)后,減小攻擊流量,cpu利用率達(dá)到70%;增加應(yīng)用層流量,例如HTTP (超文本傳輸協(xié)議)、FTP (文件傳輸協(xié)議)、MAIL(郵件)、DNS (域名系統(tǒng))、TFTP (簡(jiǎn)單文件傳輸協(xié)議)、TELENT (遠(yuǎn)程登錄協(xié)議)等,cpu利用率升至90%。第二階段為攻擊測(cè)試。在第一階段的基礎(chǔ)上,減小二三層正常流量,cpu利用率達(dá)到50%,增加IDSantrusion Detection Systems,入侵檢測(cè)系統(tǒng))配置,配置命令在命令文件中給出,增加各種IDS流量,每增加一種,查看cpu利用率,其最終CPU利用率不超過(guò) 90%,例如可控制為90%。第三階段為應(yīng)用層測(cè)試。減小IDS攻擊流量,cpu利用率降至40%,加大應(yīng)用層流量(HTTP、FTP、MAIL、DNS、TFTP、TELENT等),每增加一種,查看cpu利用率,其最終cpu利用率不超過(guò)90%,例如可控制為90%。應(yīng)用層流量重點(diǎn)有兩種一種連接數(shù)比較多,其應(yīng)用層數(shù)據(jù)部分流量較小,一種連接數(shù)比較少,其應(yīng)用層部分流量較大;兩種對(duì)應(yīng)的測(cè)試重點(diǎn)不同,對(duì)于測(cè)試重點(diǎn)不同,發(fā)出流量不同,也可以給出進(jìn)程cpu利用率的設(shè)定。以被測(cè)防火墻為例,其應(yīng)用層主要有代理和殺毒處理,如果測(cè)試重點(diǎn)在代理,可按第一種應(yīng)用層流量測(cè)試,如果測(cè)試重點(diǎn)在殺毒,可按第二種應(yīng)用層流量測(cè)試。每個(gè)階段開(kāi)始和結(jié)束前都進(jìn)行通信檢查,如果檢查通信失敗,測(cè)試結(jié)束;這部分在配置文件中沒(méi)有體現(xiàn),固化在具體腳本實(shí)現(xiàn)中。當(dāng)然,本發(fā)明也可以根據(jù)實(shí)際需要將防火墻系統(tǒng)測(cè)試過(guò)程劃分為三個(gè)以上或以下的階段。系統(tǒng)測(cè)試階段設(shè)計(jì)后,后續(xù)是系統(tǒng)測(cè)試實(shí)現(xiàn)部分,由測(cè)試人員根據(jù)系統(tǒng)測(cè)試設(shè)計(jì)進(jìn)行配置文件編寫(xiě),編寫(xiě)后由轉(zhuǎn)換腳本轉(zhuǎn)換為控制腳本,執(zhí)行控制腳本后其調(diào)用各個(gè)基礎(chǔ)腳本進(jìn)行系統(tǒng)測(cè)試自動(dòng)實(shí)現(xiàn)。圖6為本發(fā)明實(shí)施例的測(cè)試實(shí)現(xiàn)部分流程示意圖,如圖6所示,執(zhí)行控制腳本后, 系統(tǒng)調(diào)用連接客戶(hù)端的中間腳本base, tcl,在客戶(hù)端上執(zhí)行產(chǎn)生流量的腳本自動(dòng)執(zhí)行系統(tǒng)測(cè)試流量發(fā)送、調(diào)整和設(shè)備命令配置。其調(diào)用過(guò)程為控制腳本->連接客戶(hù)端和調(diào)用流量發(fā)送過(guò)程的中間腳本base, tcl- >發(fā)送測(cè)試流量基礎(chǔ)腳本和其它輔助功能的基礎(chǔ)腳本。具體地,本發(fā)明實(shí)施例的測(cè)試實(shí)現(xiàn)部分流程包括(1)配置文件系統(tǒng)測(cè)試中有多個(gè)階段,每個(gè)階段由多個(gè)testcase(測(cè)試用例)組成;上述系統(tǒng)測(cè)試設(shè)計(jì)有三個(gè)階段,每個(gè)階段由流量發(fā)送的testcase組成,testcase中具體內(nèi)容有某種類(lèi)型流量的發(fā)送、根據(jù)cpu狀態(tài)增加或減少發(fā)送流量、配置發(fā)送。測(cè)試用例設(shè)計(jì)框架如圖7 所示。按照上述系統(tǒng)階段設(shè)計(jì),配置文件具體內(nèi)容如下[conf start]#代表整個(gè)系統(tǒng)測(cè)試的開(kāi)始;
Phasel = 1#標(biāo)識(shí)階段是否執(zhí)行測(cè)試,1代表執(zhí)行,0代表不執(zhí)仃;
Pl_testcasel = 1#每個(gè)階段包括多個(gè)testcase,每個(gè)case定義一種流量類(lèi)型的發(fā)送,1代表執(zhí)行此testcase,0代表不執(zhí)行;
Pl__casel_time = 0.5 #每個(gè)testcase測(cè)試持續(xù)的時(shí)間,以小時(shí)為單位;
Pl__testcase2 = 1
Pl__case2_time = 0.5
Pl__testcase3 = 1
Pl__case3_time = 0.5
Pl__testcase4 = 1
Pi__case4—time = 0.5
Pi__testcase5 = 1
Pi__case5_time = 0.5
#第一階段開(kāi)始,一般為幾種基礎(chǔ)流量的生成,可根據(jù)測(cè)試設(shè)備和需要不同進(jìn)行修改;
[phasel start]#代表phasel的開(kāi)始,第一階段測(cè)試開(kāi)始;
[testcase1 start]#代表第一階段的第一個(gè)testcase的開(kāi)始,發(fā)送正常
二三層流量;以下分別為客戶(hù)端區(qū)域、服務(wù)器區(qū)域、流量類(lèi)型、每個(gè)測(cè)試節(jié)點(diǎn)發(fā)送的流量大小和最大不超過(guò)大小ABTCP IM IOMABUDP IM IOMABICMPIM IOM0088] ............
0089]............
0090][testcasel end] 中發(fā)送流量結(jié)束;
0091][testcase2 start]
增加二三層流量,設(shè)備cpu達(dá)到90%左右; 0092] Increase pl_testcasel cpu 90%
0093][testcase2 end]
0094][testcase3 start] cpu50% 左右;
0095]Decrease pl_testcasel cpu 50%
#代表phasel中testcasel的定義結(jié)束,但不代表其case
#testcasel 執(zhí)行 0. 5 小時(shí)后,開(kāi)始 phasel 中 testcase2,
#phasel 中 testcase2 結(jié)束; # 開(kāi)始 phasel 中 testcase3,減少.
.層流量,達(dá)到
0096]
0097] 送;
0098]
的大小
0099]
0100] 0101] 0102]
0103]
0104]
0105]
0106]
0107]
0108]
右;
0109]
0110] 0111] [testcase4 start]
#phasel 中 testcase3 結(jié)束; #開(kāi)始phasel中testcasel錯(cuò)誤報(bào)文和攻擊報(bào)文的發(fā)
以下分別為客戶(hù)端區(qū)域、服務(wù)器區(qū)域、錯(cuò)誤報(bào)文或攻擊類(lèi)型、每個(gè)測(cè)試節(jié)點(diǎn)需發(fā)送和最大不超過(guò)大小
分片報(bào)文0. 2M IM
fragmentation0. 2M IM
校驗(yàn)和錯(cuò)誤0. 2M IM
badchecksum0. 2M IM syn 攻擊 0. 2M IM
synflood0. 2M IM
#客戶(hù)端區(qū)域服務(wù)器區(qū)域 AB
#客戶(hù)端區(qū)域服務(wù)器區(qū)域 AB
#客戶(hù)端區(qū)域服務(wù)器區(qū)域 AB [testcase5 start]
#Phasel 中 testcase4 結(jié)束; # 開(kāi)始 phasel 中 testcase5,使 cpu 達(dá)到 90%左
Increase pl_testcase4 cpu 90% [testcase6 start]
#phasel 中 testcase5 結(jié)束; #開(kāi)始phasel中testcase6,減少攻擊流量,設(shè)備
cpu達(dá)到70%左右;
0112]Decrease pl_testcase4 cpu 70%
0113][testcase6 end]#phasel 中 testcase6 結(jié)束;
0114][testcase7 start]#Phasel 中 testcase7 開(kāi)始,應(yīng)用層量的發(fā)送
0115]以下分別為客戶(hù)端區(qū)域、服務(wù)器區(qū)域、應(yīng)用層流量的類(lèi)型、每個(gè)測(cè)試節(jié)點(diǎn)需發(fā)送的文件大小和最大不超過(guò)大小
0116]A B HTTP IM 5M
0117]A B FTP IM 5M
0118]............
[testcase7 end]
[testcase8 start]
Increase pl_testcase7 cpu 90%
[testcase8 end]
[phase1 end]
#第二階段開(kāi)始,一般此階段以發(fā)送攻擊為主。
[phase2 start]
[testeasel start]
Decrease pl_testcasel cpu 50%#減少正常二三層流量
[testcasel end]
#配置發(fā)送,一般此階段為攻擊配置。
[testcase2 start]
Dut ids. conf superman talent#給出連接設(shè)備的用戶(hù)名和密碼,具體配置命令在ids. conf 中;
[testcase2 end]
[testcase3 start]
Increase pl_testcase4 cpu 90%#增加錯(cuò)誤報(bào)文和攻擊流量;
[testcase3 end]
[phase2 end]
#第三階段開(kāi)始,一般此階段以發(fā)送應(yīng)用層流量為主;
[phase3 start]
[testcasel start]
Decrease pl_testcase4 cpu 40%#減少攻擊流量;
[testcasel end]
[testcase2 start]#配置發(fā)送,一般此階段為應(yīng)用層配置;
Dut dpi. conf superman talent#應(yīng)用層配置命令在dpi. conf中;
[testcase2 end]
[testcase3 start]
Increase p2_testcase7 cpu 90%#增加第一階段teStcaSe7中應(yīng)用層流量,設(shè)備cpu達(dá)到90%左右;
[testcase3 end]
[phase3 end]
(2)測(cè)試節(jié)點(diǎn)文件
測(cè)試人員在配置各個(gè)流量發(fā)送時(shí)只需配置源和目的區(qū)域,流量發(fā)送時(shí)可從區(qū)域文
件中自動(dòng)查找區(qū)域內(nèi)主機(jī)和所用IP地址;區(qū)域內(nèi)測(cè)試節(jié)點(diǎn)文件(area file)具體內(nèi)容區(qū)域 A:主機(jī)名控制網(wǎng)絡(luò)IP地址測(cè)試網(wǎng)絡(luò)IP地址
如
區(qū)域 A:
Al 8.0.1.2 202. 0. 0. 20
(3)配置文件完成后,通過(guò)轉(zhuǎn)換腳本分析配置文件,生成控制腳本,分析轉(zhuǎn)換生成過(guò)程與控制腳本中內(nèi)容相對(duì)應(yīng)。
圖8為本發(fā)明實(shí)施例的根據(jù)控制腳本執(zhí)行測(cè)試過(guò)程示意圖,如圖8所示,本發(fā)明實(shí)施例的根據(jù)控制腳本執(zhí)行測(cè)試過(guò)程具體包括
判斷測(cè)試階段判斷為哪個(gè)測(cè)試階段和testcase,此階段和case是否執(zhí)行;
階段開(kāi)始部分檢查設(shè)備通信每個(gè)階段開(kāi)始前檢測(cè)設(shè)備通信狀況(ping和http通信),檢查區(qū)域內(nèi)各個(gè)節(jié)點(diǎn)的通信,如果通信不成功,再次檢查,檢查三次仍然不能通信,結(jié)束系統(tǒng)測(cè)試流量的發(fā)送和測(cè)試;同時(shí)記錄日志,日志中內(nèi)容為當(dāng)前執(zhí)行的階段,這樣也更有利于進(jìn)行問(wèn)題的定位和復(fù)現(xiàn)。
配置設(shè)備和發(fā)送測(cè)試流量根據(jù)階段中配置內(nèi)容發(fā)送設(shè)備配置和測(cè)試流量;在上述系統(tǒng)測(cè)試設(shè)計(jì)和配置文件中,第二階段需發(fā)送IDS配置,第三階段需發(fā)送DPI (Deep Packet Inspection,深度包檢測(cè))配置。
判斷設(shè)備狀態(tài)每種流量發(fā)送結(jié)束后連接設(shè)備判斷其cpu狀態(tài),根據(jù)設(shè)定值進(jìn)行判定和控制。
根據(jù)階段內(nèi)命令調(diào)整測(cè)試流量階段內(nèi)根據(jù)設(shè)定增加或減少測(cè)試流量,每增加或減少一種流量時(shí)查看CPU是否達(dá)到設(shè)定狀態(tài);增加或減少時(shí)先查看CPU,如果CPU已達(dá)到設(shè)定值,不再按照配置命令增加或減少流量;每發(fā)送或減少一種流量,延緩一分種發(fā)送或減少下一種流量,在一分鐘之內(nèi)取設(shè)備CPU三次,三次計(jì)算平均值,cpu與預(yù)定cpu (如90 % )相差不超過(guò)5%則判定達(dá)到設(shè)定cpu狀態(tài);在判斷設(shè)備狀態(tài)過(guò)程中如果連接設(shè)備不成功,結(jié)束系統(tǒng)測(cè)試流量的發(fā)送和測(cè)試;同時(shí)記錄日志,日志中記錄當(dāng)前執(zhí)行的階段。
階段結(jié)束后檢查設(shè)備通信每個(gè)階段結(jié)束后檢查設(shè)備通信狀況(ping和http通信),出現(xiàn)問(wèn)題后不再繼續(xù)后續(xù)測(cè)試;同時(shí)記錄日志,日志中記錄當(dāng)前執(zhí)行的階段。
目前設(shè)計(jì)中把檢查設(shè)備通信狀況部分設(shè)計(jì)為固化的部分,這部分也可擴(kuò)展為非固化可設(shè)置部分。
(4)轉(zhuǎn)換腳本
通過(guò)正則表達(dá)分析配置文件,分析后寫(xiě)入相應(yīng)腳本內(nèi)容,最后生成的控制腳本過(guò)程與上述圖8控制過(guò)程相對(duì)應(yīng);轉(zhuǎn)換腳本具體實(shí)現(xiàn)過(guò)程如圖9所示,具體包括
#判斷文件是否結(jié)束
while { [eof $配置文件]==0 } {#從配置文件逐行讀取文件內(nèi)容 set outfile [gets $配置文件]#如果為配置文件開(kāi)始,生成控制腳本頭,source各個(gè)基礎(chǔ)腳本; if {$outfile == "\[confstart\]"} {puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本 puts $控制腳本package require ltd" package require Expect" source sshcon.tcl" source ftp.tcl" source mail.tcl" source http.tcl" source tftp.tcl" source bt.tcl" source base.tcl" source dut.tcl" source getdutinfo.tcl" source telnet.tcl" source stopexec.tcl"
#分析各個(gè)階段是否需要執(zhí)行,記錄在變量中;
if {[regexp {phase(
+)=(
)} $outfile num number phaserun] == 1} { puts $控制腳本"set phase$number $phaserun"}.......<#分析tescase執(zhí)行持續(xù)時(shí)間,記錄在變量中;if {[regexp {ρ (
+)_case(
+)=(
)} $outfile match numl num2 num3] == 1} {puts $控制腳本"set p$numl_case$num2_time $num3"}
#分析是否為一個(gè)階段的開(kāi)始,如果是,記錄需要的通信檢查動(dòng)作在控制腳本中;
if {[regexp {phase(
+) start} $outfile match 1 matchphase] == 1} { #check—commu檢查通信是否正常; set phase $matchphase puts $控制腳本"check—commu \$phase"}
#分析是否為一個(gè)testcase的開(kāi)始,如果是,記錄階段testcase名稱(chēng)和case持續(xù)時(shí)間;
if {[regexp {testcase(
+) start} $outfile match 1 match testcase] == 1} { #記錄階段—testcase名稱(chēng); append phase $testcase puts $控制腳本"set phase—testcase $phase" puts $控制腳本"set case starttime [clock seconds ]" puts $控制腳本"set after—time [expr $pN—caseN—time * 3600]"
puts $控命]麻P本"set case—time [expr $case_starttime + $after—time]"}
#分析為何種流量,記錄流量參數(shù)在對(duì)應(yīng)流量列表變量中;流量參數(shù)內(nèi)容有源客戶(hù)端區(qū)域、目的服務(wù)器區(qū)域、每個(gè)節(jié)點(diǎn)需要發(fā)送的流量、最大總流量;
if {[regexp {([A-Z]) .+ ([A-Z]).+ http + (.+M) + (.+M)} $outfile match subl sub2 sub3 sub4] == 1} {set http_para_tmp "" #subl為客戶(hù)端區(qū)域; append http_para_tmp $subl #sub2為目的服務(wù)器區(qū)域; append http_para_tmp $sub2#sub3為每個(gè)節(jié)點(diǎn)需要發(fā)送的流量; append http_para_tmp $sub3#sub4客戶(hù)端區(qū)域和服務(wù)器區(qū)域最大總流量; append http_para_tmp $sub4lappend http_para $http_para_tmp}
# 一個(gè)testcase流量分析結(jié)束后,記錄了階段testcase名稱(chēng)和所有需要產(chǎn)生的流量列表,每種流量類(lèi)型一個(gè)列表,列表中包括源區(qū)域、目的區(qū)域、每個(gè)節(jié)點(diǎn)流量大小、最大流量;如http_para其內(nèi)容為{{A B 1 IOHC D 1 10}},此變量為全局變量;控制腳本調(diào)用對(duì)應(yīng)case處理的中間腳本base, tcl,在中間腳本中根據(jù)流量列表變量統(tǒng)一對(duì)一種類(lèi)型的流量進(jìn)行處理和發(fā)送,同時(shí)記錄產(chǎn)生進(jìn)程號(hào);
控制腳本中還記錄了 testcase的所有流量參數(shù)變量,后續(xù)增加流量時(shí)重新讀取其流量參數(shù)內(nèi)容給全局變量,如此可按照之前case中流量參數(shù)發(fā)送流量;
putsset http_para\ {$http_para\}"
puts$ 控制腳本〃 set http_para_pN_caseN $http_para〃
puts$ 控制腳本〃 lappend $pN_caseN http_para_pN_caseN〃
#action phase_case cpu,cpu利用率一般在increase中有指定,其它發(fā)送流量過(guò)程默認(rèn)90% ;
puts$ 控制腳本〃 action $phase_case〃
#控制case執(zhí)行時(shí)間,timed過(guò)程按照case持續(xù)時(shí)間計(jì)算,直到達(dá)到設(shè)定時(shí)間,才開(kāi)始下一個(gè)case的判定和執(zhí)行;
puts$ Κ ^ΡΡ^" timed $case_time “
............
............
Increase 階段中 testcase 流量;
控制腳本中每個(gè)階段的流量參數(shù)有一個(gè)列表記錄,列表內(nèi)容為流量參數(shù)變量,如pN_caseN,列表內(nèi)容為{http_para_pN_caseN ftp_para_pN_caseN},增加流量時(shí)分解其列表中變量,取變量中內(nèi)容調(diào)用流量發(fā)送操作,action pN_caseN ;每增加一種類(lèi)型的流量,查詢(xún)cpu狀態(tài),按照設(shè)定的cpu狀態(tài)進(jìn)行檢查,相差在5%之內(nèi)結(jié)束;
if {[regexp { (Increase( +) (.+)} $outfile match subl sub2] == 1} \{ set phase—case [lindex sub2 0] set cpu [lindex sub2 2]puts $控制腳本"set phase—case \$phase—case" puts $控制腳本"set cpu \$cpu" puts $控制腳本"foreach χ \[set\$phase_case] \{" puts $控制腳本“ if \[regexp \{\(\[a-z\]+\ para) _(p.+\)\)\} \$x match retl ret2\] == 1"puts $控制腳本 ” set\$retl \$x" puts $控制腳本"}"
puts $控制腳本"action \$phase—case \$cpu"}
Decrease 階段中 testcase 流量
每次流量發(fā)送后會(huì)記錄節(jié)點(diǎn)和節(jié)點(diǎn)上發(fā)送流量的進(jìn)程號(hào),記錄的內(nèi)容為
階段+testcase名稱(chēng)、流量類(lèi)型、控制網(wǎng)絡(luò)IP地址、進(jìn)程號(hào),以列表的形式記錄在變量中;如active_pid{{phaseN_testcaseN HTTP 8.0.1.4 2198} {phaseN_testcaseN FTP 8. 0. 1. 2 2288}};
Decrease操作時(shí)查找列表中階段、testcase, kill相應(yīng)進(jìn)程減少流量;每減少一種流量,刪除列表中相應(yīng)內(nèi)容,并查看設(shè)備狀態(tài),按照設(shè)定的CPU狀態(tài)進(jìn)行檢查,相差在 5%之內(nèi)結(jié)束;本實(shí)例中只按照流量產(chǎn)生階段和testcase進(jìn)行減少,可擴(kuò)展為按照階段中 testcase對(duì)應(yīng)流量類(lèi)型進(jìn)行減少;
if {[regexp { (Decrease( +) (.+)} $outfile match subl sub2] == 1} \{ set phase—case [lindex sub2 0] set cpu [lindex sub2 2]puts $控制腳本"set phase—case \$phase—case"puts $控制腳本"set cpu \$cpu"puts $控制腳本"foreach χ \$active_pid \{"puts $控制腳本”\==1}Mputs $控制腳本” puts $控制腳本”if \{ [regexp \$phase—case \$x match]set client—ip \[lindex \$x 2]" setkill_pid \[lindex \$x3]Mputs $控制腳本“ action_pid \$client—ip \$kill_pid" puts $控制腳本 ” cpu control \$cpu" puts $控制腳本"}"}
#向設(shè)備發(fā)送配置
與其它流量參數(shù)相同,需發(fā)送的命令文件記錄在變量列表中,后續(xù)由action統(tǒng)一調(diào)用dut發(fā)送命令過(guò)程完成;
if {[regexp { ( dut (.+)} $outfile match subl] == 1} \{ puts $控制腳本"set dut_para \$subl" puts $控制腳本"action phaseN testcaseN " puts $控制腳本"}"}
如此類(lèi)推,生成了控制腳本內(nèi)容,控制流量發(fā)送、時(shí)間和調(diào)整;
轉(zhuǎn)換后的對(duì)應(yīng)控制腳本
package require Itcl
package require Expect
#source 基礎(chǔ)腳本
source sshcon. tcl
source ftp. tcl
source mail, tcl
時(shí)間)
Check_commu phase#testcase開(kāi)始時(shí)計(jì)算case持續(xù)時(shí)間;set case_starttime[clock seconds]set after_time[expr$pN_caseN_time氺3600]set case_time[expr $case_starttime+$after_time]#testcase流量發(fā)送和控制#流量列表參數(shù)set http_para{{A Bl 10}{C D 1 10}}set http_para_pN_caseN $http_para!append $phaseN_testcaseN http_para_pN_caseNaction phaseN_testcaseN#流量發(fā)送結(jié)束后,由timed過(guò)程控制case持續(xù)時(shí)間(即下一個(gè)case開(kāi)始執(zhí)行的timed$case_time Increase某個(gè)階段的某種類(lèi)型流量set phase—case\{http_para_phase 1 _testcase7 ftp_para_phasel_testcase7}} set cpu 90foreach χ [set $phase—case] {if [regexp {([a-z]+ para—(phase.+))} $x match retl ret2] == 1" set $retl $x}action $ret2 $cpu }
Decrease某個(gè)階段的流量
set phase—case {phase 1 testcase 1} set cpu 50foreach χ $active_pid { if {[regexp $phase—case $x match] == 1} { set client_pid [lindex $x 2] set kill_pid [lindex $x 3] action_pid $client_pid $kill_pids cpu—control $cpu}}
#發(fā)送設(shè)備配置命令調(diào)用
set dut_conf{{superman talent ids. conf}{superman talent dpi. conf}
action phaseN_testcaseN
(5)中間腳本(base, tcl)
中間腳本有兩種類(lèi)型的處理,一種是配置設(shè)備處理,一種流量發(fā)送處理。
其中中間腳本對(duì)配置設(shè)備的處理過(guò)程如圖10所示,其首先生成dut(deviCe under testing,被測(cè)設(shè)備)對(duì)象,然后通過(guò)對(duì)象連接dut設(shè)備串口,連接成功后調(diào)用dut. tcl中主過(guò)程dut order發(fā)送.conf中命令。
中間腳本對(duì)流量發(fā)送的處理過(guò)程如圖11所示,首先分析源區(qū)域和目的區(qū)域,獲取客戶(hù)端管理網(wǎng)絡(luò)地址和服務(wù)器測(cè)試網(wǎng)絡(luò)地址,然后從客戶(hù)端管理網(wǎng)絡(luò)地址連接客戶(hù)端,在客戶(hù)端上調(diào)用基礎(chǔ)流量腳本發(fā)送流量,調(diào)用輔助功能腳本對(duì)設(shè)備CPU進(jìn)行檢查和控制。
中間腳本的處理具體如下
proc action { phase—case {cpu 90}} { global http_para ftp_para dut_para............#dut配置foreach dut $dut_para { set login [lindex $dut 0] set passwd [lindex $dut 1 ] set dut conf [lindex $dut 2] #生成dut對(duì)象 dut—ctl one#連接dut,由conf過(guò)程從dut—conf中獲取命令對(duì)設(shè)備進(jìn)行配置 one dut—order $dut—conf ::itcl::delete object one
#http參數(shù)列表處理(http_para),分析客戶(hù)端和目的服務(wù)器,連接客戶(hù)端和調(diào)用發(fā)送http流量,記錄發(fā)送流量進(jìn)程;
foreach area $ http_para {set http sarea [lindex $area 0]
set http darea [lindex Sarea 1]#從區(qū)域中找客戶(hù)端主機(jī),lookup—host返回客戶(hù)端地址列表和服務(wù)器列set shost [lookup—client—host $http_sarea] set dhost [lookup—server—host $http_darea]# action http發(fā)送http流量文件中的主過(guò)程,從客戶(hù)端和服務(wù)器列表中set single size \[lindex \$area 2] set full size [lindex $area 3] set tmp size $single_size foreach client $shost { foreach server $dhost {if {$tmp—size < Sfull size} {set pid [action http $client $server $single—size]#進(jìn)程號(hào)寫(xiě)入list列表中記錄,為后續(xù)減少流量使用;set pid tmp $phase—case append pid tmp HTTP append pid tmp Sclient append pid tmp $pid lappend active_pid Spid tmp } else { break#設(shè)備cpu檢查 if {[cpu—control cpu] == 1} { break表選擇發(fā)送流量的參數(shù);incr tmp size Ssingle size
proc action—http {client server file} {#從控制網(wǎng)絡(luò)登錄到客戶(hù)端,登錄后執(zhí)行后續(xù)腳本產(chǎn)生相應(yīng)測(cè)試文件,由 sshcon腳本控制;sshconpc$client#生成客戶(hù)端對(duì)象,對(duì)象名稱(chēng)為pc+client客戶(hù)端控制網(wǎng)絡(luò)IP地址; pc$client conn $client #從控制網(wǎng)絡(luò)登錄到客戶(hù)端 #執(zhí)行HTTP產(chǎn)生流量的過(guò)程;pc$client excmd "nohup tclsh httptest.tcl server file > /dev/null 2>&1 &”#客戶(hù)端返回發(fā)送流量的進(jìn)程號(hào),其進(jìn)程在后臺(tái)運(yùn)行;set write_pid [pc$client back]#斷開(kāi)與客戶(hù)端的連接;pc$client disconnent::itcl::delete object pc$client#返回pid進(jìn)程號(hào);return write_pid}
(6)基礎(chǔ)腳本
基礎(chǔ)腳本一種為專(zhuān)門(mén)產(chǎn)生基礎(chǔ)流量的腳本,一種是輔助功能的基礎(chǔ)腳本,cpu控制、配置設(shè)備命令等。
基礎(chǔ)流量腳本,發(fā)送各種基礎(chǔ)流量,如HTTP、FTP、MAIL、DNS等;本發(fā)明運(yùn)用用戶(hù)常用工具模擬比較真實(shí)的應(yīng)用過(guò)程;
下面是HTTP流量發(fā)送部分實(shí)現(xiàn)腳本名稱(chēng)http. tcl,服務(wù)器文件的大小由配置文件中給出,如果沒(méi)有減少流量操作,這種流量一直持續(xù),直到整個(gè)測(cè)試結(jié)束,其主過(guò)程為 geturl ;
method geturl {file} { set timeout 60 set sign 1 set spawn—id $idexpect "]#" {send"wgethttp://服務(wù)器地址/服務(wù)器文件-delete-afterV’}expect {-re "200 OK" {default {timeout {expect -re ’’]#" {send
cpu控制腳本連接設(shè)備串口,通過(guò)expect發(fā)送檢查cpu狀態(tài)或進(jìn)程占用cpu的命令,如果符合設(shè)定的cpu,相差在5%左右,則停止增加或減少流量發(fā)送;也可以為多核中 cpu檢測(cè),如cpu0利用率和其它c(diǎn)pu利用率的檢測(cè);
主過(guò)程為cpu_control實(shí)現(xiàn)
spawn telnet串口服務(wù)器連接設(shè)備串口號(hào) expect "login" {send "用戶(hù)名 V’} expect "Password:" {send "密碼\r"}
expect "#" {send ”檢測(cè)cpu或進(jìn)程狀態(tài)所用命令\r";}#獲取cpu狀態(tài)所有內(nèi)容set information Sexpect out(buffer)set current—cpu {提耳又 buffer 內(nèi)容中 c.pu}if {[expr 設(shè)定 cpu - current—cpu] <= 5 || [expr 設(shè)定 cpu - current—cpu] <=return停止結(jié)果 } else {return繼續(xù)結(jié)果expecteof
設(shè)備命令發(fā)送腳本(dut. tcl)向dut發(fā)送的命令放在設(shè)定conf文件中,配置文件中已經(jīng)有用戶(hù)名、密碼、發(fā)送命令文件,跟上述CPU控制部分實(shí)現(xiàn)相同,其主過(guò)程dut_ order同樣是通過(guò)expect模擬人機(jī)交互進(jìn)行設(shè)備的配置,從conf文件中依次取出配置命令對(duì)設(shè)備進(jìn)行配置。
圖12是本發(fā)明實(shí)施例的可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置結(jié)構(gòu)示意圖,如圖12所示,本發(fā)明實(shí)施例的可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置包括配置文件生成模塊1201、控制腳本生成模塊1202和測(cè)試執(zhí)行模塊1203。
其中,配置文件生成模塊1201,用于生成配置文件。
配置文件的內(nèi)容包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送對(duì)設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令等。
本發(fā)明實(shí)施例在配置文件中,將防火墻系統(tǒng)測(cè)試過(guò)程分為了三個(gè)階段,其中第一階段為二三層測(cè)試,第二階段為攻擊測(cè)試,第三階段為應(yīng)用層測(cè)試。當(dāng)然,也可以根據(jù)實(shí)際需要將防火墻系統(tǒng)測(cè)試過(guò)程劃分為三個(gè)以上或以下的階段。
控制腳本生成模塊1201,用于分析配置文件,寫(xiě)入相應(yīng)腳本內(nèi)容,生成控制腳本。
測(cè)試執(zhí)行模塊1203,用于根據(jù)控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試。
根據(jù)控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試,具體包括
根據(jù)所述配置文件生成基礎(chǔ)流量;
判斷測(cè)試階段和設(shè)備狀態(tài);
根據(jù)所述測(cè)試階段和設(shè)備狀態(tài),發(fā)送設(shè)備配置和調(diào)整流量。
其中,基礎(chǔ)流量包括二三層正常流量、非正常報(bào)文流量、攻擊流量和應(yīng)用層流量。
調(diào)整流量是指增加或減少所述基礎(chǔ)流量中的一種流量,并控制cpu利用率。
本發(fā)明可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置的實(shí)施方案細(xì)節(jié)可參見(jiàn)以上對(duì)本發(fā)明可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法的具體描述,此處不再贅述。
采用上述本發(fā)明技術(shù)方案,整個(gè)系統(tǒng)測(cè)試過(guò)程無(wú)需測(cè)試人員監(jiān)控,測(cè)試人員只需在最開(kāi)始給出測(cè)試思路,把測(cè)試思路應(yīng)用于配置文件中,系統(tǒng)測(cè)試過(guò)程可自動(dòng)按照配置文件中內(nèi)容進(jìn)行配置和調(diào)整流量,其測(cè)試結(jié)果可自動(dòng)檢測(cè)和監(jiān)控。本發(fā)明還具有如下優(yōu)點(diǎn)
(1)提供簡(jiǎn)單的配置文件,配置案例化,測(cè)試人員可把測(cè)試思路應(yīng)用于配置文件中,方式比較靈活;
(2)可擴(kuò)展性好,使用環(huán)境簡(jiǎn)單,不需要特殊的編譯環(huán)境,都是由腳本實(shí)現(xiàn),腳本相對(duì)都比較獨(dú)立,擴(kuò)展比較方便簡(jiǎn)單;
(3)系統(tǒng)測(cè)試流量可根據(jù)配置中設(shè)定階段和獲取設(shè)備狀態(tài)動(dòng)態(tài)調(diào)整,節(jié)省測(cè)試人員時(shí)間,提高測(cè)試效率;
(4)測(cè)試結(jié)果可自動(dòng)檢查和監(jiān)控,提高測(cè)試效率;
(5)測(cè)試流量比較真實(shí),大多調(diào)用測(cè)試節(jié)點(diǎn)下各個(gè)真實(shí)的訪(fǎng)問(wèn)請(qǐng)求;
(6)測(cè)試過(guò)程可重復(fù),需要重新測(cè)試時(shí),執(zhí)行相應(yīng)腳本則可自動(dòng)進(jìn)行測(cè)試,不需要手工配置設(shè)備和調(diào)整測(cè)試流量。
盡管為示例目的,已經(jīng)公開(kāi)了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的技術(shù)人員將意識(shí)到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。
權(quán)利要求
1.一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,其特征在于,包括生成配置文件;分析所述配置文件,寫(xiě)入相應(yīng)腳本內(nèi)容,生成控制腳本;根據(jù)所述控制腳本自動(dòng)執(zhí)行防火墻系統(tǒng)測(cè)試。
2.如權(quán)利要求1所述可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,其特征在于,所述配置文件的內(nèi)容包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送對(duì)設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令。
3.如權(quán)利要求1或2所述可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,其特征在于,根據(jù)所述控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試,具體包括根據(jù)所述配置文件生成基礎(chǔ)流量;判斷測(cè)試階段和設(shè)備狀態(tài);根據(jù)所述測(cè)試階段和設(shè)備狀態(tài),發(fā)送設(shè)備配置和調(diào)整流量。
4.如權(quán)利要求3所述可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,其特征在于,所述基礎(chǔ)流量包括二三層正常流量、非正常報(bào)文流量、攻擊流量和應(yīng)用層流量。
5.如權(quán)利要求4所述可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,其特征在于,所述調(diào)整流量是指增加或減少所述基礎(chǔ)流量中的一種流量,并控制CPU利用率。
6.一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,其特征在于,包括配置文件生成模塊,用于生成配置文件;控制腳本生成模塊,用于分析所述配置文件,寫(xiě)入相應(yīng)腳本內(nèi)容,生成控制腳本;測(cè)試執(zhí)行模塊,用于根據(jù)所述控制腳本自動(dòng)執(zhí)行防火墻系統(tǒng)測(cè)試。
7.如權(quán)利要求6所述的可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,其特征在于,所述配置文件的內(nèi)容包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送對(duì)設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令。
8.如權(quán)利要求6或7所述的可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,其特征在于,根據(jù)所述控制腳本執(zhí)行防火墻系統(tǒng)測(cè)試,具體包括根據(jù)所述配置文件生成基礎(chǔ)流量;判斷測(cè)試階段和設(shè)備狀態(tài);根據(jù)所述測(cè)試階段和設(shè)備狀態(tài),發(fā)送設(shè)備配置和調(diào)整流量。
9.如權(quán)利要求8所述可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,其特征在于,所述基礎(chǔ)流量包括二三層正常流量、非正常報(bào)文流量、攻擊流量和應(yīng)用層流量。
10.如權(quán)利要求8所述可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,其特征在于,所述調(diào)整流量是指增加或減少所述基礎(chǔ)流量中的一種流量,并控制CPU利用率。
全文摘要
本發(fā)明公開(kāi)了一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的方法,該方法包括步驟生成配置文件;將所述配置文件轉(zhuǎn)換為控制腳本;根據(jù)所述控制腳本自動(dòng)執(zhí)行防火墻系統(tǒng)測(cè)試。所述配置文件的內(nèi)容包括測(cè)試需要的階段、階段中需要發(fā)送的流量、根據(jù)測(cè)試需要發(fā)送對(duì)設(shè)備的配置命令、根據(jù)設(shè)備狀態(tài)和階段對(duì)流量的調(diào)整命令。借助于本發(fā)明的技術(shù)方案,測(cè)試人員只需根據(jù)系統(tǒng)測(cè)試思想在配置文件中進(jìn)行測(cè)試設(shè)定,后續(xù)測(cè)試即可自動(dòng)完成,無(wú)需測(cè)試人員手工操作。本發(fā)明還公開(kāi)了一種可自動(dòng)調(diào)整防火墻系統(tǒng)測(cè)試流量的裝置,該裝置包括配置文件生成模塊、配置文件轉(zhuǎn)換模塊和測(cè)試執(zhí)行模塊。
文檔編號(hào)H04L29/06GK102523212SQ20111041441
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者康瑜, 陳霄 申請(qǐng)人:北京天融信科技有限公司