麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

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

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

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

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


【發(fā)明內容】

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

【專利附圖】

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

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

【權利要求】
1. 一種端口狀態(tài)識別方法,其特征在于,包括: 獲取預先構建的TCP-SYN數據包,所述TCP-SYN數據包包括第一 MAC地址和服務端口 參數,其中,所述第一 MAC地址為被識別的服務器的MAC地址,所述服務端口參數為所述被 識別的服務器的服務端口對應的參數; 將所述TCP-SYN數據包發(fā)送至所述第一 MAC地址對應的服務器,其中,所述第一 MAC地 址對應的服務器接收到所述TCP-SYN數據包后返回應答包,所述應答包包括用于反映所述 服務端口參數對應的服務端口狀態(tài)的信息; 接收所述第一 MAC地址對應的服務器返回的應答包;以及 對所述返回的應答包進行解析得到所述服務端口參數對應的服務端口狀態(tài)。
2. 根據權利要求1所述的端口狀態(tài)識別方法,其特征在于,所述TCP-SYN數據包包括第 二MAC地址,其中, 第一服務器將所述TCP-SYN數據包發(fā)送至所述第一 MAC地址對應的服務器;以及 第二服務器接收所述第一 MAC地址對應的服務器返回的應答包,其中,所述第一服務 器與所述第二服務器為不同的服務器,所述第二MAC地址為所述第二服務器的MAC地址。
3. 根據權利要求1所述的端口狀態(tài)識別方法,其特征在于,將所述TCP-SYN數據包發(fā)送 至所述第一 MAC地址對應的服務器包括: 開啟數據包發(fā)送線程,所述數據包發(fā)送線程用于數據包的地址噴射發(fā)送; 基于所述數據包發(fā)送線程調用WinPcap插件;以及 通過所述WinPcap插件將所述TCP-SYN數據包至所述第一 MAC地址對應的服務器。
4. 根據權利要求1所述的端口狀態(tài)識別方法,其特征在于,所述TCP-SYN數據包還包 括:第一 IP地址、第二MAC地址和第二IP地址,其中,第一 IP地址為所述被識別的服務器 的,所述第二MAC地址為用于接收所述應答包的服務器的MAC地址,所述第二IP地址為用 于接收所述應答包的服務器的IP地址,在獲取預先構建的TCP-SYN數據包之前,所述端口 狀態(tài)識別方法還包括: 獲取所述第一 IP地址、所述第二MAC地址、所述第二IP地址和所述服務端口參數; 獲取所述第一 MAC地址;以及 將所述第一 IP地址、所述第二MAC地址、所述第二IP地址、所述服務端口參數和所述 第一 MAC地址作為形式參數構建所述TCP-SYN數據包。
5. 根據權利要求4所述的端口狀態(tài)識別方法,其特征在于,獲取所述第一 MAC地址包 括: 將所述第一 IP地址、所述第二MAC地址和所述第二IP地址作為形式參數構建ARP數 據包; 將所述ARP數據包發(fā)送至所述第一 IP地址對應的服務器,其中,所述第一 IP地址對應 的服務器在接收到所述ARP數據包后返回地址應答包,所述地址應答包為包含有所述第一 MAC地址的信息的應答包;以及 從所述地址應答包中解析得到所述第一 MAC地址。
6. -種端口狀態(tài)識別裝置,其特征在于,包括: 第一獲取單元,用于獲取預先構建的TCP-SYN數據包,所述TCP-SYN數據包包括第一 MAC地址和服務端口參數,其中,所述第一 MAC地址為被識別的服務器的MAC地址,所述服務 端口參數為所述被識別的服務器的服務端口對應的參數; 發(fā)送單元,用于將所述TCP-SYN數據包發(fā)送至所述第一 MAC地址對應的服務器,其中, 所述第一 MAC地址對應的服務器接收到所述TCP-SYN數據包后返回應答包,所述應答包包 括用于反映所述服務端口參數對應的服務端口狀態(tài)的信息; 接收單元,用于接收所述第一 MAC地址對應的服務器返回的應答包;以及 解析單元,用于對所述應答包進行解析得到所述服務端口參數對應的服務端口狀態(tài)。
7. 根據權利要求6所述的端口狀態(tài)識別裝置,其特征在于,所述TCP-SYN數據包包括第 二MAC地址,其中, 所述發(fā)送單元包括:第一發(fā)送模塊,用于使得第一服務器將所述TCP-SYN數據包發(fā)送 至所述第一 MAC地址對應的服務器, 所述接收單元包括:接收模塊,用于使得第二服務器接收所述第一 MAC地址對應的服 務器返回的應答包,其中,所述第一服務器與所述第二服務器為不同的服務器,所述第二 MAC地址為所述第二服務器的MAC地址。
8. 根據權利要求6所述的端口狀態(tài)識別裝置,其特征在于,所述發(fā)送單元包括: 開啟模塊,用于開啟數據包發(fā)送線程,所述數據包發(fā)送線程用于數據包的地址噴射發(fā) 送; 調用模塊,用于基于所述數據包發(fā)送線程調用WinPcap插件;以及 第二發(fā)送模塊,用于通過所述WinPcap插件將所述TCP-SYN數據包至所述第一 MAC地 址對應的服務器。
9. 根據權利要求6所述的端口狀態(tài)識別裝置,其特征在于,所述TCP-SYN數據包還包 括:第一 IP地址、第二MAC地址和第二IP地址,其中,第一 IP地址為所述被識別的服務器 的,所述第二MAC地址為用于接收所述應答包的服務器的MAC地址,所述第二IP地址為用 于接收所述應答包的服務器的IP地址,所述端口狀態(tài)識別裝置還包括: 第二獲取單元,用于在獲取預先構建的TCP-SYN數據包之前,獲取所述第一 IP地址、所 述第二MAC地址、所述第二IP地址和所述服務端口參數; 第三獲取單元,用于獲取所述第一 MAC地址;以及 建立單元,用于將所述第一 IP地址、所述第二MAC地址、所述第二IP地址、所述服務端 口參數和所述第一 MAC地址作為形式參數構建所述TCP-SYN數據包。
10. 根據權利要求9所述的端口狀態(tài)識別裝置,其特征在于,所述第三獲取單元包括: 建立模塊,用于將所述第一 IP地址、所述第二MAC地址和所述第二IP地址作為形式參 數構建ARP數據包; 第三發(fā)送模塊,用于將所述ARP數據包發(fā)送至所述第一 IP地址對應的服務器,其中,所 述第一 IP地址對應的服務器在接收到所述ARP數據包后返回地址應答包,所述地址應答包 為包含有所述第一 MAC地址的信息的應答包;以及 解析模塊,用于從所述地址應答包中解析得到所述第一 MAC地址。
11. 一種端口狀態(tài)識別系統(tǒng),其特征在于,包括:第一識別器、第二識別器和被識別的 服務器,所述第一識別器與所述第二識別器為不同的服務器,其中, 所述第一識別器用于獲取預先構建的TCP-SYN數據包,并發(fā)送所述TCP-SYN數據包至 被識別的服務器,其中,所述TCP-SYN數據包包括第一 MAC地址和服務端口參數,其中,所述 第一 MAC地址為所述被識別的服務器的MAC地址,所述服務端口參數為所述被識別的服務 器的服務端口對應的參數; 所述被識別的服務器用于接收所述TCP-SYN數據包,并返回應答包給所述第二識別 器,所述應答包包括用于反映所述服務端口參數對應的服務端口狀態(tài)的信息;以及 所述第二識別器用于接收所述被識別的服務器返回的應答包,并對所述返回的應答包 進行解析得到所述服務端口參數對應的服務端口狀態(tài)。
【文檔編號】H04L29/06GK104113553SQ201410367580
【公開日】2014年10月22日 申請日期:2014年7月29日 優(yōu)先權日:2014年7月29日
【發(fā)明者】沈龍, 常月, 朱震 申請人:網神信息技術(北京)股份有限公司, 網神科技(北京)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 乳山市| 武胜县| 石狮市| 台中市| 霍城县| 张家川| 建瓯市| 克山县| 望城县| 黑水县| 台东县| 建阳市| 镇赉县| 合作市| 阜宁县| 伊宁市| 达拉特旗| 临澧县| 平塘县| 两当县| 黔东| 五原县| 昆山市| 长泰县| 吉林省| 甘南县| 五常市| 南昌县| 龙海市| 平山县| 沙河市| 教育| 融水| 板桥市| 华亭县| 景泰县| 荃湾区| 舒城县| 库伦旗| 陵水| 鹤峰县|