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