Nmap使用教程
一般情況下,Nmap用于列舉網(wǎng)絡(luò)主機清單、管理服務(wù)升級調(diào)度、監(jiān)控主機或服務(wù)運行狀況。Nmap可以檢測目標機是否在線、端口開放情況、偵測運行的服務(wù)類型及版本信息、偵測操作系統(tǒng)與設(shè)備類型等信息。
功能:主機探測:探測網(wǎng)絡(luò)上的主機,例如列出響應(yīng)TCP和ICMP請求、icmp請求、開放特別端口的主機。 端口掃描:探測目標主機所開放的端口。 版本檢測:探測目標主機的網(wǎng)絡(luò)服務(wù),判斷其服務(wù)名稱及版本號。 系統(tǒng)檢測:探測目標主機的操作系統(tǒng)及網(wǎng)絡(luò)設(shè)備的硬件特性。 支持探測腳本的編寫:使用Nmap的腳本引擎(NSE)和Lua編程語言。主機發(fā)現(xiàn)原理:Nmap支持十多種不同的主機探測方式,比如發(fā)送ICMP ECHO/TIMESTAMP/NETMASK報文、發(fā)送TCPSYN/ACK包、發(fā)送SCTP INIT/COOKIE-ECHO包默認情況下,Nmap會發(fā)送四種不同類型的數(shù)據(jù)包來探測目標主機是否在線。
1. ICMP echo request
2. a TCP SYN packet to port 443
3. a TCP ACK packet to port 80
4. an ICMP timestamp request
依次發(fā)送四個報文探測目標機是否開啟。只要收到其中一個包的回復(fù),那就證明目標機開啟。使用四種不同類型的數(shù)據(jù)包可以避免因防火墻或丟包造成的判斷錯誤。
一、主機探測:
命令參數(shù)
-sL: List Scan 列表掃描,僅將指定的目標的IP列舉出來,不進行主機發(fā)現(xiàn)。
-sn: Ping Scan 只進行主機發(fā)現(xiàn),不進行端口掃描。
-Pn: 將所有指定的主機視作開啟的,跳過主機發(fā)現(xiàn)的過程。
-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式進行發(fā)現(xiàn)。
-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 請求包發(fā)現(xiàn)主機。-PO[protocollist]: 使用IP協(xié)議包探測對方主機是否開啟。
-n/-R: -n表示不進行DNS解析;-R表示總是進行DNS解析。
--dns-servers <serv1[,serv2],...>: 指定DNS服務(wù)器。
--system-dns: 指定使用系統(tǒng)的DNS服務(wù)器
--traceroute: 追蹤每個路由節(jié)點
例:
1.nmap ip/域名
針對ip地址或者域名進行掃描,確定主機在線情況及其端口的具體情況
以下為掃描www.hnu.cn的端口情況
2.全面掃描
nmap -T4 -A -v ip/域名
-A選項用于使用進攻性(Aggressive)方式掃描;-T4指定掃描過程使用的時序(Timing),總有6個級別(0-5),級別越高,掃描速度越快,但也容易被防火墻或IDS檢測并屏蔽掉,在網(wǎng)絡(luò)通訊狀況良好的情況推薦使用T4;-v表示顯示冗余(verbosity)信息,在掃描過程中顯示掃描的細節(jié),從而讓用戶了解當前的掃描狀態(tài)。
此命令對目標主機進行全面掃描,可以得到比較全面的信息,如主機是否開機,開放的端口以及該端口運行的應(yīng)用程序、版本信息,主機設(shè)備類型,操作系統(tǒng)類型,路由路徑等
如下圖對www.hnu.cn進行全面掃描,可以發(fā)現(xiàn)其開機狀態(tài),端口協(xié)議的版本,所用的加密方式,操作系統(tǒng)為linux等信息
二、端口掃描
Nmap通過探測將端口劃分為6個狀態(tài):
open:端口是開放的。
closed:端口是關(guān)閉的。
filtered:端口被防火墻IDS/IPS屏蔽,無法確定其狀態(tài)。
unfiltered:端口沒有被屏蔽,但是否開放需要進一步確定。
open|filtered:端口是開放的或被屏蔽。
closed|filtered :端口是關(guān)閉的或被屏蔽。
端口掃描方式命令
-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式來對目標主機進行掃描。
-sU: 指定使用UDP掃描方式確定目標主機的UDP端口狀況。
-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密掃描方式來協(xié)助探測對方的TCP端口狀態(tài)。
--scanflags <flags>: 定制TCP包的flags。
-sI <zombiehost[:probeport]>: 指定使用idle scan方式來掃描目標主機(前提需要找到合適的zombie host)
-sY/sZ: 使用SCTP INIT/COOKIE-ECHO來掃描SCTP協(xié)議端口的開放的情況。
-sO: 使用IP protocol 掃描確定目標機支持的協(xié)議類型。
-b <FTP relay host>: 使用FTP bounce scan掃描方式
掃描參數(shù)
-p <port ranges>: 掃描指定的端口
實例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP協(xié)議、U代表UDP協(xié)議、S代表SCTP協(xié)議)
-F: Fast mode – 快速模式,僅掃描TOP 100的端口
-r: 不進行端口隨機打亂的操作(如無該參數(shù),nmap會將要掃描的端口以隨機順序方式掃描,以讓nmap的掃描不易被對方防火墻檢測到)。
--top-ports <number>:掃描開放概率最高的number個端口(nmap的作者曾經(jīng)做過大規(guī)模地互聯(lián)網(wǎng)掃描,以此統(tǒng)計出網(wǎng)絡(luò)上各種端口可能開放的概率。以此排列出最有可能開放端口的列表,具體可以參見文件:nmap-services。默認情況下,nmap會掃描最有可能的1000個TCP端口)
--port-ratio <ratio>: 掃描指定頻率以上的端口。與上述--top-ports類似,這里以概率作為參數(shù),讓概率大于--port-ratio的端口才被掃描。顯然參數(shù)必須在在0到1之間,具體范圍概率情況可以查看nmap-services文件。
三、版本偵測
命令參數(shù):
-sV: 指定讓Nmap進行版本偵測
--version-intensity <level>: 指定版本偵測強度(0-9),默認為7。數(shù)值越高,探測出的服務(wù)越準確,但是運行時間會比較長。
--version-light: 指定使用輕量偵測方式 (intensity 2)
--version-all: 嘗試使用所有的probes進行偵測 (intensity 9)
--version-trace: 顯示出詳細的版本偵測過程信息。
四、操作系統(tǒng)偵測命令
-O: 指定Nmap進行OS偵測。
--osscan-limit: 限制Nmap只對確定的主機的進行OS探測(至少需確知該主機分別有一個open和closed的端口)。
--osscan-guess: 大膽猜測對方的主機的系統(tǒng)類型。由此準確性會下降不少,但會盡可能多為用戶提供潛在的操作系統(tǒng)。
五、防火墻/IDS規(guī)避
命令參數(shù)
-f; --mtu <val>: 指定使用分片、指定數(shù)據(jù)包的MTU.
-D <decoy1,decoy2[,ME],...>: 用一組IP地址掩蓋真實地址,其中ME填入自己的IP地址。
-S <IP_Address>: 偽裝成其他IP地址
-e <iface>: 使用特定的網(wǎng)絡(luò)接口
-g/--source-port <portnum>: 使用指定源端口
--data-length <num>: 填充隨機數(shù)據(jù)讓數(shù)據(jù)包長度達到Num。
--ip-options <options>: 使用指定的IP選項來發(fā)送數(shù)據(jù)包。
--ttl <val>: 設(shè)置time-to-live時間。
--spoof-mac <mac address/prefix/vendor name>: 偽裝MAC地址
--badsum: 使用錯誤的checksum來發(fā)送數(shù)據(jù)包(正常情況下,該類數(shù)據(jù)包被拋棄,如果收到回復(fù),說明回復(fù)來自防火墻或IDS/IPS)。
整理自:http://www.2cto.com/Article/201210/158960.html
總結(jié)
- 上一篇: 电脑怎么传软件文件到另一个电脑电脑怎么传
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?