滲透測試工具Nmap從初級到進階使用教程)

來源:互聯網
上載者:User

本文由阿德馬翻譯自國外網站 

Nmap是一款網路掃描和主機檢測的非常有用的工具。Nmap是不局限於僅僅收集資訊和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用於winodws,linux,mac等作業系統。Nmap是一款非常強大的工具 + 生產力,可用於:
 
檢測活在網路上的主機(主機發現)
檢測主機上開放的連接埠(連接埠發現或枚舉)
檢測到相應的連接埠(服務發現)的軟體和版本
檢測作業系統,硬體地址,以及軟體版本
檢測脆弱性的漏洞(Nmap的指令碼)
Nmap是一個非常普遍的工具,它有命令列介面和圖形化使用者介面。本人包括以下方面的內容:
 
介紹Nmap
 
掃描中的重要參數
 
作業系統檢測
 
Nmap使用教程
 
Nmap使用不同的技術來執行掃描,包括:TCP的connect()掃描,TCP反向的ident掃描,FTP反彈掃描等。所有這些掃描的類型有自己的優點和缺點,我們接下來將討論這些問題。
 
Nmap的使用取決於目標主機,因為有一個簡單的(基本)掃描和預先掃描之間的差異。我們需要使用一些先進的技術來繞過防火牆和入侵檢測/防禦系統,以獲得正確的結果。下面是一些基本的命令和它們的用法的例子:
 
掃描單一的一個主機,命令如下:
 
#nmap nxadmin.com
 
#nmap 192.168.1.2
 
掃描整個子網,命令如下:
 
#nmap 192.168.1.1/24
 
掃描多個目標,命令如下:
 
#nmap 192.168.1.2 192.168.1.5
 
掃描一個範圍內的目標,如下:
 
#nmap 192.168.1.1-100 (掃描IP地址為192.168.1.1-192.168.1.100內的所有主機)
 
如果你有一個ip地址清單,將這個儲存為一個txt檔案,和namp在同一目錄下,掃描這個txt內的所有主機,命令如下:
 
#nmap -iL target.txt
 
如果你想看到你掃描的所有主機的列表,用以下命令:
 
#nmap -sL 192.168.1.1/24
 
掃描除過某一個ip外的所有子網主機,命令:
 
#nmap 192.168.1.1/24 -exclude 192.168.1.1
 
掃描除過某一個檔案中的ip外的子網主機命令
 
#nmap 192.168.1.1/24 -exclude file xxx.txt  (xxx.txt中的檔案將會從掃描的主機中排除)
 
掃描特定主機上的80,21,23連接埠,命令如下
 
#nmap -p80,21,23 192.168.1.1
 
 

 
從上面我們已經瞭解了Nmap的基礎知識,下面我們深入的探討一下Nmap的掃描技術.
 
Tcp SYN Scan (sS)
 
這是一個基本的掃描方式,它被稱為半開放掃描,因為這種技術使得Nmap不需要通過完整的握手,就能獲得遠程主機的資訊。Nmap發送SYN包到遠程主機,但是它不會產生任何會話.因此不會在目標主機上產生任何日誌記錄,因為沒有形成會話。這個就是SYN掃描的優勢.
 
如果Nmap命令中沒有指出掃描類型,預設的就是Tcp SYN.但是它需要root/administrator許可權.
 
#nmap -sS 192.168.1.1
 
Tcp connect() scan(sT)
 
如果不選擇SYN掃描,TCP connect()掃描就是預設的掃描模式.不同於Tcp SYN掃描,Tcp connect()掃描需要完成三向交握,並且要求調用系統的connect().Tcp connect()掃描技術只適用於找出TCP和UDP連接埠.
 
#nmap -sT 192.168.1.1
 
Udp scan(sU)
 
顧名思義,這種掃描技術用來尋找目標主機開啟的UDP連接埠.它不需要發送任何的SYN包,因為這種技術是針對UDP連接埠的。UDP掃描發送UDP資料包到目標主機,並等待響應,如果返回ICMP不可達的錯誤訊息,說明連接埠是關閉的,如果得到正確的適當的回應,說明連接埠是開放的.
 
#nmap -sU 192.168.1.1
 
FIN scan (sF)
 
有時候Tcp SYN掃描不是最佳的掃描模式,因為有防火牆的存在.目標主機有時候可能有IDS和IPS系統的存在,防火牆會阻止掉SYN資料包。發送一個設定了FIN標誌的資料包並不需要完成TCP的握手.
 
root@bt:~# nmap -sF 192.168.1.8
 
Starting Nmap 5.51  at 2012-07-08 19:21 PKT
 
Nmap scan report for 192.168.1.8
 
Host is up (0.000026s latency).
 
Not shown: 999 closed ports
 
PORT STATE SERVICE
 
111/tcp open|filtered rpcbind
 
FIN掃描也不會在目標主機上建立日誌(FIN掃描的優勢之一).個類型的掃描都是具有差異性的,FIN掃描發送的包只包含FIN標識,NULL掃描不發送資料包上的任何位元組,XMAS掃描發送FIN、PSH和URG標識的資料包.
 
PING Scan (sP)
 
PING掃描不同於其它的掃描方式,因為它只用於找出主機是否是存在在網路中的.它不是用來發現是否開放連接埠的.PING掃描需要ROOT許可權,如果使用者沒有ROOT許可權,PING掃描將會使用connect()調用.
 
#nmap -sP 192.168.1.1
 
版本檢測(sV)
 
版本檢測是用來掃描目標主機和連接埠上啟動並執行軟體的版本.它不同於其它的掃描技術,它不是用來掃描目標主機上開放的連接埠,不過它需要從開放的連接埠擷取資訊來判斷軟體的版本.使用版本檢測掃描之前需要先用TCP SYN掃描開放了哪些連接埠.
 
#nmap -sV 192.168.1.1
 
Idle scan (sL)
 
Idle scan是一種先進的掃描技術,它不是用你真實的主機Ip發送資料包,而是使用另外一個目標網路的主機發送資料包.
 
#nmap -sL 192.168.1.6 192.168.1.1
 
Idle scan是一種理想的匿名掃描技術,通過目標網路中的192.168.1.6向主機192.168.1.1發送資料,來擷取192.168.1.1開放的連接埠
 
有需要其它的掃描技術,如FTP bounce(FTP反彈), fragmentation scan(片段掃描), IP protocol scan(IP協議掃描),以上討論的是幾種最主要的掃描方式.
 
Nmap的OS檢測(O)
 
Nmap最重要的特點之一是能夠遠程檢測作業系統和軟體,Nmap的OS檢測技術在滲透測試中用來瞭解遠程主機的作業系統和軟體是非常有用的,通過擷取的資訊你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB資料庫,該資料庫包含超過2600作業系統的資訊。Nmap把TCP和UDP資料包發送到目標機器上,然後檢查結果和資料庫對照。
 
Initiating SYN Stealth Scan at 10:21
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 111/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)
Initiating OS detection (try #1) against localhost (127.0.0.1)
Retrying OS detection (try #2) against localhost (127.0.0.1)
 
上面的例子清楚地表明,Nmap的首次發現開放的連接埠,然後發送資料包發現遠程作業系統。作業系統檢測參數是O(大寫O)
 

 
 
Nmap的作業系統指紋識別技術:
 
裝置類型(路由器,工作群組等)
運行(啟動並執行作業系統)
作業系統的詳細資料(作業系統的名稱和版本)
網路距離(目標和攻擊者之間的距離跳)
 
如果遠程主機有防火牆,IDS和IPS系統,你可以使用-PN命令來確保不ping遠程主機,因為有時候防火牆會組織掉ping請求.-PN命令告訴Nmap不用ping遠程主機。
 
# nmap -O -PN 192.168.1.1/24
 
以上命令告訴發信主機遠程主機是存活在網路上的,所以沒有必要發送ping請求,使用-PN參數可以繞過PING命令,但是不影響主機的系統的發現.
 
Nmap的作業系統檢測的基礎是有開放和關閉的連接埠,如果OS scan無法檢測到至少一個開放或者關閉的連接埠,會返回以下錯誤: www.2cto.com
 
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
 
OS Scan的結果是不可靠的,因為沒有發現至少一個開放或者關閉的連接埠.
 
 
 

 
 
這種情況是非常不理想的,應該是遠程主機做了針對作業系統檢測的防範。如果Nmap不能檢測到遠程作業系統類型,那麼就沒有必要使用-osscan_limit檢測。
 
 
 
想好通過Nmap準確的檢測到遠程作業系統是比較困難的,需要使用到Nmap的猜測功能選項, –osscan-guess 猜測認為最接近目標的匹配作業系統類型。
 
# nmap -O --osscan-guess 192.168.1.1
 
總結
 
Nmap是一個非常強大的工具,它具有覆蓋滲透測試的第一方面的能力,其中包括資訊的收集和統計。本文從初級到進階的講解了Nmap入侵掃描工具的使用.希望對大家有所協助.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.