利用Nmap實現(xiàn)快速的網(wǎng)絡發(fā)現(xiàn)與管理_第1頁
利用Nmap實現(xiàn)快速的網(wǎng)絡發(fā)現(xiàn)與管理_第2頁
利用Nmap實現(xiàn)快速的網(wǎng)絡發(fā)現(xiàn)與管理_第3頁
利用Nmap實現(xiàn)快速的網(wǎng)絡發(fā)現(xiàn)與管理_第4頁
利用Nmap實現(xiàn)快速的網(wǎng)絡發(fā)現(xiàn)與管理_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、利用 Nmap 實現(xiàn)快速的網(wǎng)絡發(fā)現(xiàn)與管理快速并準確掌握網(wǎng)絡中主機、網(wǎng)絡設備及運行的網(wǎng)絡服務信息是管理大型網(wǎng)絡的基礎,傳統(tǒng)基于預定義端口的掃描或者基于 SLP 協(xié)議的發(fā)現(xiàn)機制,很少考慮到實際的網(wǎng)絡環(huán)境,網(wǎng)絡發(fā)現(xiàn)的效率和可偵測的主機或服務類型都非常有限。Nmap 軟件可以有效地克服這些問題,幫助網(wǎng)絡管理員實現(xiàn)高效率的日常工作,如查看整個網(wǎng)絡的庫存信息、管理服務升級計劃,以及監(jiān)視主機和服務的運行情況。值得注意的是,在使用 Nmap 軟件之前,需要確認該軟件符合公司網(wǎng)絡安全管理規(guī)定,且用于合法的用途;否則,請不要使用。本文主要從六個方面介紹 Nmap 在網(wǎng)絡發(fā)現(xiàn)中的應用: Nmap 實現(xiàn)網(wǎng)絡發(fā)現(xiàn)的基本

2、原理 主機發(fā)現(xiàn) 服務與相關(guān)端口的偵測 操作系統(tǒng)的偵測 Nmap 腳本引擎 庫存信息的輸出與圖形化工具 ZenmapNmap 實現(xiàn)網(wǎng)絡發(fā)現(xiàn)的基本原理Nmap 使用 TCP/IP 協(xié)議棧指紋來準確地判斷出目標主機的操作類型。首先,Nmap 通過對目標主機進行端口掃描,找出正在目標主機上監(jiān)聽的端口;然后,Nmap 對目標主機進行一系列的測試,利用響應結(jié)果建立相應目標主機的 Nmap 指紋;最后,將此指紋與指紋庫中的指紋進行查找匹配,從而得出目標主機類型、操作系統(tǒng)類型、版本以及運行服務等相關(guān)信息。由 Nmap 精心構(gòu)造并發(fā)送到主機的探測包是實現(xiàn)網(wǎng)絡發(fā)現(xiàn)的關(guān)鍵,Nmap 根據(jù)不同的探測包將測試分為以下幾

3、種類型。(1) Sequence generation (SEQ, OPS, WIN, and T1)該測試由六個 TCP 包的序列組成,包之間的時間間隔是 100 毫秒。每次探測會發(fā)送一個 TCP SYN 數(shù)據(jù)包到遠程主機開放的 TCP 端口上。這些測試的結(jié)果將會包含四行類型行,第一行是 SEQ,包含探測包的序列分析結(jié)果;第二行是 OPS,包含每個探測包的 TCP 選項;第三行是 WIN,包含探測響應的 TCP window size;最后一行是 T1,包含序列中第一個包的測試值。(2) ICMP echo (IE)該測試將會連續(xù)發(fā)送兩個 ICMP echo 請求包給目標主機,兩次探測的結(jié)果

4、將被合并一起,以便后續(xù)響應測試處理。(3) TCP explicit congestion notification (ECN)該測試主要探測目標 TCP 棧對顯式擁塞通知(ECN)的支持。ECN 是一種允許路由器提前告知數(shù)據(jù)包丟失問題從而提升網(wǎng)絡性能的方法。Nmap 通過發(fā)送一個 TCP SYN 包并設置其 ECN CWR 和 ECE 擁塞控制標簽來達到檢測目的的。(4) TCP (T2 T7)T2 到 T7 這六個測試都是發(fā)送一個 TCP 探測包,其具體描述如下: T2 發(fā)送一個空的 TCP 數(shù)據(jù)包(無 Flag 設置)到一個開放的端口上; T3 發(fā)送一個 TCP 數(shù)據(jù)包(Flag=SYN

5、,F(xiàn)IN,URG,PSH)到一個開放的端口上; T4 發(fā)送一個 TCP ACK 數(shù)據(jù)包到一個開放的端口上; T5 發(fā)送一個 TCP SYN 數(shù)據(jù)包到一個關(guān)閉的端口上; T6 發(fā)送一個 TCP ACK 數(shù)據(jù)包到一個關(guān)閉的端口上; T7 發(fā)送一個 TCP 數(shù)據(jù)包(Flag=FIN,PSH,URG)到一個關(guān)閉的端口上。(5) UDP (U1)該測試是發(fā)送一個 UDP 數(shù)據(jù)包到一個關(guān)閉的端口上,如果端口確實關(guān)閉且沒有防火墻阻攔的情況下,Nmap 將會收到一個 ICMP 端口不可到達的消息。Nmap 通過以上這些探測的組合,獲取響應結(jié)果并做一系列標準的測試,從而實現(xiàn)網(wǎng)絡發(fā)現(xiàn)的系列功能。主機發(fā)現(xiàn)主機發(fā)現(xiàn)(

6、Host Discovery)指確定一個 IP 地址范圍內(nèi)存在的主機,它是進行網(wǎng)絡管理的第一步。Nmap 為此提供了一系列的選項來滿足各種需求,它的功能遠遠超越了 Ping 命令發(fā)送簡單 ICMP 請求來探測主機是否在線。用戶可以通過列表掃描選項 -sL 或者禁用 Ping 選項 -Pn 跳過 Ping 的步驟,也可以使用多個端口把 TCP SYN/ACK, UDP, SCTP INIT and ICMP 探測組合起來掃描,用以確定某個 IP 地址是否活動以及對應的主機或網(wǎng)絡設備的情況。Nmap 命令的格式如下: nmap Scan Type(s) Options target specifi

7、cation命令參數(shù)分為三個部分,Scan Types 指探測類型,如 -PS 指 TCP SYN Ping,-PA 指 TCP ACK Ping,-PU 指 UDP Ping 等等;Options 指探測選項,如 -n 指不對活動的 IP 地址進行反向域名解析,用以提高掃描速度,-R 指對活動的 IP 進行反向域名解析;target specification 指探測的目標地址或 IP 地址范圍,如 01-120,指范圍在 01 到 20 內(nèi) 20 個 IP 地址。用戶可以用nmap -help獲得主機發(fā)現(xiàn)的參數(shù)說明。如果用戶

8、使用命令nmap 01-120進行默認的主機掃描,Nmap 會發(fā)送一個 ICMP echo 請求,一個 TCP SYN 包給 443 端口,一個 TCP ACK 包給 80 端口和一個 ICMP 時間戳請求,這就等價于使用命令nmap -PE -PS443 -PA80 -PP 01-120,運行之后的部分輸出結(jié)果如下所示: . Nmap scan report for WIN-ZMEXAGUBVGL (08) Host is up (0.00s latency). Not shown: 996 filtered ports PO

9、RT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 5357/tcp open unknown MAC Address: 00:0C:29:E6:2C:F3 (VMware) . Nmap scan report for 20 Host is up (0.00s latency). Not shown: 990 closed ports PORT STATE SERVICE 80/tcp open http 135/tcp open msrpc 139

10、/tcp open netbios-ssn 445/tcp open microsoft-ds 1038/tcp open unknown 1723/tcp open pptp 2522/tcp open unknown 2967/tcp open symantec-av 3389/tcp open ms-term-serv 20000/tcp open unknown MAC Address: 00:0D:60:AC:D1:85 (IBM) Nmap done: 20 IP addresses (9 hosts up) scanned in 12.42 seconds通過對上述輸出結(jié)果的分析

11、,可以知曉在一個 IP 地址段中活動的主機及其 IP 地址,主機域名,開啟的服務以及相應的端口,MAC 地址等信息,為深入的網(wǎng)絡發(fā)現(xiàn)提供了基礎數(shù)據(jù)。服務與相關(guān)端口的偵測服務和相關(guān)端口的偵測是 Nmap 的最基本功能。Nmap 能夠偵測出端口的基本狀態(tài),通過Nmap 這 個命令掃描目標主機上的超過 1660 個 TCP 端口。傳統(tǒng)情況下只列出端口的開放還是關(guān)閉狀態(tài),而 Nmap 將端口細分為六個狀 態(tài):open,closed,filtered,unfiltered,open|filtered,closed|filtered。對于 filtered( 過濾狀態(tài) ) 指的是在通向目標主機的鏈路中有包

12、過濾機制(防火墻,路由器規(guī)則或者主機上的軟件防火墻),Nmap 無法確定發(fā)送的探測報文是否到達端口的情況。unfiltered(未被過濾的)狀態(tài)意味端口可以訪問,但是不能確定是否開放或關(guān)閉,只有用于映射防火墻 規(guī)則集的 ACK 掃描才會把端口分類到這種狀態(tài)。當無法確定端口是開放還是被過濾時,Nmap 就把端口狀態(tài)設置為 open|filtered,當一個開放的端口不響應時,Nmap 的探測報文或者目標主機的響應報文被過濾,此時 Nmap 無法確定端口到底是開放還是被過濾的狀態(tài)。closed|filtered 和前者有類似的含義。Nmap 支持的端口掃描技術(shù)有十幾種,命令格式為 nmap -s(

13、C) host,C 指定端口掃描所使用的技術(shù)。大部分情況下的掃描技術(shù)通常都單獨使用,除了 UDP 掃描(-sU)可能和任何一種 TCP 掃描聯(lián)合使用。這里主要例舉下面幾種: TCP 連接掃描(-sT):使用操作系統(tǒng)的網(wǎng)絡連接系統(tǒng)調(diào)用 connect(),對目標主機發(fā)起 TCP 三路握手,待完成后 Nmap 立即中斷此次連接。Nmap 通過獲取每個嘗試連接的狀態(tài)信息來判定偵測端口的狀態(tài)。 SYN 掃描 (-sS):這是另外一種形式的 TCP 掃描,不同之處在于 Nmap 自身產(chǎn)生探測報文并且監(jiān)控目標主機返回的響應,Nmap 產(chǎn)生一個 SYN 數(shù)據(jù)報文,如果偵測端口開放并返回 SYN-ACK 響應

14、報文,Nmap 據(jù)此發(fā)送 RST 報文給偵測端口結(jié)束當前連接,這樣做的好處在于縮短了端口掃描時間。 UDP 掃描 (-sU):UDP 本身是無連接的協(xié)議,Nmap 向目標主機的端口發(fā)送 UDP 探測報文,如果端口沒有開放,被偵測主機將會發(fā)送一個 ICMP 端口不可到達的消息,Nmap 根據(jù)這個消息確定端口閉合(closed)或者被過濾 (unfiltered)。通常沒有回復意味著端口是開放(open)狀態(tài)。 ACK 掃描 (-sA):這種掃描比較特殊,它不能確切知道端口的基本狀態(tài),而是主要用來探測防火墻是否存在以及其中設定的過濾規(guī)則。 FIN 掃描 (-sF):和 SYN 掃描相比,這種方式更

15、為隱蔽,因此能夠穿過防火墻的過濾,關(guān)閉(closed)端口將會返回合適的 RST 報文,而開放端口將忽略這樣的偵測報文。具備類似防火墻不敏感特性的還有 -sN NULL 掃描,-sX X-mas 掃描。除了這些掃描選項外,還可以在命令中指定掃描端口的范圍 (-p ),方式(快速掃描有限的端口 -F),順序(不要按隨機順序掃描端口 -r),例如: nmap -sT -p 1-1000 執(zhí)行的是按照 TCP 掃描方式對 主機上端口號 1 到 1000 的端口進行偵測。對于常用端口,其對應的服務基本固定,例如 TCP 服務常常在 25/80 端口,U

16、DP 服務在 53 端口,SMTP,HTTP,DNS 等各種常用服務基本都是用公認的端口。Nmap 可以在進行端口偵測的同時對端口上對應的服務(包括服務狀態(tài),版本號)進行偵測,利用目標主機反饋的信息和已知的 nmap-services 數(shù)據(jù)庫對比(包含超過 2200 中服務)檢測出相應的服務。如: nmap -sV -F nmap -A -T4 -F -sV 開啟服務的版本偵測。-A 不僅開啟對服務的版本偵測,同時為開啟更為嚴苛的選項做準備,這里 -T4 限定了更為嚴苛的偵測時間。由于不是所有的 Nmap 偵測都會得到反饋,需要對偵測的強度進行

17、設定,在服務偵測中有三個等級: -version-intensity ,設定 0 到 9 之間的偵測強度等級; -version-light 設定等級為 2; -version-all 設定等級為 9;等級越高,偵測過程中的嘗試次數(shù)越多,識別服務的可能性就會越大。默認情況下,Nmap 版本及服務探測會跳過 9100 TCP 端口,可以通過選項 -allports 開啟偵測所有端口上的服務信息,如: nmap -sV -allports -version-light -F 指令對 主機進行服務版本偵測,偵測過程中以較低強度掃描所有端口。操作系統(tǒng)的

18、偵測在收集網(wǎng)絡庫存信息時,需要知道除了主機地址及端口服務之外更為詳細的信息,操作系統(tǒng)偵測能夠幫助人們很方便的實現(xiàn)這一目的。不同的操作系統(tǒng)以及不同版本的系統(tǒng)在 TCP/IP 協(xié)議上指紋參數(shù)的設定存在差異,Nmap 通過收集這些參數(shù)進行比對得到系統(tǒng)的類型和版本信息。這些參數(shù)包括:表 1. 參數(shù)列表參數(shù)名位長參數(shù)名位長Initial packet size16 bitsInitial TTL8 bitsWindow size16 bitsMax segment size16 bitsWindow scaling value8 bitsdont fragment flag1 bitssackOK fl

19、ag1 bitsnop flag1 bitsNmap 通過解析偵測目標在這 67 個 bit 位上返回的結(jié)果和數(shù)據(jù)庫 nmap-os-fingerprints 中已知的操作系統(tǒng)對應的指紋進行比較得到操作系統(tǒng)的分類、供應商、系統(tǒng)名稱、版本和設備類型(通用設備,路由器,交換機,游戲控制臺)等詳細信息。在 Nmap 中系統(tǒng)偵測,對應的指令選項為 -O,也可以使用 -A 來同時啟動系統(tǒng)偵測和版本偵測。另外選項 -osscan-limit 用于篩選滿足有一個打開和關(guān)閉的 TCP 端口的主機進行系統(tǒng)偵測,這樣可以加快檢測速度;選項 -osscan-guess 和 -fuzzy 在 Nmap 無法確定所檢測

20、的系統(tǒng)時,會盡可能提供最近的匹配,這也是 Nmap 的默認選項,如 nmap -O -osscan-guess IBM-R86M1BP指令偵測目標主機 的系統(tǒng)屬性,偵測得到的關(guān)于系統(tǒng)的參數(shù)主要有設備類型 (device type),系統(tǒng)名稱 (running),系統(tǒng)的版本細節(jié) (OS details),上述指令得到的結(jié)果如下: . Device type: general purpose Running: Microsoft Windows XP OS details: Microsoft Windows XP SP2 or SP3, or Windows Serve

21、r 2003 Network Distance: 1 hop其中 Network distance 為 1 表明待測試主機和發(fā)動測試的 nmap 客戶端在同一個以太網(wǎng)內(nèi)。使用 -v 選項還能開啟顯示更多系統(tǒng)的詳細信息,包括主機系統(tǒng)的啟動時長估計 (Uptime guess),TCP 序號預測 (TCP Sequence Prediction) 等信息。Nmap 腳本引擎Nmap Scripting Engine(NSE) 是 Nmap 非常重要的特性,它允許用戶使用 Lua 語言編寫簡單的腳本程序來實現(xiàn)各種網(wǎng)絡管理任務的自動化運行。目前 Nmap 已提供超過 150 個腳本,您可以在這里查看和

22、下載這些腳本,或者在本地 Nmap 安裝目錄下的 scripts 目錄中查看這些腳本,或者編寫 Lua 程序定制腳本。NSE 的執(zhí)行非常簡單,以nmap -script http-auth.nse target命令為例,-script 參數(shù)后面跟的是需要執(zhí)行的腳本名。如果將 script 替換為 -sC,表明執(zhí)行 default category 中的所有腳本。圖 1. NSE 執(zhí)行流程NSE 執(zhí)行流程如圖 1所 示。首先 Nmap 掃描 target,將掃描到的信息,如 name, ip, port 狀態(tài)等信息收集起來;http-auth.nse 中的 portrule 觸發(fā) action 方法,host,port 信息被作為參數(shù)傳入到 action 方法中;http-auth.nse 的 action 方法進行更進一步的掃描,將 target 的 http server 的用戶名和密碼返回。庫存信息輸出與圖形化工具 ZenmapNmap 支持多種輸出格式:1)Interactive Output,直接輸出到控制臺上,不需要特殊的輸出命令;2)Normal Output, 基本和 Interactive Output 一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論