1.介紹
相信很多朋友在這之前已經對nmap有所了解,或者已經使用過nmap了,這裡做一下簡單的介紹。nmap(Network Mapper)最初由Gordon Fyodor Lyon于1997年建立。nmap可以用來掃描一個網絡,監控服務,列出網絡主機等等。namp還可以提供作業系統的類型、開放端口資訊,可用過namp的配置實作。
根據官網http://namp.org介紹,nmap包含衆多腳本,這些腳本的功能從猜測Apple Filing Protocol密碼到确認是否與X-servers建立連接配接等等。
Nmap家族還包括:
- ZenMap——Nmap的圖形界面版。
- Ncat——基于netcat,擴充了一些功能,如:ncat鍊、SSL支援、支援二進制等。
- Ncrack——測試已部署的認證系統和密碼強度,支援常用協定。
- Ndiff——用于網絡基線測試,對比Nmap掃描結果之間的差異。
- Nping——允許将自己構造的資料包整合在掃描過程中,并能夠對原始資料報進行操控。
2. Nmap常用掃描選項和類型
Nmap指令文法如下:
namp - {type(s)} -{opt(s)} {target}
常用選項:
掃描選項 | 名稱 | 功能 |
---|---|---|
-g | 指定源端口 | 使用特定源端口發送資料包 |
–spoofmac | Mac欺騙 | 建立虛假mac,随機化mac位址 |
-S | 源Ip位址 | 僞造源IP,或指定源IP |
-e | 選擇網口 | 選擇發送和接受資料的網口 |
-F | 快速掃描 | namp-services檔案中預設掃描減到100個端口 |
-p | 确定端口範圍 | 選擇掃描端口 |
-N | NDS解析 | 執行反向lookup |
-R | 反向lookup | 強制反向lookup |
-A | 激進型 | 啟用許多掃描選項,如版本掃描和腳本掃描(慎用) |
常用掃描類型:
掃描類型 | 名稱 | 功能 |
---|---|---|
-sA | ACK掃描 | 檢查端口是否開放,可用于探測防火牆 |
-sP | Ping掃描 | 快速發現網絡 |
-sR | PRC掃描 | 定位PRC,對成功掃描的機器記錄 |
-sS | TCP SYN掃描 | 快速和隐蔽的掃描,半開放掃描 |
-sU | UDP掃描 | 确定符合特定UDP端口是否開放 |
-sX | XMAS掃描 | 隐蔽掃描,掃描特定配置的防火牆 |
-sL | 列出掃描對象 | 列出要掃描的IP,使用-n選項確定不向網絡中發資料包 |
-sO | IP協定掃描 | 尋找使用IP協定的主機 |
-sM | FIN/ACK | 隐蔽掃描,适用于unix系統。查找RST資料包 |
-sI | 閑置掃描 | 僵屍主機掃描,非常隐蔽 |
輸出格式:
輸出格式 | 名稱 | 功能 |
---|---|---|
-oA | 所有 | 可檢索的、正常的和XML檔案 |
-oG | 可檢索的 | 可檢索格式 |
-oX | XML | XML格式 |
-oN | 正常 | 正常格式,适合人閱讀 |
3. 基本掃描
在這裡,我開始對上一篇搭建的Ubuntu虛拟主機進行基本掃描,隻進行簡單的掃描,确定那些端口是開放的,使用
-A
選項(-A 選項掃描非常易于被發現,不适合在需要隐蔽條件下使用)。
# nmap -A 192.168.50.12
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2PnVGcq5Cc0FDc2VzN5JDOvwFNyMzN1kTNtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.jpeg)
從結果看,可以判定目标主機開放了TCP的80端口,運作了Apache server 2.2.22版本,目标作業系統為Ubuntu Linux 2.6.X|3.X。 此外,-A選項啟用了traceroute指令,根據結果顯示,距離目标主機隻有一條路由。
4. 隐蔽掃描
網絡掃描的過程包括發送特殊夠早的資料包給目标主機和對傳回的結果進行基于某種标準的檢查。從掃描結果中,我們可以知道那些主機線上,運作了哪些服務以及這些服務的版本資訊等。
在一個安全的網絡中,我們有可能根據需要來對抗IDS的異常行為捕捉。發送資料包的數量和速度,流量是否異常等,防火牆一般都會标記。為減少被檢測到的機率,我們可以采取一些措施。
控制時間。
nmap控制掃描時間選項:
- -T(0~5): 控制掃描進度,避免被檢測的最簡單形式。0是最溫和的,5是最激進的,隻能在區域網路中使用。
- –max_hostgroup: 将掃描的主機數量限制在每次一個。
- –max_retries: 一般不需要修改此選項,如果是緊急情況且不在意掃描過程中可能錯過一個包含潛在漏洞的主機,可以将這個選項設為0.
- max_parallelism 10: 一次僅允許10個探測請求。
- scan_delay 兩次探測之間停頓。
嘗試幾個選項:
# nmap -P0 -n -sS --max_hostgroup 1 --max_retries 0 --max_parallelism 10 192.168.50.0/24
複制
從結果看,有兩個主機線上,其中一個主機開放了80端口。