協(xié)議識別方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡通信技術(shù)領(lǐng)域,特別涉及一種協(xié)議識別方法及裝置。
【背景技術(shù)】
[0002]由于攻擊檢測、病毒檢測、訪問控制、帶寬管理等功能均基于特定的協(xié)議,因此若能準確識別出客戶端與服務器之間的數(shù)據(jù)連接協(xié)議,就可以限制病毒的攻擊、控制客戶端的訪問權(quán)限、限制客戶端的帶寬等,這在網(wǎng)絡通信管理領(lǐng)域具有重大的意義。
[0003]通常,客戶端可以通過向服務器發(fā)送控制連接請求報文,與服務器建立控制連接;在客戶端與服務器建立控制連接后,客戶端可以通過向服務器發(fā)送數(shù)據(jù)連接請求報文,與服務器建立數(shù)據(jù)連接。現(xiàn)有技術(shù)中,在客戶端向服務器發(fā)起數(shù)據(jù)連接時,無法識別兩者之間的數(shù)據(jù)連接協(xié)議。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種協(xié)議識別方法及裝置,以解決在客戶端向服務器發(fā)起數(shù)據(jù)連接時,無法識別兩者之間的數(shù)據(jù)連接協(xié)議的問題。
[0005]根據(jù)本發(fā)明的一個方面,本發(fā)明實施例提供了一種協(xié)議識別方法,包括以下步驟:
[0006]創(chuàng)建協(xié)商節(jié)點,所述協(xié)商節(jié)點包括數(shù)據(jù)連接協(xié)議,以及客戶端或服務器的IP地址和端口 ;
[0007]獲取數(shù)據(jù)連接請求報文,所述數(shù)據(jù)連接請求報文包括客戶端或服務器的IP地址和端口 ;
[0008]將所述數(shù)據(jù)連接請求報文與所述協(xié)商節(jié)點進行匹配,以識別出所述數(shù)據(jù)連接請求報文的數(shù)據(jù)連接協(xié)議,從而識別出所述客戶端與所述服務器之間的數(shù)據(jù)連接協(xié)議。
[0009]根據(jù)本發(fā)明的另一個方面,本發(fā)明實施例提供一種協(xié)議識別裝置,包括:
[0010]創(chuàng)建單元,用于創(chuàng)建協(xié)商節(jié)點,所述協(xié)商節(jié)點包括數(shù)據(jù)連接協(xié)議,以及客戶端或服務器的IP地址和端口 ;
[0011]獲取單元,用于獲取數(shù)據(jù)連接請求報文,所述數(shù)據(jù)連接請求報文包括客戶端或服務器的IP地址和端口 ;
[0012]匹配單元,分別與所述創(chuàng)建單元、所述獲取單元連接,用于將所述數(shù)據(jù)連接請求報文與所述協(xié)商節(jié)點進行匹配,以識別出所述數(shù)據(jù)連接請求報文的數(shù)據(jù)連接協(xié)議,從而識別出所述客戶端與所述服務器之間的數(shù)據(jù)連接協(xié)議。
[0013]綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
[0014]本發(fā)明實施例中,由于數(shù)據(jù)連接請求報文中包括客戶端或服務器的IP地址和端口,因此在客戶端通過數(shù)據(jù)連接請求報文與服務器建立數(shù)據(jù)連接之前,先創(chuàng)建包括數(shù)據(jù)連接協(xié)議,以及客戶端或服務器的IP地址和端口的協(xié)商節(jié)點;再將數(shù)據(jù)連接請求報文中的IP地址和端口與協(xié)商節(jié)點中的IP地址和端口進行匹配,若匹配成功,則將協(xié)商節(jié)點中的數(shù)據(jù)連接協(xié)議作為數(shù)據(jù)連接請求報文的數(shù)據(jù)連接協(xié)議,從而識別出客戶端與服務器之間的數(shù)據(jù)連接協(xié)議。
【附圖說明】
[0015]圖1是應用本發(fā)明實施例實現(xiàn)協(xié)議識別的應用場景示意圖;
[0016]圖2是本發(fā)明協(xié)議識別方法的一個實施例流程圖;
[0017]圖3是本發(fā)明協(xié)議識別方法的另一個實施例流程圖;
[0018]圖4是本發(fā)明協(xié)議識別方法的另一個實施例流程圖;
[0019]圖5是本發(fā)明協(xié)議識別裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0020]圖6是本發(fā)明協(xié)議識別裝置的一個實施例框圖;
[0021]圖7是本發(fā)明協(xié)議識別裝置的另一個實施例框圖。
【具體實施方式】
[0022]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進一步詳細的說明。
[0023]參見圖1,為應用本發(fā)明實施例實現(xiàn)協(xié)議識別的應用場景示意圖。
[0024]圖1中,客戶端與服務器之間的連接包括控制連接和數(shù)據(jù)連接,客戶端可以為手機、iPad、筆記本等??蛻舳送ㄟ^向服務器的固定端口發(fā)送控制連接請求報文,與服務器建立控制連接。在客戶端與服務器建立控制連接后,客戶端可以通過向服務器發(fā)送數(shù)據(jù)連接請求報文,與服務器建立數(shù)據(jù)連接。
[0025]以FTP (File Transfer Protocol,文件傳輸協(xié)議)通信協(xié)議為例:
[0026]在客戶端與服務器建立控制連接時,客戶端通過向服務器的21端口發(fā)送控制連接請求報文,與服務器建立控制連接。
[0027]在客戶端與服務器建立數(shù)據(jù)連接時,客戶端通過控制連接的數(shù)據(jù)通道向服務器發(fā)送監(jiān)聽請求報文(即PASV命令),該監(jiān)聽請求報文用于請求服務器返回其用于接收客戶端發(fā)送的數(shù)據(jù)連接請求報文的臨時端口 ;服務器在接收到監(jiān)聽請求報文后,向客戶端發(fā)送監(jiān)聽應答報文,該監(jiān)聽應答報文包括服務器的IP (Internet Protocol,網(wǎng)絡協(xié)議)地址以及服務器用于接收客戶端發(fā)送的數(shù)據(jù)連接請求報文的臨時端口 ;客戶端在接收到監(jiān)聽應答報文后,通過向服務器的臨時端口發(fā)送數(shù)據(jù)連接請求報文,與服務器建立數(shù)據(jù)連接。
[0028]綜上所述,服務器用于與客戶端建立控制連接的端口為固定端口,根據(jù)該固定端口,可以識別出客戶端與服務器之間的控制連接協(xié)議。然而,服務器用于與客戶端建立數(shù)據(jù)連接的端口為臨時端口,根據(jù)該臨時端口,無法識別出數(shù)據(jù)連接的協(xié)議。本發(fā)明實施例通過在客戶端與服務器之間增加協(xié)議識別裝置,來監(jiān)聽客戶端與服務器之間的交互報文,并且該協(xié)議識別裝置根據(jù)客戶端與服務器之間的交互報文,可以識別出客戶端與服務器之間的數(shù)據(jù)連接協(xié)議。
[0029]參見圖2,為本發(fā)明協(xié)議識別方法的一個實施例流程圖,該方法包括以下步驟:
[0030]步驟201、創(chuàng)建協(xié)商節(jié)點,該協(xié)商節(jié)點包括數(shù)據(jù)連接協(xié)議,以及客戶端或服務器的IP地址和端口。協(xié)商節(jié)點可以僅包括客戶端的IP地址和端口,可以僅包括服務器的IP地址和端口,還可以既包括客戶端的IP地址和端口,又包括服務器的IP地址和端口。
[0031]在本實施例中,協(xié)商節(jié)點中的數(shù)據(jù)連接協(xié)議,以及客戶端或服務器的IP地址和端口可以根據(jù)控制連接請求報文來確定。
[0032]在根據(jù)控制連接請求報文確定協(xié)商節(jié)點中的數(shù)據(jù)連接協(xié)議時,由于針對不同的控制連接協(xié)議,服務器通常采用不同的固定端口來接收控制連接請求報文,且在客戶端向服務器發(fā)送的控制連接請求報文中包括該固定端口,因此根據(jù)控制連接請求報文中的固定端口,可以識別出對應的控制連接協(xié)議。諸如,在FTP通信協(xié)議中,由于服務器采用21端口來接收控制連接請求報文,因此根據(jù)控制連接請求報文中的21端口,可以識別出FTP通信協(xié)議中的TCP (Transmiss1n Control Protocol,傳輸控制協(xié)議)控制連接協(xié)議;在 RTSP(Real Time Streaming Protocol,實時流傳輸協(xié)議)/RTP(Real-time TransportProtocol,實時傳輸協(xié)議)通信協(xié)議中,由于服務器采用544端口來接收控制連接請求報文,因此根據(jù)控制連接請求報文中的544端口,可以識別出RTSP/RTP通信協(xié)議中的RTSP控制連接協(xié)議。
[0033]另外,由于針對包括控制連接協(xié)議和數(shù)據(jù)連接協(xié)議的通信協(xié)議,控制連接協(xié)議與數(shù)據(jù)連接協(xié)議呈相互對應的關(guān)系,因此在識別出控制連接協(xié)議的基礎(chǔ)上,可以確定其對應的數(shù)據(jù)連接協(xié)議。諸如,針對包括TCP控制連接協(xié)議和TCP數(shù)據(jù)連接協(xié)議的FTP通信協(xié)議,在識別出控制連接協(xié)議為TCP控制連接協(xié)議的基礎(chǔ)上,可以確定其對應的數(shù)據(jù)連接協(xié)議為TCP數(shù)據(jù)連接協(xié)議;針對包括RTSP控制連接協(xié)議和RTP數(shù)據(jù)連接協(xié)議的RTSP/RTP通信協(xié)議,在識別出控制連接協(xié)議為RTSP控制連接協(xié)議的基礎(chǔ)上,可以確定其對應的數(shù)據(jù)連接協(xié)議為RTP數(shù)據(jù)連接協(xié)議。
[0034]由此可見,根據(jù)控制連接請求報文中服務器用于接收控制連接請求報文的端口,可以確定協(xié)商節(jié)點的數(shù)據(jù)連接協(xié)議。
[0035]在根據(jù)控制連接請求報文確定協(xié)商節(jié)點中客戶端或服務器的IP地址和端口時,由于控制連接請求報文中可以包括傳輸標志,該傳輸標志可以包括客戶端的IP地址、客戶端用于發(fā)送數(shù)據(jù)連接請求報文的端口、服務器的IP地址以及服務器用于接收客戶端發(fā)送的數(shù)據(jù)連接請求報文的端口。
[0036]因此,根據(jù)控制連接請求報文的傳輸標志中客戶端的IP地址以及客戶端用于發(fā)送數(shù)據(jù)連接請求報文的端口,可以確定協(xié)商節(jié)點中客戶端的IP地址和端口 ;根據(jù)控制連接請求報文的傳輸標志中服務器的IP地址以及服務器用于接收客戶端發(fā)送的數(shù)據(jù)連接請求報文的端口,可以確定協(xié)商節(jié)點中服務器的IP地址和端口。
[0037]在本實施例中,協(xié)商節(jié)點中服務器的IP地址和端口還可以根據(jù)服務器