天天看點

Nmap詳解及常用指令

1.主機探測

即主機發現(Host Discovery),用于發現目标主機是否線上(Alive,處于開啟狀态)。主機發現發現的原理與Ping指令類似,發送探測包到目标主機,如果收到回複,那麼說明目标主機是開啟的。

Nmap用于主機發現的一些用法:

-sL: List Scan (清單掃描),僅将指定的目标的IP列舉出來,不進行主機發現。  
  
-sn: Ping Scan (Ping掃描),隻進行主機發現,不進行端口掃描。  
  
-Pn: 将所有指定的主機視作開啟的,跳過主機發現的過程。  

-n/-R: -n表示不進行DNS解析;-R表示總是進行DNS解析。  

--traceroute: 追蹤每個路由節點

           

2.端口掃描

端口掃描是Nmap最基本最核心的功能,用于探測目标主機所開放的端口。

-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK的方式來對目标主機進行掃描。

	-sU: 指定使用UDP掃描方式确定目标主機的UDP端口狀況。

	-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密掃描方式來協助探測對方的TCP端口狀态。

	-p <port ranges>: 掃描指定的端口

	-F: 快速模式,僅掃描TOP 100的端口

	-iL  檔案目錄\1.txt: 掃描主機清單1.txt中的所有目标位址
	
	-sP 192.168.0.100/24: 掃描目标位址所在C段的線上狀态

	-sF -T4 192.168.0.100:  FIN掃描,用于識别端口是否關閉,收到RST回複說明端口關閉,詳見下表

           

使用-sT參數可以更真實模拟TCP的三次握手請求,一般用時會更大些。而-sU則比較少用,而且跟linux核心有些不同,很多時候會等待很長時間。

端口的6種狀态:

狀态 含義
open 開放的,表示應用程式正在監聽該端口的連接配接,外部可以通路
filtered 被過濾的,表示端口被防火牆或其他裝置阻止,不能通路
closed 關閉的,表示目标主機未開啟改端口
unfiltered 未被過濾的,無法确定所處狀态
open/filtered 開放的或被過濾的,Nmap不能識别
closed/filrered 關閉的或被過濾的,Nmap不能識别

常見服務對應端口号:

服務 端口号
HTTP 80
HTTPS 443
FTP 21
TOMCAT 8080
遠端登入 3389
MySQL 3306
Oracle資料庫 1521
WebLogic 7001

3.版本檢測

-sV:指定讓Nmap驚醒版本檢測

-version-intensity <level>:指定版本檢測的強度(0-9),預設為7

-version-trace:顯示出詳細的版本偵測過程資訊
           

其他選項:

-A 同時打開作業系統指紋和版本檢測

-v 顯示備援,表示詳細輸出掃描情況

-T4:表示制定掃描過程使用的時序,共6個級别(0-5),等級越高,掃描越快,越容易被防火牆檢測

一次比較完整的Nmap掃描

namp -T4 -A -v  ip