欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

端口狀態(tài)識別方法、裝置和系統(tǒng)的制作方法

文檔序號:7810278閱讀:202來源:國知局
端口狀態(tài)識別方法、裝置和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種端口狀態(tài)識別方法、裝置和系統(tǒng)。其中,端口狀態(tài)識別方法包括:獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,TCP-SYN數(shù)據(jù)包包括第一MAC地址和服務(wù)端口參數(shù),其中,第一MAC地址為被識別的服務(wù)器的MAC地址,服務(wù)端口參數(shù)為被識別的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù);將TCP-SYN數(shù)據(jù)包發(fā)送至第一MAC地址對應(yīng)的服務(wù)器,其中,第一MAC地址對應(yīng)的服務(wù)器接收到TCP-SYN數(shù)據(jù)包后返回應(yīng)答包,應(yīng)答包包括用于反映服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息;接收第一MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答包;以及對返回的應(yīng)答包進行解析得到服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。通過本發(fā)明,解決了應(yīng)用服務(wù)識別效率低的問題,達到了提高應(yīng)用服務(wù)識別的效率的效果。
【專利說明】端口狀態(tài)識別方法、裝置和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及應(yīng)用服務(wù)掃描領(lǐng)域,具體而言,涉及一種端口狀態(tài)識別方法、裝置和系 統(tǒng)。

【背景技術(shù)】
[0002] 應(yīng)用服務(wù)識別是網(wǎng)絡(luò)管理類、安全管理類系統(tǒng)的基礎(chǔ)功能之一。完善的應(yīng)用服務(wù) 識別掃描功能,可以為管理系統(tǒng)的上層功能提供豐富的技術(shù)支撐。且適用范圍廣泛,諸如: 主機系統(tǒng)服務(wù)、Web服務(wù)、數(shù)據(jù)庫服務(wù)、以及中間件服務(wù)的識別均可基于該掃描功能。此外, 未來的虛擬化服務(wù)、大數(shù)據(jù)存儲網(wǎng)服務(wù)等也可以基于該掃描功能實現(xiàn)彈性擴展。
[0003] 一般情況下,各管理系統(tǒng)的廠商開發(fā)團隊會選擇基于Telnet協(xié)議來實現(xiàn)應(yīng)用服 務(wù)識別功能。這種實現(xiàn)思路通用性好、開發(fā)實現(xiàn)效率高:幾乎全部TCP協(xié)議族的應(yīng)用服務(wù)端 口均可以使用Telnet協(xié)議加以判別,同時不需要過多的代碼量開發(fā)人員即可以實現(xiàn)一個 完整的Telnet協(xié)議調(diào)用功能。但簡單易實現(xiàn)的同時也伴隨著Telnet協(xié)議自身實現(xiàn)的諸多 問題:應(yīng)用服務(wù)識別效率低、無法跨越防火墻、缺乏靈活的分布式實現(xiàn)可能性,嚴重限制了 應(yīng)用服務(wù)識別功能的技術(shù)發(fā)展。
[0004] 針對現(xiàn)有技術(shù)中應(yīng)用服務(wù)識別效率低的問題,目前尚未提出有效的解決方案。


【發(fā)明內(nèi)容】

[0005] 本發(fā)明的主要目的在于提供一種端口狀態(tài)識別方法、裝置和系統(tǒng),以解決應(yīng)用服 務(wù)識別效率低的問題。
[0006] 為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種端口狀態(tài)識別方法。根據(jù) 本發(fā)明的端口狀態(tài)識別方法包括:獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,所述TCP-SYN數(shù)據(jù)包包 括第一 MAC地址和服務(wù)端口參數(shù),其中,所述第一 MAC地址為被識別的服務(wù)器的MAC地址, 所述服務(wù)端口參數(shù)為所述被識別的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù);將所述TCP-SYN數(shù)據(jù)包 發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器,其中,所述第一 MAC地址對應(yīng)的服務(wù)器接收到所述 TCP-SYN數(shù)據(jù)包后返回應(yīng)答包,所述應(yīng)答包包括用于反映所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端 口狀態(tài)的信息;接收所述第一 MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答包;以及對所述返回的應(yīng) 答包進行解析得到所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。
[0007] 進一步地,所述TCP-SYN數(shù)據(jù)包包括第二MAC地址,其中,第一服務(wù)器將所述 TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器;以及第二服務(wù)器接收所述第一 MAC 地址對應(yīng)的服務(wù)器返回的應(yīng)答包,其中,所述第一服務(wù)器與所述第二服務(wù)器為不同的服務(wù) 器,所述第二MAC地址為所述第二服務(wù)器的MAC地址。
[0008] 進一步地,將所述TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器包括:開 啟數(shù)據(jù)包發(fā)送線程,所述數(shù)據(jù)包發(fā)送線程用于數(shù)據(jù)包的地址噴射發(fā)送;基于所述數(shù)據(jù)包發(fā) 送線程調(diào)用WinPcap插件;以及通過所述WinPcap插件將所述TCP-SYN數(shù)據(jù)包至所述第一 MAC地址對應(yīng)的服務(wù)器。
[0009] 進一步地,所述TCP-SYN數(shù)據(jù)包還包括:第一 IP地址、第二MAC地址和第二IP地 址,其中,第一 IP地址為所述被識別的服務(wù)器的,所述第二MAC地址為用于接收所述應(yīng)答包 的服務(wù)器的MAC地址,所述第二IP地址為用于接收所述應(yīng)答包的服務(wù)器的IP地址,在獲取 預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包之前,所述端口狀態(tài)識別方法還包括:獲取所述第一 IP地址、所 述第二MAC地址、所述第二IP地址和所述服務(wù)端口參數(shù);獲取所述第一 MAC地址;以及將所 述第一 IP地址、所述第二MAC地址、所述第二IP地址、所述服務(wù)端口參數(shù)和所述第一 MAC 地址作為形式參數(shù)構(gòu)建所述TCP-SYN數(shù)據(jù)包。
[0010] 進一步地,獲取所述第一 MAC地址包括:將所述第一 IP地址、所述第二MAC地址和 所述第二IP地址作為形式參數(shù)構(gòu)建ARP數(shù)據(jù)包;將所述ARP數(shù)據(jù)包發(fā)送至所述第一 IP地 址對應(yīng)的服務(wù)器,其中,所述第一 IP地址對應(yīng)的服務(wù)器在接收到所述ARP數(shù)據(jù)包后返回地 址應(yīng)答包,所述地址應(yīng)答包為包含有所述第一 MAC地址的信息的應(yīng)答包;以及從所述地址 應(yīng)答包中解析得到所述第一 MAC地址。
[0011] 為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種端口狀態(tài)識別裝置。根據(jù) 本發(fā)明的端口狀態(tài)識別裝置包括:第一獲取單元,用于獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,所 述TCP-SYN數(shù)據(jù)包包括第一 MAC地址和服務(wù)端口參數(shù),其中,所述第一 MAC地址為被識別的 服務(wù)器的MAC地址,所述服務(wù)端口參數(shù)為所述被識別的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù);發(fā) 送單元,用于將所述TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器,其中,所述第 一 MAC地址對應(yīng)的服務(wù)器接收到所述TCP-SYN數(shù)據(jù)包后返回應(yīng)答包,所述應(yīng)答包包括用于 反映所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息;接收單元,用于接收所述第一 MAC地 址對應(yīng)的服務(wù)器返回的應(yīng)答包;以及解析單元,用于對所述應(yīng)答包進行解析得到所述服務(wù) 端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。
[0012] 進一步地,所述TCP-SYN數(shù)據(jù)包包括第二MAC地址,其中,所述發(fā)送單元包括:第一 發(fā)送模塊,用于使得第一服務(wù)器將所述TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服 務(wù)器;以及所述接收單元包括:接收模塊,用于使得第二服務(wù)器接收所述第一 MAC地址對應(yīng) 的服務(wù)器返回的應(yīng)答包,其中,所述第一服務(wù)器與所述第二服務(wù)器為不同的服務(wù)器,所述第 二MAC地址為所述第二服務(wù)器的MAC地址。
[0013] 進一步地,所述發(fā)送單元包括:開啟模塊,用于開啟數(shù)據(jù)包發(fā)送線程,所述數(shù)據(jù) 包發(fā)送線程用于數(shù)據(jù)包的地址噴射發(fā)送;調(diào)用模塊,用于基于所述數(shù)據(jù)包發(fā)送線程調(diào)用 WinPcap插件;以及第二發(fā)送模塊,用于通過所述WinPcap插件將所述TCP-SYN數(shù)據(jù)包至所 述第一 MAC地址對應(yīng)的服務(wù)器。
[0014] 進一步地,所述TCP-SYN數(shù)據(jù)包還包括:第一 IP地址、第二MAC地址和第二IP地 址,其中,第一 IP地址為所述被識別的服務(wù)器的,所述第二MAC地址為用于接收所述應(yīng)答包 的服務(wù)器的MAC地址,所述第二IP地址為用于接收所述應(yīng)答包的服務(wù)器的IP地址,所述 端口狀態(tài)識別裝置還包括:第二獲取單元,用于在獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包之前,獲 取所述第一 IP地址、所述第二MAC地址、所述第二IP地址和所述服務(wù)端口參數(shù);第三獲取 單元,用于獲取所述第一 MAC地址;以及建立單元,用于將所述第一 IP地址、所述第二MAC 地址、所述第二IP地址、所述服務(wù)端口參數(shù)和所述第一 MAC地址作為形式參數(shù)構(gòu)建所述 TCP-SYN數(shù)據(jù)包。
[0015] 進一步地,所述第三獲取單元包括:建立模塊,用于將所述第一 IP地址、所述第二 MAC地址和所述第二IP地址作為形式參數(shù)構(gòu)建ARP數(shù)據(jù)包;第三發(fā)送模塊,用于將所述ARP 數(shù)據(jù)包發(fā)送至所述第一 IP地址對應(yīng)的服務(wù)器,其中,所述第一 IP地址對應(yīng)的服務(wù)器在接收 到所述ARP數(shù)據(jù)包后返回地址應(yīng)答包,所述地址應(yīng)答包為包含有所述第一 MAC地址的信息 的應(yīng)答包;以及解析模塊,用于從所述地址應(yīng)答包中解析得到所述第一 MAC地址。
[0016] 為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種端口狀態(tài)識別系統(tǒng)。根 據(jù)本發(fā)明的端口狀態(tài)識別系統(tǒng)包括:第一識別器、第二識別器和被識別的服務(wù)器,所述第 一識別器與所述第二識別器為不同的服務(wù)器,其中,所述第一識別器用于獲取預(yù)先構(gòu)建的 TCP-SYN數(shù)據(jù)包,并發(fā)送所述TCP-SYN數(shù)據(jù)包至被識別的服務(wù)器,其中,所述TCP-SYN數(shù)據(jù)包 包括第一 MAC地址和服務(wù)端口參數(shù),其中,所述第一 MAC地址為所述被識別的服務(wù)器的MAC 地址,所述服務(wù)端口參數(shù)為所述被識別的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù);所述被識別的服 務(wù)器用于接收所述TCP-SYN數(shù)據(jù)包,并返回應(yīng)答包給所述第二識別器,所述應(yīng)答包包括用 于反映所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息;以及所述第二識別器用于接收所述 被識別的服務(wù)器返回的應(yīng)答包,并對所述返回的應(yīng)答包進行解析得到所述服務(wù)端口參數(shù)對 應(yīng)的服務(wù)端口狀態(tài)。
[0017] 根據(jù)本發(fā)明,通過向被識別的服務(wù)器發(fā)送TCP-SYN數(shù)據(jù)包,以向被識別的服務(wù)器 請求其服務(wù)端口的狀態(tài)信息,被識別的服務(wù)器接收到TCP-SYN數(shù)據(jù)包之后,返回應(yīng)答包,該 應(yīng)答包包括用于反映服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息,接收該應(yīng)答包,并對其進 行解析得到服務(wù)端口的狀態(tài),由于TCP-SYN數(shù)據(jù)包自身的數(shù)據(jù)結(jié)構(gòu)比較簡潔,相對于采用 Telnet協(xié)議進行服務(wù)端口識別,無需建立會話,減少了服務(wù)端口識別的流程步驟,能夠應(yīng)對 防火墻對于TCP會話進行阻斷的問題,盡可能寬泛地進行應(yīng)用服務(wù)發(fā)現(xiàn),有效控制數(shù)據(jù)載 荷,從而解決了應(yīng)用服務(wù)識別效率低的問題,達到了提高應(yīng)用服務(wù)識別的效率的效果。

【專利附圖】

【附圖說明】
[0018] 構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實 施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0019] 圖1是根據(jù)本發(fā)明實施例的端口狀態(tài)識別方法的流程圖;
[0020] 圖2是根據(jù)本發(fā)明實施例的端口狀態(tài)識別方法運行環(huán)境的網(wǎng)絡(luò)架構(gòu)圖;
[0021] 圖3是根據(jù)本發(fā)明實施例可選的端口狀態(tài)識別方法運行環(huán)境的網(wǎng)絡(luò)架構(gòu)圖;
[0022] 圖4是根據(jù)本發(fā)明實施例的端口狀態(tài)識別方法的模塊調(diào)用框架圖;
[0023] 圖5是根據(jù)本發(fā)明實施例的功能模塊關(guān)系圖;以及
[0024] 圖6是根據(jù)本發(fā)明實施例的端口狀態(tài)識別裝置的示意圖。

【具體實施方式】
[0025] 需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
[0026] 為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù) 人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范 圍。
[0027] 需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"、"第 二"等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使 用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例。此外,術(shù)語"包括"和 "具有"以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元 的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有 清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0028] 本發(fā)明實施例提供了一種端口狀態(tài)識別方法。該方法可以用于對包括主機系統(tǒng)服 務(wù)、Web服務(wù)、數(shù)據(jù)庫服務(wù)、以及中間件服務(wù)的識別。
[0029] 圖1是根據(jù)本發(fā)明實施例的端口狀態(tài)識別方法的流程圖。如圖1所示,該端口狀 態(tài)識別方法包括步驟如下:
[0030] 步驟S102,獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,TCP-SYN數(shù)據(jù)包包括第一 MAC地址和 服務(wù)端口參數(shù),其中,第一 MAC地址為被識別的服務(wù)器的MAC地址,服務(wù)端口參數(shù)為被識別 的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù)。
[0031] SYN (synchronous)是TCP/IP建立連接時使用的握手信號,TCP-SYN數(shù)據(jù)包即相 應(yīng)的用于建立連接的數(shù)據(jù)包。TCP-SYN數(shù)據(jù)包包括第一 MAC地址和服務(wù)端口參數(shù)即在構(gòu)建 TCP-SYN數(shù)據(jù)包時需要用到第一 MAC地址和服務(wù)端口參數(shù),其中,第一 MAC地址可以包括一 個MAC地址,也可以包括多個MAC地址,服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口可以是多個需要進行 狀態(tài)識別的服務(wù)端口。被識別的服務(wù)器表示需要對其進行端口狀態(tài)識別的服務(wù)器。
[0032] 用于構(gòu)建TCP-SYN數(shù)據(jù)包的第一 MAC地址可以是通過本地查詢獲得,也可以是通 過廣播查詢獲得。需要進行查詢的服務(wù)端口可以通過預(yù)先定義,例如,將需要進行端口識別 的服務(wù)端口輸入到設(shè)備掃描地址列表中,通過導(dǎo)入該設(shè)備掃描地址列表來獲取需要進行端 口識別的服務(wù)端口。第一 MAC地址與服務(wù)端口參數(shù)有一定的對應(yīng)關(guān)系,服務(wù)端口為第一 MAC 地址對應(yīng)的被識別服務(wù)器的端口。第一 MAC地址可以稱為目的端MAC地址。
[0033] 步驟S104,將TCP-SYN數(shù)據(jù)包發(fā)送至第一 MAC地址對應(yīng)的服務(wù)器,其中,第一 MAC 地址對應(yīng)的服務(wù)器接收到TCP-SYN數(shù)據(jù)包后返回應(yīng)答包,該應(yīng)答包包括用于反映服務(wù)端口 參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息。
[0034] 在獲取到TCP-SYN數(shù)據(jù)包之后,將TCP-SYN數(shù)據(jù)包發(fā)送至被識別的服務(wù)器即第一 MAC地址對應(yīng)的服務(wù)器,用于向該服務(wù)器請求所要查詢的服務(wù)端口的狀態(tài)。該服務(wù)器在接收 到TCP-SYN數(shù)據(jù)包之后,返回包含有用于反映服務(wù)端口狀態(tài)信息的應(yīng)答包,以便于從該應(yīng) 答包中解析得到服務(wù)端口的狀態(tài)。
[0035] 步驟S106,接收第一 MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答包。
[0036] 步驟S108,對返回的應(yīng)答包進行解析得到服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。
[0037] 第一 MAC地址對應(yīng)的服務(wù)器返回應(yīng)答包之后,相應(yīng)的識別器接收該返回的應(yīng)答 包,對接收到的應(yīng)答包進行解析,得到所要查詢的服務(wù)端口的狀態(tài),其中,服務(wù)端口的狀態(tài) 包括開啟狀態(tài)。
[0038] 具體地,如圖2所示,該網(wǎng)絡(luò)部署架構(gòu)為集中式部署結(jié)構(gòu),其中,主識別器為用于 進行應(yīng)用服務(wù)掃描的服務(wù)器,其中,服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D為被識別的服 務(wù)器,主識別器在獲取到TCP-SYN數(shù)據(jù)包之后,向服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D 發(fā)送TCP-SYN數(shù)據(jù)包,該TCP-SYN數(shù)據(jù)包包括TCP/IP建立連接時使用的握手信號SYN和服 務(wù)端口號(PORT 80),服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D等被識別的服務(wù)器存在端口 PORT 80時,向主識別器返回握手應(yīng)答包(SYN/ACK),例如服務(wù)器A和服務(wù)器C ;不存在端口 PORT 80時,例如服務(wù)器B和服務(wù)器D,則返回RST報文。主識別器開啟應(yīng)答包捕獲線程,捕 獲返回的應(yīng)答包,并對捕獲的應(yīng)答包進行解析,得到服務(wù)端口的狀態(tài)信息。
[0039] 如圖3所示,該網(wǎng)絡(luò)部署架構(gòu)為分布式部署結(jié)構(gòu),其中,主識別器為用于進行應(yīng)用 服務(wù)掃描的服務(wù)器,主要用于發(fā)送TCP-SYN數(shù)據(jù)包,該TCP-SYN數(shù)據(jù)包包括TCP/IP建立連 接時使用的握手信號SYN和服務(wù)端口號(PORT 80),其中,輔助識別器-1和輔助識別器-2 均用于接收應(yīng)答包或者報文,輔助識別器-1和輔助識別器-2與主識別器通過信令通道建 立通信。該架構(gòu)與圖2所示的架構(gòu)的區(qū)別在于,發(fā)送TCP-SYN數(shù)據(jù)包的識別器與接收應(yīng)答 包或者報文的識別器為不同的服務(wù)器,數(shù)據(jù)包的發(fā)送和接受的方式均與圖2相同,這里不 做贅述。
[0040] 根據(jù)本發(fā)明實施例,通過向被識別的服務(wù)器發(fā)送TCP-SYN數(shù)據(jù)包,以向被識別的 服務(wù)器請求其服務(wù)端口的狀態(tài)信息,被識別的服務(wù)器接收到TCP-SYN數(shù)據(jù)包之后,返回應(yīng) 答包,該應(yīng)答包包括用于反映服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息,接收該應(yīng)答包,并 對其進行解析得到服務(wù)端口的狀態(tài),由于TCP-SYN數(shù)據(jù)包自身的數(shù)據(jù)結(jié)構(gòu)比較簡潔,相對 于采用Telnet協(xié)議進行服務(wù)端口識別,無需建立會話,減少了服務(wù)端口識別的流程步驟, 能夠應(yīng)對防火墻對于TCP會話進行阻斷的問題,盡可能寬泛地進行應(yīng)用服務(wù)發(fā)現(xiàn),有效控 制數(shù)據(jù)載荷,從而解決了應(yīng)用服務(wù)識別效率低的問題,達到了提高應(yīng)用服務(wù)識別的效率的 效果。
[0041] 優(yōu)選地,TCP-SYN數(shù)據(jù)包包括第二MAC地址,其中,第一服務(wù)器將TCP-SYN數(shù)據(jù)包發(fā) 送至第一 MAC地址對應(yīng)的服務(wù)器;第二服務(wù)器接收第一 MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答 包,其中,第一服務(wù)器與第二服務(wù)器為不同的服務(wù)器,第二MAC地址為第二服務(wù)器的MAC地 址。
[0042] 第二服務(wù)器可以包括一個或者多個服務(wù)器,相應(yīng)地,第二MAC地址可以包括一個 或者多個MAC地址,第一服務(wù)器將帶有第二MAC地址的TCP-SYN數(shù)據(jù)包發(fā)送至被識別的服 務(wù)器即第一 MAC地址對應(yīng)的服務(wù)器,被識別的服務(wù)器接受到TCP-SYN數(shù)據(jù)包之后,向第二 MAC地址對應(yīng)的第二服務(wù)器發(fā)送應(yīng)答包,第二服務(wù)器接收該應(yīng)道包,并對該應(yīng)答包進行解 析,得到被識別的服務(wù)器的服務(wù)端口狀態(tài)信息。
[0043] 本發(fā)明實施例中,用于發(fā)送TCP-SYN數(shù)據(jù)包的第一服務(wù)器和用于接收應(yīng)答包的第 二服務(wù)器為不同的服務(wù)器,由此可以看出,該實施例的網(wǎng)絡(luò)部署架構(gòu)為分布式架構(gòu)。
[0044] 具體地,如圖3所示,第一服務(wù)器可以是主識別器,第二服務(wù)器包括輔助識別器-1 和輔助識別器-2, TCP-SYN數(shù)據(jù)包包括第二MAC地址,第一服務(wù)器將TCP-SYN數(shù)據(jù)包發(fā)送 至第一 MAC地址對應(yīng)的服務(wù)器即圖3所示的服務(wù)器A、服務(wù)器B、服務(wù)器C、服務(wù)器D等。主 識別器在獲取到TCP-SYN數(shù)據(jù)包之后,向服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D等發(fā)送 TCP-SYN數(shù)據(jù)包,該TCP-SYN數(shù)據(jù)包包括TCP/IP建立連接時使用的握手信號SYN和服務(wù)端 口號(PORT 80),服務(wù)器A、服務(wù)器B、服務(wù)器C和服務(wù)器D等被識別的服務(wù)器存在端口 PORT 80時,向輔助識別器返回握手應(yīng)答包(SYN/ACK),例如服務(wù)器A向輔助識別器-1返回SYN/ ACK,服務(wù)器C向輔助識別器-2返回SYN/ACK ;不存在端口 PORT 80時,例如服務(wù)器B和服 務(wù)器D,則返回RST報文。主識別器開啟應(yīng)答包捕獲線程,捕獲返回的應(yīng)答包,并對捕獲的應(yīng) 答包進行解析,得到服務(wù)端口的狀態(tài)信息。
[0045] 根據(jù)本發(fā)明實施例,通過第一服務(wù)器發(fā)送TCP-SYN數(shù)據(jù)包,第二服務(wù)器接收應(yīng)答 包,并解析接收到的應(yīng)道包,采用分布式的架構(gòu)對應(yīng)答包進行接收和解析,在提高應(yīng)用服務(wù) 掃描的效率的同時,能夠確保在大量嗅探掃描動作并發(fā)的情況下,不引起入侵檢測設(shè)備的 誤報,確保在防火墻、入侵檢測等三層設(shè)備環(huán)境下良好工作。
[0046] 另外,通過利用分布式架構(gòu),借助于堆噴射(Heap Spraying)的思想,用于應(yīng)用服 務(wù)掃描,其中,在計算機安全領(lǐng)域中,Heap Spraying(堆噴射)是一種較易獲得任意代碼執(zhí) 行Exploit的技術(shù)手段。在計算機微觀的(堆棧溢出技術(shù))內(nèi)存環(huán)境中,堆噴射是滲透測 試領(lǐng)域?qū)笰SLR(隨機地址空間布局)技術(shù)的重要手段。相對而言,在計算機宏觀的以太 網(wǎng)絡(luò)環(huán)境中,基于IP地址的噴射掃描同樣優(yōu)于傳統(tǒng)的輪詢掃描技術(shù)。在極短時間內(nèi),將不 同IP地址的SYN掃描包全部噴發(fā)式地投擲在網(wǎng)絡(luò)中,不僅有效增加了掃描成功的概率,也 最大化地縮短了掃描過程的全局開銷。
[0047] 優(yōu)選地,將TCP-SYN數(shù)據(jù)包發(fā)送至第一 MAC地址對應(yīng)的服務(wù)器包括:開啟數(shù)據(jù)包發(fā) 送線程,數(shù)據(jù)包發(fā)送線程用于數(shù)據(jù)包的地址噴射發(fā)送;基于數(shù)據(jù)包發(fā)送線程調(diào)用WinPcap 插件;通過WinPcap插件將TCP-SYN數(shù)據(jù)包至第一 MAC地址對應(yīng)的服務(wù)器。
[0048] Windows packet capture,簡稱為 WinPcap,是 windows 平臺下一個免費,公共的網(wǎng) 絡(luò)訪問系統(tǒng)。開發(fā)winpcap這個項目的目的在于為Win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能 力。
[0049] 開啟數(shù)據(jù)包發(fā)送線程,其中,數(shù)據(jù)包線程用于數(shù)據(jù)包的地址噴射發(fā)送。不同于 Telnet協(xié)議的發(fā)送過程,數(shù)據(jù)包的接收、發(fā)送過程均為相互獨立的實現(xiàn)過程。這不僅有效避 免了因為網(wǎng)絡(luò)情況導(dǎo)致的Telnet協(xié)議等待,以及線程的阻塞調(diào)用模式。通過可以將兩個引 擎線程獨立部署在不同物理設(shè)備上,例如將發(fā)送數(shù)據(jù)包線程部署在探針節(jié)點設(shè)備。
[0050] 通過諸如:TTL隨機值、Sleep間隔無序化、數(shù)據(jù)包載荷動態(tài)調(diào)整等技術(shù),實現(xiàn)數(shù)據(jù) 包發(fā)送對IDS(入侵檢測系統(tǒng))監(jiān)測設(shè)備的有效逃逸。默認情況下,也可以在每個目標(biāo)發(fā)送 包之間部署固定間隔的毫秒數(shù)以控制數(shù)據(jù)包發(fā)送節(jié)奏。
[0051] 最終的數(shù)據(jù)包地址噴射操作,需要傳遞網(wǎng)絡(luò)接口卡信息、數(shù)據(jù)包字節(jié)碼信息作為 參數(shù)。并調(diào)用WinPcap的sendPacketO函數(shù)完成操作。
[0052] 調(diào)用WinPcap插件包括:激活網(wǎng)卡、超時配置;接收數(shù)據(jù)包字節(jié)碼數(shù)組;調(diào)用 WinPcap插件執(zhí)行發(fā)送。
[0053] 激活網(wǎng)卡、超時配置包括:激活網(wǎng)卡為固定的函數(shù)調(diào)用,其形式例如:
[0054] Pcap. openlive ()
[0055] 激活網(wǎng)卡、超時配置中需要傳遞網(wǎng)絡(luò)接口卡信息、捕獲標(biāo)記、超時配置、錯誤碼聲 明等信息。
[0056] 接收數(shù)據(jù)包字節(jié)碼數(shù)組包括:接收的數(shù)據(jù)包字節(jié)碼為數(shù)組形式,該數(shù)組形式的數(shù) 據(jù)包字節(jié)碼為在預(yù)先構(gòu)建數(shù)據(jù)包時采用的數(shù)據(jù)形式。該數(shù)組內(nèi)容不同于具體的數(shù)據(jù)包數(shù)組 內(nèi)容,每個數(shù)據(jù)包之間無固定順序而是隨機執(zhí)行封裝操作。
[0057] 調(diào)用WinPcap插件執(zhí)行發(fā)送包括:WinPcap插件調(diào)用需要以來本地化實現(xiàn)。且最 終由sendPcaketO函數(shù)負責(zé)完成發(fā)送??蓞⒖嫉恼{(diào)用實現(xiàn)如下:
[0058] int snaplen - 64 * 1024; // Capture all packets, no trucation int flags ^ Pcap MODE PROMISCUOUS; // capture all packets int timeout:::::: 10 * 1000; //10 seconds in millis Pcap pcap ? Pcap-〇penLive(device-getName(), snaplen, flags, timeout, errbu〇; ByteBufTer b ^ ByteBuffer.wrap(common packet); if\pcap.sendPacket(b) Pcap.OK)[ System.err.priniln(pcap.getEiT0); } pcap.c 丨 ose();
[0059] 優(yōu)選地,TCP-SYN數(shù)據(jù)包還包括:第一 IP地址、第二MAC地址和第二IP地址,其中, 第一 IP地址為被識別的服務(wù)器的,第二MAC地址為用于接收應(yīng)答包的服務(wù)器的MAC地址, 第二IP地址為用于接收應(yīng)答包的服務(wù)器的IP地址,在獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包之 前,端口狀態(tài)識別方法還包括:獲取第一 IP地址、第二MAC地址、第二IP地址和服務(wù)端口參 數(shù);獲取第一 MAC地址;以及將第一 IP地址、第二MAC地址、第二IP地址、服務(wù)端口參數(shù)和 第一 MAC地址作為形式參數(shù)構(gòu)建TCP-SYN數(shù)據(jù)包。
[0060] 第二MAC地址可以是圖3中所示的主識別器的MAC地址,也可以是輔助識別器的 MAC地址,其中,主識別器的MAC地址可以稱為本地MAC地址,輔助識別器的MAC地址可以 稱為源端MAC地址,第二IP地址與第二MAC地址相對應(yīng),主識別器的IP地址可以稱為本地 IP地址,輔助識別器可以稱為源端IP地址。第一 IP地址可以是需要進行端口識別的服務(wù) 器所處的IP段。需要進行查詢的服務(wù)端口可以通過預(yù)先定義,例如,將需要進行端口識別 的服務(wù)端口輸入到設(shè)備掃描地址列表中,通過導(dǎo)入該設(shè)備掃描地址列表來獲取需要進行端 口識別的服務(wù)端口。
[0061] 具體地,獲取源端(本地)MAC地址信息可以通過調(diào)用WinPcap的網(wǎng)絡(luò)設(shè)備接口, 獲取本地或指定源端的網(wǎng)絡(luò)接口卡設(shè)備。如果存在多塊接口卡設(shè)備,默認選取第一塊。選 中后通過已封裝的getHardwareAddressO方法獲取接口卡物理地址信息。
[0062] 獲取源端(本地)IP地址信息可以是通過調(diào)用WinPcap的網(wǎng)絡(luò)設(shè)備接口,獲取本 地或指定源端的網(wǎng)絡(luò)接口卡設(shè)備。如果存在多塊接口卡設(shè)備,默認選取第一塊。選中后通 過已封裝的getAddressesO方法獲取接口卡多個已綁定IP地址信息。選中默認第一個IP 地址信息并轉(zhuǎn)換為byte□數(shù)組形式,以便后續(xù)封裝使用。
[0063] 第一 MAC地址可以是通過本地查詢獲得,也可以是通過廣播查詢獲得。
[0064] 構(gòu)造單個TCP-SYN數(shù)據(jù)包實例,默認需要傳入源端MAC信息、源端IP地址信息、目 的端MAC信息、目的端IP地址信息、目的端服務(wù)端口作為形式參數(shù),其他參數(shù)則通過默認的 屬性聲明予以加載,具體見表1中定義。
[0065] 表 1
[0066]

【權(quán)利要求】
1. 一種端口狀態(tài)識別方法,其特征在于,包括: 獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,所述TCP-SYN數(shù)據(jù)包包括第一 MAC地址和服務(wù)端口 參數(shù),其中,所述第一 MAC地址為被識別的服務(wù)器的MAC地址,所述服務(wù)端口參數(shù)為所述被 識別的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù); 將所述TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器,其中,所述第一 MAC地 址對應(yīng)的服務(wù)器接收到所述TCP-SYN數(shù)據(jù)包后返回應(yīng)答包,所述應(yīng)答包包括用于反映所述 服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息; 接收所述第一 MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答包;以及 對所述返回的應(yīng)答包進行解析得到所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。
2. 根據(jù)權(quán)利要求1所述的端口狀態(tài)識別方法,其特征在于,所述TCP-SYN數(shù)據(jù)包包括第 二MAC地址,其中, 第一服務(wù)器將所述TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器;以及 第二服務(wù)器接收所述第一 MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答包,其中,所述第一服務(wù) 器與所述第二服務(wù)器為不同的服務(wù)器,所述第二MAC地址為所述第二服務(wù)器的MAC地址。
3. 根據(jù)權(quán)利要求1所述的端口狀態(tài)識別方法,其特征在于,將所述TCP-SYN數(shù)據(jù)包發(fā)送 至所述第一 MAC地址對應(yīng)的服務(wù)器包括: 開啟數(shù)據(jù)包發(fā)送線程,所述數(shù)據(jù)包發(fā)送線程用于數(shù)據(jù)包的地址噴射發(fā)送; 基于所述數(shù)據(jù)包發(fā)送線程調(diào)用WinPcap插件;以及 通過所述WinPcap插件將所述TCP-SYN數(shù)據(jù)包至所述第一 MAC地址對應(yīng)的服務(wù)器。
4. 根據(jù)權(quán)利要求1所述的端口狀態(tài)識別方法,其特征在于,所述TCP-SYN數(shù)據(jù)包還包 括:第一 IP地址、第二MAC地址和第二IP地址,其中,第一 IP地址為所述被識別的服務(wù)器 的,所述第二MAC地址為用于接收所述應(yīng)答包的服務(wù)器的MAC地址,所述第二IP地址為用 于接收所述應(yīng)答包的服務(wù)器的IP地址,在獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包之前,所述端口 狀態(tài)識別方法還包括: 獲取所述第一 IP地址、所述第二MAC地址、所述第二IP地址和所述服務(wù)端口參數(shù); 獲取所述第一 MAC地址;以及 將所述第一 IP地址、所述第二MAC地址、所述第二IP地址、所述服務(wù)端口參數(shù)和所述 第一 MAC地址作為形式參數(shù)構(gòu)建所述TCP-SYN數(shù)據(jù)包。
5. 根據(jù)權(quán)利要求4所述的端口狀態(tài)識別方法,其特征在于,獲取所述第一 MAC地址包 括: 將所述第一 IP地址、所述第二MAC地址和所述第二IP地址作為形式參數(shù)構(gòu)建ARP數(shù) 據(jù)包; 將所述ARP數(shù)據(jù)包發(fā)送至所述第一 IP地址對應(yīng)的服務(wù)器,其中,所述第一 IP地址對應(yīng) 的服務(wù)器在接收到所述ARP數(shù)據(jù)包后返回地址應(yīng)答包,所述地址應(yīng)答包為包含有所述第一 MAC地址的信息的應(yīng)答包;以及 從所述地址應(yīng)答包中解析得到所述第一 MAC地址。
6. -種端口狀態(tài)識別裝置,其特征在于,包括: 第一獲取單元,用于獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,所述TCP-SYN數(shù)據(jù)包包括第一 MAC地址和服務(wù)端口參數(shù),其中,所述第一 MAC地址為被識別的服務(wù)器的MAC地址,所述服務(wù) 端口參數(shù)為所述被識別的服務(wù)器的服務(wù)端口對應(yīng)的參數(shù); 發(fā)送單元,用于將所述TCP-SYN數(shù)據(jù)包發(fā)送至所述第一 MAC地址對應(yīng)的服務(wù)器,其中, 所述第一 MAC地址對應(yīng)的服務(wù)器接收到所述TCP-SYN數(shù)據(jù)包后返回應(yīng)答包,所述應(yīng)答包包 括用于反映所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息; 接收單元,用于接收所述第一 MAC地址對應(yīng)的服務(wù)器返回的應(yīng)答包;以及 解析單元,用于對所述應(yīng)答包進行解析得到所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。
7. 根據(jù)權(quán)利要求6所述的端口狀態(tài)識別裝置,其特征在于,所述TCP-SYN數(shù)據(jù)包包括第 二MAC地址,其中, 所述發(fā)送單元包括:第一發(fā)送模塊,用于使得第一服務(wù)器將所述TCP-SYN數(shù)據(jù)包發(fā)送 至所述第一 MAC地址對應(yīng)的服務(wù)器, 所述接收單元包括:接收模塊,用于使得第二服務(wù)器接收所述第一 MAC地址對應(yīng)的服 務(wù)器返回的應(yīng)答包,其中,所述第一服務(wù)器與所述第二服務(wù)器為不同的服務(wù)器,所述第二 MAC地址為所述第二服務(wù)器的MAC地址。
8. 根據(jù)權(quán)利要求6所述的端口狀態(tài)識別裝置,其特征在于,所述發(fā)送單元包括: 開啟模塊,用于開啟數(shù)據(jù)包發(fā)送線程,所述數(shù)據(jù)包發(fā)送線程用于數(shù)據(jù)包的地址噴射發(fā) 送; 調(diào)用模塊,用于基于所述數(shù)據(jù)包發(fā)送線程調(diào)用WinPcap插件;以及 第二發(fā)送模塊,用于通過所述WinPcap插件將所述TCP-SYN數(shù)據(jù)包至所述第一 MAC地 址對應(yīng)的服務(wù)器。
9. 根據(jù)權(quán)利要求6所述的端口狀態(tài)識別裝置,其特征在于,所述TCP-SYN數(shù)據(jù)包還包 括:第一 IP地址、第二MAC地址和第二IP地址,其中,第一 IP地址為所述被識別的服務(wù)器 的,所述第二MAC地址為用于接收所述應(yīng)答包的服務(wù)器的MAC地址,所述第二IP地址為用 于接收所述應(yīng)答包的服務(wù)器的IP地址,所述端口狀態(tài)識別裝置還包括: 第二獲取單元,用于在獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包之前,獲取所述第一 IP地址、所 述第二MAC地址、所述第二IP地址和所述服務(wù)端口參數(shù); 第三獲取單元,用于獲取所述第一 MAC地址;以及 建立單元,用于將所述第一 IP地址、所述第二MAC地址、所述第二IP地址、所述服務(wù)端 口參數(shù)和所述第一 MAC地址作為形式參數(shù)構(gòu)建所述TCP-SYN數(shù)據(jù)包。
10. 根據(jù)權(quán)利要求9所述的端口狀態(tài)識別裝置,其特征在于,所述第三獲取單元包括: 建立模塊,用于將所述第一 IP地址、所述第二MAC地址和所述第二IP地址作為形式參 數(shù)構(gòu)建ARP數(shù)據(jù)包; 第三發(fā)送模塊,用于將所述ARP數(shù)據(jù)包發(fā)送至所述第一 IP地址對應(yīng)的服務(wù)器,其中,所 述第一 IP地址對應(yīng)的服務(wù)器在接收到所述ARP數(shù)據(jù)包后返回地址應(yīng)答包,所述地址應(yīng)答包 為包含有所述第一 MAC地址的信息的應(yīng)答包;以及 解析模塊,用于從所述地址應(yīng)答包中解析得到所述第一 MAC地址。
11. 一種端口狀態(tài)識別系統(tǒng),其特征在于,包括:第一識別器、第二識別器和被識別的 服務(wù)器,所述第一識別器與所述第二識別器為不同的服務(wù)器,其中, 所述第一識別器用于獲取預(yù)先構(gòu)建的TCP-SYN數(shù)據(jù)包,并發(fā)送所述TCP-SYN數(shù)據(jù)包至 被識別的服務(wù)器,其中,所述TCP-SYN數(shù)據(jù)包包括第一 MAC地址和服務(wù)端口參數(shù),其中,所述 第一 MAC地址為所述被識別的服務(wù)器的MAC地址,所述服務(wù)端口參數(shù)為所述被識別的服務(wù) 器的服務(wù)端口對應(yīng)的參數(shù); 所述被識別的服務(wù)器用于接收所述TCP-SYN數(shù)據(jù)包,并返回應(yīng)答包給所述第二識別 器,所述應(yīng)答包包括用于反映所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)的信息;以及 所述第二識別器用于接收所述被識別的服務(wù)器返回的應(yīng)答包,并對所述返回的應(yīng)答包 進行解析得到所述服務(wù)端口參數(shù)對應(yīng)的服務(wù)端口狀態(tài)。
【文檔編號】H04L29/06GK104113553SQ201410367580
【公開日】2014年10月22日 申請日期:2014年7月29日 優(yōu)先權(quán)日:2014年7月29日
【發(fā)明者】沈龍, 常月, 朱震 申請人:網(wǎng)神信息技術(shù)(北京)股份有限公司, 網(wǎng)神科技(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
丹巴县| 赤壁市| 禹城市| 白玉县| 朝阳市| 临沂市| 汽车| 靖安县| 尚志市| 平罗县| 朝阳市| 嘉兴市| 禄劝| 资阳市| 慈溪市| 楚雄市| 军事| 临安市| 日照市| 巍山| 乐至县| 图木舒克市| 太和县| 新丰县| 平塘县| 潼关县| 罗甸县| 汕头市| 宁海县| 神木县| 阿克| 永泰县| 四会市| 山东| 桃江县| 独山县| 安远县| 乡宁县| 广宁县| 澄城县| 偃师市|