專利名稱:實現(xiàn)遠程抓包的方法和系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明涉及通訊技術(shù)領域,特別涉及一種實現(xiàn)遠程抓包的方法和系統(tǒng)。
背景技術(shù):
隨著IP (Internet Protocol,因特網(wǎng)協(xié)議)技術(shù)的普及,因特網(wǎng)己經(jīng)進入千家萬戶。 對于支撐因特網(wǎng)的設備按照地理區(qū)域一般可以劃分為用戶接入和IP承載等幾個部分。用戶接 入部分通常由用戶側(cè)設備構(gòu)成,包括用戶的PC (Personal Computer,個人計算機)和NAT (Network Address Translation,網(wǎng)絡地址轉(zhuǎn)換)等,這些用戶側(cè)設備通常由用戶進行管理、 維護。對于IP承載以上等網(wǎng)絡側(cè)設備通常由運營商進行管理和維護。
在對因特網(wǎng)設備進行管理和維護時,不可避免地會存在對組網(wǎng)設備各個網(wǎng)元的處理報文 進行抓包分析的需求。對用戶側(cè)設備,現(xiàn)有技術(shù)通常使用PC抓包軟件如Sniffer等工具獲取 本機的報文信息;對運營商維護管理的設備,通常使用端口鏡像功能獲取該設備處理的報文 信息,具體方案如下通過設定鏡像源端口與鏡像目的端口,將網(wǎng)絡設備的一個源端口或者 多個源端口處理的數(shù)據(jù)復制到本設備的另一個端口即目的端口 ,然后將PC機連接到鏡像的目 的端口,使用PC抓包軟件完成報文的抓取。
上述現(xiàn)有技術(shù)具有以下缺點
1. 不能遠程抓包,需要到運營商機房搭建硬件環(huán)境,受地理區(qū)域和組網(wǎng)環(huán)境的影響,使
用極其不方便;
2. 對網(wǎng)絡設備要求較高,需要網(wǎng)絡設備支持端口鏡像功能,并且有冗余的端口供鏡像使
用;
3. 沒有有效的報文過濾措施進行報文過濾,導致抓取報文數(shù)量龐大。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中不能遠程抓包、對網(wǎng)絡設備要求較高以及無法過濾抓取報文等問題,
本發(fā)明提供了一種實現(xiàn)遠程抓包的方法,具體包括以下步驟 步驟A:客戶端與服務器端建立遠程的連接;
步驟B:所述客戶端抓取所述服務器端的報文信息,并將抓取的報文信息存儲在所述客 戶端,在抓包的過程中所述客戶端會定時向所述服務器端發(fā)送一個握手報文,所述服務器端 接收到所述握手報文后返回一個握手報文給所述客戶端以保持抓包通道處于連接狀態(tài)。
所述客戶端與服務器端采用注冊認證機制建立遠程的連接。
在抓包之前還包括在所述服務器端設置抓包規(guī)則或綁定訪問控制列表對需抓取的報文信 息進行過濾的步驟。
在所述服務器端向客戶端發(fā)送抓取的報文信息之前還包括所述服務器端對抓取的報文信 息進行加密的步驟,相應地所述客戶端在收到所述報文信息后還包括對所述報文信息進行解
密的步驟。
在抓包的過程中還包括當所述服務器端檢測到有錯誤產(chǎn)生時主動發(fā)消息給所述客戶端的步驟。
在所述客戶端與服務器端互相發(fā)送握手報文的過程中還包括以下步驟
如果所述客戶端向服務器端連續(xù)發(fā)送握手報文的數(shù)目超過規(guī)定的閾值時或在規(guī)定的時間 內(nèi)還沒有收到所述服務器端返回的握手報文,則所述客戶端主動關閉遠程抓包連接;
如果所述服務器端在規(guī)定的時間內(nèi)沒有收到所述客戶端發(fā)送的握手報文,則所述服務器 端主動關閉遠程抓包連接。
當所述客戶端將抓取的報文信息以文件的形式存儲時,所述方法還包括以下步驟
當存儲有抓取的報文信息的文件大小超出設定閾值時,所述客戶端自動生成新文件并將 后續(xù)抓取的報文信息存儲在所述新文件中。
本發(fā)明還提供了一種實現(xiàn)遠程抓包的系統(tǒng),包括客戶端和服務器端,
所述客戶端包括
(1) 通訊模塊,用于向所述服務器端發(fā)送注冊認證信息以建立與所述服務器端之間的遠程 連接;
(2) 抓包存儲模塊,用于向所述服務器端發(fā)送抓包請求并從所述服務器端抓取報文信息以 及將抓取到的報文信息存儲在所述客戶端;
(3) 保活模塊,用于定時向所述服務器端發(fā)送握手報文以保持遠程連接不中斷; 所述服務器端包括
(1) 通訊模塊,用于接收所述客戶端的通訊模塊發(fā)來的注冊認證信息并返回注冊應答信息 給所述客戶端的通訊模塊以建立與所述客戶端之間的遠程連接;
(2) 抓包模塊,用于根據(jù)所述客戶端的抓包存儲模塊發(fā)來的遠程抓包請求發(fā)送報文信息給
所述客戶端的抓包存儲模塊;
(3)?;钅K,用于在接收到所述客戶端的?;钅K發(fā)來的握手報文后返回一個握手報文 給所述客戶端的保活模塊以保持遠程連接不中斷。
所述服務器端還包括過濾模塊,用于對需抓取的報文信息進行過濾并將過濾的結(jié)果發(fā)送 給所述抓包模塊。
所述服務器端的抓包模塊還包括用于對抓取的報文信息進行加密的加密子模塊,所述客 戶端的抓包存儲模塊還包括用于對抓取的報文信息進行解密的解密子模塊。
所述服務器端還包括告警模塊,用于當所述服務器端檢測到有錯誤產(chǎn)生時主動發(fā)消息給 所述客戶端的抓包存儲模塊。
本發(fā)明的有益效果是
1. 只要客戶端與抓取設備IP可達,便可以輕松地抓取網(wǎng)絡設備側(cè)報文,實現(xiàn)遠程抓包, 不再受限于設備所處的地理位置;
2. 通過HELL0報文(握手報文)的交互機制確保了在中間網(wǎng)絡存在NAT組網(wǎng)時的NAT表 項不被老化,從而實現(xiàn)NAT穿越;而且不論是服務器端在私網(wǎng),還是客戶端在私網(wǎng),均可以 成功穿越NAT;
3. 可以在服務器端設置抓包規(guī)則對需抓取的報文信息進行過濾,另外還可以在服務器端 綁定ACL (Access Control List,訪問控制列表)對需抓取的報文信息進行過濾,從而避免 了服務器端向客戶端發(fā)送無效的報文;
4. 客戶端通過對抓包存儲文件的批量自動轉(zhuǎn)存可實現(xiàn)用戶長時間抓包的需求;
5. 服務器端通過對抓取的報文進行加密保護,可以確保數(shù)據(jù)不被竊聽,實現(xiàn)網(wǎng)絡安全。
圖1是本發(fā)明網(wǎng)絡拓撲結(jié)構(gòu)示意圖2是本發(fā)明實現(xiàn)遠程抓包的方法流程圖3是本發(fā)明客戶端向服務器端注冊的過程示意圖4是本發(fā)明實現(xiàn)遠程抓包的系統(tǒng)示意圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明,但不作為對本發(fā)明的限定。
本發(fā)明中的網(wǎng)絡設備是指支持TCP/IP協(xié)議的網(wǎng)絡設備。
參見圖1,為使用客戶端、服務器的模式實現(xiàn)本發(fā)明的網(wǎng)絡拓撲結(jié)構(gòu)示意圖??蛻舳说?設備有TE (Terminal Element,終端元素)和NAT (Network Address Translation,網(wǎng)絡地 址轉(zhuǎn)換),服務器端的設備有NE (Network Element,網(wǎng)絡元素)和SE (Service Element, 服務元素),為了在用戶PC側(cè)(遠程抓包側(cè))實現(xiàn)遠程抓包客戶端功能,在網(wǎng)絡設備側(cè)(被 抓取報文網(wǎng)元側(cè))實現(xiàn)服務器端功能,本發(fā)明提供了一種實現(xiàn)遠程抓包的方法,參見圖2, 具體包括以下步驟
步驟101:客戶端與服務器端建立遠程連接;
為確保安全可靠,采用了注冊認證機制,參見圖3,建立遠程連接的過程具體為 客戶端先向服務器端申請一個隨機數(shù),服務器端應答一個隨機數(shù);然后客戶端采用加密
算法運算該隨機數(shù)生成注冊密碼,并使用此密碼向服務器端申請認證;服務器端校驗密碼后
返回一個注冊應答;校驗成功后即建立了抓包的通道,只有在客戶端成功注冊后才可以繼續(xù)
進行后續(xù)的抓包相關操作;
為了避免服務器端向客戶端發(fā)送無效報文以及抓取報文數(shù)量龐大,還采取以下過濾報文
的步驟
步驟102:將現(xiàn)有的抓包規(guī)則設置在服務器端,從而對報文進行分層(如分MAC層、IP 層、應用層等)抓取或分協(xié)議抓取,而且還可以在服務器端綁定ACL,通過分層抓取、分協(xié) 議抓取以及綁定ACL實現(xiàn)了報文的有效過濾;
歩驟103:客戶端運行抓包軟件抓取服務器端的報文信息,并將抓取的報文信息以文件 的形式存儲在客戶端;抓包軟件一般都提供了友好的客戶端界面供用戶進行抓包操作,并且 會將抓取的報文信息存儲為便于用戶進行查閱和分析的文件格式,如Ethereal開放格式的文 件;
在抓包的過程中可以執(zhí)行抓包暫停的操作,即暫停抓包并保留當前的抓包存儲文件,待 恢復抓包操作時將后續(xù)抓取的報文信息追加到所述抓包存儲文件中直至抓包停止;
客戶端發(fā)給服務器端的操作命令抓包開始、抓包暫停和抓包停止,服務器端均無需應 答,另外根據(jù)用戶需求服務器端還可以對抓取的報文信息進行加密保護,再發(fā)回客戶端,以 確保網(wǎng)絡的安全性;
另外為滿足客戶端長時間抓包的需求,客戶端還提供抓包存儲文件自動批量轉(zhuǎn)存的功能, 用戶可以設定抓包存儲文件大小的閾值,當抓包數(shù)據(jù)超出此閾值后,客戶端按照既定的文件 命名規(guī)范自動建立新文件,從而避免了客戶端出現(xiàn)超大文件;
在抓包的過程中還存在保持客戶端和服務器端之間的鏈路連接的步驟,即?;畹牟襟E
步驟104:由客戶端定時向服務器端發(fā)出鏈路?;钫埱螅窗l(fā)送HELLO報文(握手報文) 給服務器端,服務器端接收到此報文后需要應答此報文,也回送一個HELLO報文,以保持客 戶端和服務器端之間的鏈路處于連接狀態(tài);如果連續(xù)幾個HELLO報文(如3個HELLO報文) 無應答或超過規(guī)定的時間(如30秒)無應答,客戶端就主動關閉遠程抓包連接,如果服務器 端在規(guī)定的時間內(nèi)(如30秒)沒有收到客戶端發(fā)送的握手報文,則服務器端主動關閉遠程抓 包連接,從而避免了半連接狀態(tài);
由于HELLO交互報文的存在,確保了在中間網(wǎng)絡存在NAT組網(wǎng)時的NAT表項不被老化, 從而實現(xiàn)NAT穿越;而且因為HELLO報文是雙方向的,所以不論是服務器端在私網(wǎng),還是客 戶端在私網(wǎng),均可以成功穿越NAT;
步驟105:抓包停止,可以由客戶端主動停止,也可以由服務器端主動停止;抓包停止
后若進行再次抓包時沒有指定生成新的文件,則繼續(xù)使用原有的文件,即首先清除原有文件 中的記錄信息,然后重新開始記錄信息。
在抓包的過程中還引入了TRAP (告警)機制,即在服務器端檢測到有錯誤產(chǎn)生時,主動 發(fā)消息給客戶端,如服務器端接收到錯誤格式的報文后會主動發(fā)消息給客戶端要求重新發(fā)送 一遍,或者服務器端檢測到服務器端的資源緊張時主動發(fā)消息給客戶端要求暫停抓包等等。
參見圖4,本發(fā)明還提供了一種實現(xiàn)遠程抓包的系統(tǒng),包括客戶端和服務器端,
客戶端包括以下三個模塊
(1) 通訊模塊,用于向服務器端發(fā)送注冊認證信息以建立與服務器端之間的遠程連接;
(2) 抓包存儲模塊,用于向服務器端發(fā)送抓包請求并從服務器端抓取報文信息以及將抓 取到的報文信息存儲在客戶端;
(3) ?;钅K,用于定時向服務器端發(fā)送握手報文以保持遠程連接不中斷; 服務器端包括-
(1) 通訊模塊,用于接收客戶端的通訊模塊發(fā)來的注冊認證信息并返回注冊應答信息給 客戶端的通訊模塊以建立與客戶端之間的遠程連接;
(2) 抓包模塊,用于根據(jù)客戶端的抓包存儲模塊發(fā)來的遠程抓包請求發(fā)送報文信息給客 戶端的抓包存儲模塊;
(3) 保活模塊,用于在接收到客戶端的保活模塊發(fā)來的握手報文后返回一個握手報文給 客戶端的?;钅K以保持遠程連接不中斷。
服務器端還包括過濾模塊,用于對需抓取的報文信息進行過濾并將過濾的結(jié)果發(fā)送給抓 包模塊。
服務器端的抓包模塊還包括用于對抓取的報文信息進行加密的加密子模塊,客戶端的抓 包存儲模塊還包括用于對抓取的報文信息進行解密的解密子模塊。
服務器端還包括告警模塊,用于當服務器端檢測到有錯誤產(chǎn)生時主動發(fā)消息給客戶端的 抓包存儲模塊。
客戶端的通訊模塊輸出申請隨機數(shù)的請求消息給服務器端的通訊模塊,服務器端的通訊 模塊根據(jù)該請求消息輸出應答的隨機數(shù)給客戶端的通訊模塊,客戶端的通訊模塊根據(jù)接收到 的隨機數(shù)輸出注冊密碼給服務器端的通訊模塊以申請認證,服務器端的通訊模塊在接收到注 冊密碼后輸出注冊應答給客戶端的通訊模塊以建立客戶端和服務器端的遠程連接;
客戶端的抓包存儲模塊輸出抓包請求給服務器端的抓包模塊,服務器端的抓包模塊根據(jù) 該請求輸出報文信息給客戶端的抓包存儲模塊,客戶端的抓包存儲模塊接收該報文信息后在 客戶端存儲該報文信息;
客戶端的?;钅K定時輸出一個握手報文給服務器端的保護模塊,服務器端的保活模塊 根據(jù)接收到的握手報文輸出一個握手報文給客戶端的?;钅K以保持遠程連接不中斷。
為了避免服務器端向客戶端發(fā)送無效報文以及抓取報文數(shù)量龐大,服務器端還可以包括 過濾模塊,用于對需抓取的報文信息進行過濾并將過濾的結(jié)果發(fā)送給抓包模塊。
服務器端的抓包模塊還可以包括用于對抓取的報文信息進行加密的加密子模塊,相應地 客戶端的抓包存儲模塊還可以包括用于對抓取的報文信息進行解密的解密子模塊。
服務器端還包括告警模塊,用于當服務器端檢測到有錯誤產(chǎn)生時主動發(fā)消息給客戶端的 抓包存儲模塊。
以上所述的實施例,只是本發(fā)明較優(yōu)選的具體實施方式
的一種,本領域的技術(shù)人員在本 發(fā)明技術(shù)方案范圍內(nèi)進行的通常變化和替換都應包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種實現(xiàn)遠程抓包的方法,其特征在于,所述方法包括以下步驟步驟A客戶端與服務器端建立遠程的連接;步驟B所述客戶端抓取所述服務器端的報文信息,并將抓取的報文信息存儲在所述客戶端,在抓包的過程中所述客戶端會定時向所述服務器端發(fā)送一個握手報文,所述服務器端接收到所述握手報文后返回一個握手報文給所述客戶端以保持抓包通道處于連接狀態(tài)。
2. 根據(jù)權(quán)利要求1所述的實現(xiàn)遠程抓包的方法,其特征在于,所述客戶端與服務器端采 用注冊認證機制建立遠程的連接。
3. 根據(jù)權(quán)利要求1所述的實現(xiàn)遠程抓包的方法,其特征在于,在抓包之前還包括在所述 服務器端設置抓包規(guī)則或綁定訪問控制列表對需抓取的報文信息進行過濾的步驟。
4. 根據(jù)權(quán)利要求1所述的實現(xiàn)遠程抓包的方法,其特征在于,在所述服務器端向客戶端 發(fā)送抓取的報文信息之前還包括所述服務器端對抓取的報文信息進行加密的步驟,相應地所 述客戶端在收到所述報文信息后還包括對所述報文信息進行解密的步驟。
5. 根據(jù)權(quán)利要求1所述的實現(xiàn)遠程抓包的方法,其特征在于,在抓包的過程中還包括當所述服務器端檢測到有錯誤產(chǎn)生時主動發(fā)消息給所述客戶端的步驟。
6. 根據(jù)權(quán)利要求1所述的實現(xiàn)遠程抓包的方法,其特征在于,在所述客戶端與服務器端互相發(fā)送握手報文的過程中還包括以下步驟如果所述客戶端向服務器端連續(xù)發(fā)送握手報文的數(shù)目超過規(guī)定的閾值時或在規(guī)定的時間 內(nèi)還沒有收到所述服務器端返回的握手報文,則所述客戶端主動關閉遠程抓包連接;如果所述服務器端在規(guī)定的時間內(nèi)沒有收到所述客戶端發(fā)送的握手報文,則所述服務器 端主動關閉遠程抓包連接。
7. 根據(jù)權(quán)利要求1至6中任一權(quán)利要求所述的實現(xiàn)遠程抓包的方法,其特征在于,當所 述客戶端將抓取的報文信息以文件的形式存儲時,所述方法還包括以下步驟 當存儲有抓取的報文信息的文件大小超出設定閾值時,所述客戶端自動生成新文件并將 后續(xù)抓取的報文信息存儲在所述新文件中。
8. —種實現(xiàn)遠程抓包的系統(tǒng),包括客戶端和服務器端,其特征在于, 所述客戶端包括-(1) 通訊模塊,用于向所述服務器端發(fā)送注冊認證信息以建立與所述服務器端之間的遠程 連接;(2) 抓包存儲模塊,用于向所述服務器端發(fā)送抓包請求并從所述服務器端抓取報文信息以 及將抓取到的報文信息存儲在所述客戶端;(3) ?;钅K,用于定時向所述服務器端發(fā)送握手報文以保持遠程連接不中斷; 所述服務器端包括(1) 通訊模塊,用于接收所述客戶端的通訊模塊發(fā)來的注冊認證信息并返回注冊應答信息 給所述客戶端的通訊模塊以建立與所述客戶端之間的遠程連接;(2) 抓包模塊,用于根據(jù)所述客戶端的抓包存儲模塊發(fā)來的遠程抓包請求發(fā)送報文信息給 所述客戶端的抓包存儲模塊;(3) ?;钅K,用于在接收到所述客戶端的?;钅K發(fā)來的握手報文后返回一個握手報文 給所述客戶端的?;钅K以保持遠程連接不中斷。
9. 根據(jù)權(quán)利要求8所述的實現(xiàn)遠程抓包的系統(tǒng),其特征在于,所述服務器端還包括過濾 模塊,用于對需抓取的報文信息進行過濾并將過濾的結(jié)果發(fā)送給所述抓包模塊。
10. 根據(jù)權(quán)利要求8所述的實現(xiàn)遠程抓包的系統(tǒng),其特征在于,所述服務器端的抓包模塊還包括用于對抓取的報文信息進行加密的加密子模塊,所述客戶端的抓包存儲模塊還包括用 于對抓取的報文信息進行解密的解密子模塊。
11. 根據(jù)權(quán)利要求8、 9或10所述的實現(xiàn)遠程抓包的系統(tǒng),其特征在于,所述服務器端還 包括告警模塊,用于當所述服務器端檢測到有錯誤產(chǎn)生時主動發(fā)消息給所述客戶端的抓包存儲模塊。
全文摘要
本發(fā)明提供了一種實現(xiàn)遠程抓包的方法和系統(tǒng),屬于通訊技術(shù)領域。為了解決現(xiàn)有技術(shù)中不能遠程抓包、對網(wǎng)絡設備要求較高以及無法過濾抓取報文等問題,本發(fā)明提供了一種實現(xiàn)遠程抓包的方法,包括建立遠程抓包通道、采用握手報文機制使鏈路?;?、抓包存儲文件批量自動轉(zhuǎn)存以及服務器端過濾抓取報文等步驟;本發(fā)明還提供了一種實現(xiàn)遠程抓包的系統(tǒng)。采用本發(fā)明的技術(shù)方案,實現(xiàn)了網(wǎng)絡設備的遠程抓包、對抓取報文的有效過濾以及NAT穿越,而且還能滿足用戶長時間抓包的需求。
文檔編號H04L12/66GK101114932SQ20061010366
公開日2008年1月30日 申請日期2006年7月27日 優(yōu)先權(quán)日2006年7月27日
發(fā)明者鑫 姚, 趙志旺 申請人:華為數(shù)字技術(shù)有限公司