掃描工具——Nmap用法詳解

Nmap使用

Nmap是主機掃描工具,他的圖形化界面是Zenmap,分布式框架為Dnamp。

Nmap可以完成以下任務:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?主機探測? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?端口掃描

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?版本檢測

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?系統檢測

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?支持探測腳本的編寫

? Nmap在實際中應用場合如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通過對設備或者防火墻的探測來審計它的安全性

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?探測目標主機所開放的端口

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?通過識別新的服務器審計網絡的安全性

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??探測網絡上的主機

端口掃描工具,即借助工具,試圖了解所掃描IP提供的計算機網絡服務類型(網絡服務均與端口號相關),從而發現攻擊弱點,常見服務對應端口號:

服務端???????????????端口號

HTTP? ? ? ? ? ? ? ? ??80

HTTPS? ? ? ? ? ? ? ? 443

Telnet? ? ? ? ? ? ? ? ? ?23

FTP? ? ? ? ? ? ? ? ? ? ? 21

SSH(安全登錄)、SCP(文件傳輸)、端口重定向????????????????22

SMTP????????????????25

POP3????????????????110

WebLogic????????????????7001

TOMCAT????????????????8080

WIN2003遠程登錄????????????????3389

Oracle數據庫????????????????1521

MS SQL* SEVER數據庫sever????????????????1433

MySQL 數據庫sever????????????????3306

Nmap進行完整全面的掃描

nmap –T4 –A –v

其中-A選項用于使用進攻性(Aggressive)方式掃描;-T4指定掃描過程使用的時序(Timing),總有6個級別(0-5),級別越高,掃描速度越快,但也容易被防火墻或IDS檢測并屏蔽掉,在網絡通訊狀況良好的情況推薦使用T4;-v表示顯示冗余(verbosity)信息,在掃描過程中顯示掃描的細節,從而讓用戶了解當前的掃描狀態。


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

-sL: List Scan 列表掃描,僅將指定的目標的IP列舉出來,不進行主機發現。

-sn: Ping Scan 只進行主機發現,不進行端口掃描。

-Pn: 將所有指定的主機視作開啟的,跳過主機發現的過程。

-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式進行發現。

-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 請求包發現主機。-PO[protocollist]: 使用IP協議包探測對方主機是否開啟。

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

--dns-servers <serv1[,serv2],...>: 指定DNS服務器。

--system-dns: 指定使用系統的DNS服務器

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

Nmap用于端口掃描的一些用法

1、掃描方式選項

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

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

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

--scanflags <flags>: 定制TCP包的flags。

-sI <zombiehost[:probeport]>: 指定使用idle scan方式來掃描目標主機(前提需要找到合適的zombie host)

-sY/sZ: 使用SCTP INIT/COOKIE-ECHO來掃描SCTP協議端口的開放的情況。

-sO: 使用IP protocol 掃描確定目標機支持的協議類型。

-b <FTP relay host>: 使用FTP bounce scan掃描方式

2、 端口參數與掃描順序

[plain] view plain copy

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

實例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP協議、U代表UDP協議、S代表SCTP協議)

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

-r: 不進行端口隨機打亂的操作(如無該參數,nmap會將要掃描的端口以隨機順序方式掃描,以讓nmap的掃描不易被對方防火墻檢測到)。

--top-ports <number>:掃描開放概率最高的number個端口(nmap的作者曾經做過大規模地互聯網掃描,以此統計出網絡上各種端口可能開放的概率。以此排列出最有可能開放端口的列表,具體可以參見文件:nmap-services。默認情況下,nmap會掃描最有可能的1000個TCP端口)

--port-ratio <ratio>: 掃描指定頻率以上的端口。與上述--top-ports類似,這里以概率作為參數,讓概率大于--port-ratio的端口才被掃描。顯然參數必須在在0到1之間,具體范圍概率情況可以查看nmap-services文件。

3、 版本偵測的用法

版本偵測方面的命令行選項比較簡單。

[plain] view plain copy

-sV: 指定讓Nmap進行版本偵測

--version-intensity <level>: 指定版本偵測強度(0-9),默認為7。數值越高,探測出的服務越準確,但是運行時間會比較長。

--version-light: 指定使用輕量偵測方式 (intensity 2)

--version-all: 嘗試使用所有的probes進行偵測 (intensity 9)

--version-trace: 顯示出詳細的版本偵測過程信息。

具體操作演示如下

1、用Nmap掃描特定IP地址


2、用-vv對結果進行詳細輸出


3、自行設置端口范圍進行掃描


4、指定端口號進行掃描


5、對目標進行Ping掃描

格式:namp -sP <target ip>


6、路由跟蹤

nmap -traceroute <target ip>


7、掃描一個段的主機在線狀況

nmap -sP <network address > </CIDR>


8、操作系統探測

nmap -O <target ip>


9、萬能開關掃描

nmap -A <target ip>


10、其他掃描方式

SYN掃描:利用基本的SYN掃描方式測試其端口開放狀態

namp -sS -T4 <target ip>

FIN掃描:利用FIN掃描方式探測防火墻狀態。FIN掃描方式用于識別端口是否關閉,收到RST回復說明該端口關閉,否則說明是open或filtered狀態

namp -sF -T4 <target ip>

ACK掃描:利用ACK掃描判斷端口是否被過濾。針對ACK探測包,為被過濾的端口(無論打開或關閉)會回復RST包

namp -sA -T4 <target ip>

掃描前不進行Ping掃描測試

nmap -Pn <target ip>

如果有一個ip地址列表,將這個保存為一個txt文件,和nmap在同意目錄下,掃描這個txt的所有主機,命令為

nmap -iL target.txt

版本檢測掃描

nmap -sV <target ip>


Nmap的幫助文檔



?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容