nmap使用指南(終極版)

nmap使用指南(終極版)

原創(chuàng)2017-09-09hl0rey信安之路

一、目標(biāo)指定

1.CIDR標(biāo)志位 192.168.1.0/24

2.指定范圍 192.168.1.1-255 192.168.1-255.1(任意位置)3.IPv6地址只能用規(guī)范的IPv6地址或主機(jī)名指定。 CIDR 和八位字節(jié)范圍不支持IPv6,因?yàn)樗鼈儗?duì)于IPv6幾乎沒(méi)什么用。

-iL <文件名>

主機(jī)名或者ip地址列表列表中的項(xiàng)可以是Nmap在 命令行上接受的任何格式(IP地址,主機(jī)名,CIDR,IPv6,或者八位字節(jié)范圍)。 每一項(xiàng)必須以一個(gè)或多個(gè)空格,制表符或換行符分開(kāi)。 如果您希望Nmap從標(biāo)準(zhǔn)輸入而不是實(shí)際文件讀取列表, 您可以用一個(gè)連字符(-)作為文件名。

-iR <數(shù)量>

隨機(jī)選擇一定數(shù)量的目標(biāo)

--exclude <主機(jī)名/地址>

不包含的主機(jī)

--excludefile <文件名>

不包含的主機(jī)的列表

二、主機(jī)發(fā)現(xiàn)

1.如果沒(méi)有給出主機(jī)發(fā)現(xiàn)的選項(xiàng),Nmap 就發(fā)送一個(gè)TCP ACK報(bào)文到80端口和一個(gè)ICMP回聲請(qǐng)求到每臺(tái)目標(biāo)機(jī)器。2.一個(gè)例外是ARP掃描用于局域網(wǎng)上的任何目標(biāo)機(jī)器。對(duì)于非特權(quán)UNIX shell用戶,使用connect()系統(tǒng)調(diào)用會(huì)發(fā)送一個(gè)SYN報(bào)文而不是ACK 這些默認(rèn)行為和使用-PA -PE選項(xiàng)的效果相同。3.另外要注意的是即使您指定了其它 -P*選項(xiàng),ARP發(fā)現(xiàn)(-PR)對(duì)于局域網(wǎng)上的 目標(biāo)而言是默認(rèn)行為,因?yàn)樗偸歉旄行А?/p>

-sL(列表掃描)

列出給出目標(biāo)的具體內(nèi)容,默認(rèn)會(huì)對(duì)地址進(jìn)行反向解析,顯示主機(jī)名。

-sn(不進(jìn)行端口掃描)

與-sn一起完成的默認(rèn)主機(jī)發(fā)現(xiàn)包括一個(gè)ICMP響應(yīng)請(qǐng)求、TCP SYN到端口443、TCP ACK到端口80,以及一個(gè)ICMP的時(shí)間戳請(qǐng)求。

在以前的Nmap中,-sn被稱為-sP。-sP(Ping掃描)選項(xiàng)在默認(rèn)情況下,發(fā)送一個(gè)ICMP回聲請(qǐng)求和一個(gè)TCP報(bào)文到80端口。如果非特權(quán)用戶執(zhí)行,就發(fā)送一個(gè)SYN報(bào)文 (用connect()系統(tǒng)調(diào)用)到目標(biāo)機(jī)的80端口。 當(dāng)特權(quán)用戶掃描局域網(wǎng)上的目標(biāo)機(jī)時(shí),會(huì)發(fā)送ARP請(qǐng)求(-PR), ,除非使用了--send-ip選項(xiàng)。 -sP選項(xiàng)可以和除-P0)之外的任何發(fā)現(xiàn)探測(cè)類型-P* 選項(xiàng)結(jié)合使用以達(dá)到更大的靈活性。 一旦使用了任何探測(cè)類型和端口選項(xiàng),默認(rèn)的探測(cè)(ACK和回應(yīng)請(qǐng)求)就被覆蓋了。

-Pn(無(wú)ping)

跳過(guò)主機(jī)發(fā)現(xiàn)階段,把每個(gè)都IP當(dāng)成存活主機(jī)。

-P0 <協(xié)議號(hào)列表>(IP 協(xié)議 ping)

一個(gè)較新的主機(jī)發(fā)現(xiàn)選項(xiàng)是IP協(xié)議ping,它將IP數(shù)據(jù)包發(fā)送到IP報(bào)頭中指定的協(xié)議號(hào)。協(xié)議列表的格式與前面討論的TCP、UDP和SCTP主機(jī)發(fā)現(xiàn)選項(xiàng)的端口列表相同。如果沒(méi)有指定協(xié)議,默認(rèn)的是為ICMP(協(xié)議1)、IGMP(協(xié)議2)和ipin-IP(協(xié)議4)發(fā)送多個(gè)IP數(shù)據(jù)包。默認(rèn)的協(xié)議可以在編譯時(shí)通過(guò)更改nmap.h中的默認(rèn)proat探測(cè)端口規(guī)范來(lái)配置。注意,對(duì)于ICMP、IGMP、TCP(協(xié)議6)、UDP(協(xié)議17)和SCTP(協(xié)議132),數(shù)據(jù)包是用適當(dāng)?shù)膮f(xié)議標(biāo)頭發(fā)送的,而其他協(xié)議被發(fā)送時(shí),除了IP報(bào)頭之外沒(méi)有附加的數(shù)據(jù)(除非有任何數(shù)據(jù)——數(shù)據(jù)字符串,或者——數(shù)據(jù)長(zhǎng)度選項(xiàng)被指定)。

-PS<端口列表>(TCP SYN Ping)

1.該選項(xiàng)發(fā)送一個(gè)設(shè)置了SYN標(biāo)志位的空TCP報(bào)文,默認(rèn)端口為80。不同的端口可以作為選項(xiàng)制定(如 -PS22,23,25,80,113,1050,3500)2.SYN標(biāo)志位告訴對(duì)方您正試圖建立一個(gè)連接。 通常目標(biāo)端口是關(guān)閉的,一個(gè)RST (復(fù)位) 包會(huì)發(fā)回來(lái)。 如果碰巧端口是開(kāi)放的,目標(biāo)會(huì)進(jìn)行TCP三步握手的第二步,回應(yīng) 一個(gè)SYN/ACK TCP報(bào)文。3.無(wú)論RST還是SYN/ACK響應(yīng)都告訴Nmap該主機(jī)正在運(yùn)行。然后運(yùn)行Nmap的機(jī)器則會(huì)扼殺這個(gè)正在建立的連接, 發(fā)送一個(gè)RST而非ACK報(bào)文,ST報(bào)文是運(yùn)行Nmap的機(jī)器而不是Nmap本身響應(yīng)的,因?yàn)樗鼘?duì)收到 的SYN/ACK感到很意外。

-PA<端口列表>(TCP ACK Ping)

1.ACK報(bào)文表示確認(rèn)一個(gè)建立連接的嘗試,但該連接尚未完全建立。 所以遠(yuǎn)程主機(jī)應(yīng)該總是回應(yīng)一個(gè)RST報(bào)文, 因?yàn)樗鼈儾](méi)有發(fā)出過(guò)連接請(qǐng)求到運(yùn)行Nmap的機(jī)器,如果它們正在運(yùn)行的話。2.如果非特權(quán)用戶嘗試該功能, 或者指定的是IPv6目標(biāo),前面說(shuō)過(guò)的connect()方法將被使用。 這個(gè)方法并不完美,因?yàn)樗鼘?shí)際上發(fā)送的是SYN報(bào)文,而不是ACK報(bào)文。3.他的默認(rèn)端口和修改方法跟-PS一致4.SYN探測(cè)更有可能用于這樣的系統(tǒng),由于沒(méi)頭沒(méi)腦的ACK報(bào)文 通常會(huì)被識(shí)別成偽造的而丟棄。解決這個(gè)兩難的方法是通過(guò)即指定 -PS又指定-PA來(lái)即發(fā)送SYN又發(fā)送ACK。

-PU <端口列表>(UDP Ping)

1.發(fā)送一個(gè)空的(除非指定了--data-length UDP報(bào)文到給定的端口。端口列表的格式和前面討論過(guò)的-PS和-PA選項(xiàng)還是一樣。 如果不指定端口,默認(rèn)是31338。修改方法和-PA -PS一致2.如果目標(biāo)機(jī)器的端口是關(guān)閉的,UDP探測(cè)應(yīng)該馬上得到一個(gè)ICMP端口無(wú)法到達(dá)的回應(yīng)報(bào)文。 這對(duì)于Nmap意味著該機(jī)器正在運(yùn)行。 許多其它類型的ICMP錯(cuò)誤,像主機(jī)/網(wǎng)絡(luò)無(wú)法到達(dá)或者TTL超時(shí)則表示down掉的或者不可到達(dá)的主機(jī)。 沒(méi)有回應(yīng)也被這樣解釋。如果到達(dá)一個(gè)開(kāi)放的端口,大部分服務(wù)僅僅忽略這個(gè) 空?qǐng)?bào)文而不做任何回應(yīng)。這就是為什么默認(rèn)探測(cè)端口是31338這樣一個(gè) 極不可能被使用的端口。少數(shù)服務(wù)如chargen會(huì)響應(yīng)一個(gè)空的UDP報(bào)文, 從而向Nmap表明該機(jī)器正在運(yùn)行。

-PR(ARP Ping)

如果Nmap發(fā)現(xiàn)目標(biāo)主機(jī)就在它所在的局域網(wǎng)上,它會(huì)進(jìn)行ARP掃描。 即使指定了不同的ping類型(如 -PI或者 -PS) ,Nmap也會(huì)對(duì)任何相同局域網(wǎng)上的目標(biāo)機(jī)使用ARP。 如果您真的不想要ARP掃描,指定 --send-ip。對(duì)于IPv6(-6選項(xiàng)),-PR使用ICMPv6的鄰居發(fā)現(xiàn)而不是ARP。在RFC 4861中定義的鄰居發(fā)現(xiàn)可以看作是IPv6等效的。

--disable-arp-ping (No ARP or ND Ping)

不使用ARP發(fā)現(xiàn)和ICMPv6鄰居發(fā)現(xiàn)

-PY <端口列表> (SCTP INIT Ping)

1.一個(gè)SCTP INIT數(shù)據(jù)包,默認(rèn)端口是80,如果要改變端口可以用如下形式: -PY22:-PY22,80,179,5060。注意PY和端口列表之間沒(méi)有空格。2.SCTP INIT數(shù)據(jù)包表示本機(jī)想跟目標(biāo)主機(jī)關(guān)聯(lián)。一般情況下,目標(biāo)主機(jī)的端口是關(guān)閉的,就會(huì)返回一個(gè)SCTP 數(shù)據(jù)包。如果目標(biāo)主機(jī)端口是開(kāi)放的,它就會(huì)回復(fù)一個(gè)SCTP INIT-ACK數(shù)據(jù)包。如果運(yùn)行nmap的本機(jī)支持SCTP協(xié)議棧的話,本機(jī)會(huì)給目標(biāo)主機(jī)回復(fù)一個(gè)SCTP ABORT數(shù)據(jù)包,而不是SCTP COOKIE-ECHO數(shù)據(jù)包,這個(gè)數(shù)據(jù)包是由系統(tǒng)內(nèi)核發(fā)送的,因?yàn)樗麤](méi)有去向目標(biāo)主機(jī)發(fā)起關(guān)聯(lián)請(qǐng)求。3.本技術(shù)用于主機(jī)發(fā)現(xiàn),所以不必關(guān)心端口是否開(kāi)放,只要收到回復(fù)就可認(rèn)為主機(jī)是存活的。4.在linux系統(tǒng)中,特權(quán)用戶發(fā)送和接收raw SCTP數(shù)據(jù)包,非特權(quán)用戶不支持這個(gè)掃描技術(shù)。

-PE; -PP; -PM(ICMP Ping Types)

-PE是ICMP echo請(qǐng)求時(shí)間戳和地址掩碼查詢可以分別用-PP和-PM選項(xiàng)發(fā)送。 時(shí)間戳響應(yīng)(ICMP代碼14)或者地址掩碼響應(yīng)(代碼18)表示主機(jī)在運(yùn)行。

-n ? 不域名解析

-R ? 所有IP做反向域名解析

--system-dns ? ?使用本機(jī)的dns服務(wù)器

--dns-servers(使用指定的dns服務(wù)器)

如果指定dns服務(wù)器無(wú)法使用,則會(huì)轉(zhuǎn)向使用本機(jī)配置的dns服務(wù)器

三、端口狀態(tài)

open(開(kāi)放的)

應(yīng)用程序正在該端口接收TCP 連接或者UDP報(bào)文。

closed(關(guān)閉的)

關(guān)閉的端口對(duì)于Nmap也是可訪問(wèn)的(它接受Nmap的探測(cè)報(bào)文并作出響應(yīng)), 但沒(méi)有應(yīng)用程序在其上監(jiān)聽(tīng)。

filtered(被過(guò)濾的)

由于包過(guò)濾阻止探測(cè)報(bào)文到達(dá)端口, Nmap無(wú)法確定該端口是否開(kāi)放。

unfiltered(未被過(guò)濾的)

未被過(guò)濾狀態(tài)意味著端口可訪問(wèn),但Nmap不能確定它是開(kāi)放還是關(guān)閉。

open|filtered(開(kāi)放或者被過(guò)濾的)

當(dāng)無(wú)法確定端口是開(kāi)放還是被過(guò)濾的,Nmap就把該端口劃分成 這種狀態(tài)。開(kāi)放的端口不響應(yīng)就是一個(gè)例子。

closed|filtered(關(guān)閉或者被過(guò)濾的)

該狀態(tài)用于Nmap不能確定端口是關(guān)閉的還是被過(guò)濾的。 它只可能出現(xiàn)在IPID Idle掃描中

四、端口掃描技術(shù)

-sS(TCP SYN掃描)

半開(kāi)放掃描,不打開(kāi)一個(gè)完整的TCP鏈接它發(fā)送一個(gè)SYN報(bào)文,然后等待響應(yīng)。 SYN/ACK表示端口在監(jiān)聽(tīng) (開(kāi)放),而 RST (復(fù)位)表示沒(méi)有監(jiān)聽(tīng)者。如果數(shù)次重發(fā)后仍沒(méi)響應(yīng), 該端口就被標(biāo)記為被過(guò)濾。如果收到ICMP不可到達(dá)錯(cuò)誤 (類型3,代碼1,2,3,9,10,或者13),該端口也被標(biāo)記為被過(guò)濾。

-sT(TCP connect()掃描)

Nmap通過(guò)創(chuàng)建connect() 系統(tǒng)調(diào)用要求操作系統(tǒng)和目標(biāo)機(jī)以及端口建立連接,而不像其它掃描類型直接發(fā)送原始報(bào)文。 這是和Web瀏覽器,P2P客戶端以及大多數(shù)其它網(wǎng)絡(luò)應(yīng)用程序用以建立連接一樣的 高層系統(tǒng)調(diào)用。當(dāng)Nmap連接,然后不發(fā)送數(shù)據(jù)又關(guān)閉連接, 許多普通UNIX系統(tǒng)上的服務(wù)會(huì)在syslog留下記錄,有時(shí)候是一條加密的錯(cuò)誤消息。

-sU(UDP 掃描)

1.UDP掃描用-sU選項(xiàng)激活。它可以和TCP掃描如 SYN掃描 (-sS)結(jié)合使用來(lái)同時(shí)檢查兩種協(xié)議。2.UDP掃描發(fā)送空的(沒(méi)有數(shù)據(jù))UDP報(bào)頭到每個(gè)目標(biāo)端口。 如果返回ICMP端口不可到達(dá)錯(cuò)誤(類型3,代碼3), 該端口是closed(關(guān)閉的)。 其它ICMP不可到達(dá)錯(cuò)誤(類型3, 代碼1,2,9,10,或者13)表明該端口是filtered(被過(guò)濾的)。 偶爾地,某服務(wù)會(huì)響應(yīng)一個(gè)UDP報(bào)文,證明該端口是open(開(kāi)放的)。 如果幾次重試后還沒(méi)有響應(yīng),該端口就被認(rèn)為是 open|filtered(開(kāi)放|被過(guò)濾的)。 這意味著該端口可能是開(kāi)放的,也可能包過(guò)濾器正在封鎖通信。 可以用版本掃描(-sV)幫助區(qū)分真正的開(kāi)放端口和被過(guò)濾的端口。

-sY(SCTP INIT scan)

SCTP INIT掃描類似TCP SYN掃描,他也是打開(kāi)一個(gè)半開(kāi)的連接,而不是建立一個(gè)完整的SCTP關(guān)聯(lián)。如果目標(biāo)端口回復(fù)一個(gè)INIT-ACK數(shù)據(jù)包,則說(shuō)明端口是開(kāi)放的,如果回復(fù)一個(gè)ABORT數(shù)據(jù)包,端口是關(guān)閉的,如果沒(méi)有回復(fù),端口會(huì)被標(biāo)記標(biāo)記為被過(guò)濾,當(dāng)然如果收到了ICMP不可達(dá)的消息(type 3, code 0, 1, 2, 3, 9, 10, or 13)也會(huì)被標(biāo)記為被過(guò)濾。

-sN; -sF; -sX (TCP Null,F(xiàn)IN,Xmas掃描)

1.如果掃描系統(tǒng)遵循該RFC,當(dāng)端口關(guān)閉時(shí),任何不包含SYN,RST,或者ACK位的報(bào)文會(huì)導(dǎo)致 一個(gè)RST返回,而當(dāng)端口開(kāi)放時(shí),應(yīng)該沒(méi)有任何響應(yīng)。只要不包含SYN,RST,或者ACK, 任何其它三種(FIN,PSH,and URG)的組合都行。Nmap有三種掃描類型利用這一點(diǎn):Null掃描 (-sN)

不設(shè)置任何標(biāo)志位(tcp標(biāo)志頭是0)

FIN掃描 (-sF)

只設(shè)置TCP FIN標(biāo)志位。

Xmas掃描 (-sX)

設(shè)置FIN,PSH,和URG標(biāo)志位,就像點(diǎn)亮圣誕樹(shù)上所有的燈一樣。

2.除了探測(cè)報(bào)文的標(biāo)志位不同,這三種掃描在行為上完全一致。 如果收到一個(gè)RST報(bào)文,該端口被認(rèn)為是 closed(關(guān)閉的),而沒(méi)有響應(yīng)則意味著 端口是open|filtered(開(kāi)放或者被過(guò)濾的)。 如果收到ICMP不可到達(dá)錯(cuò)誤(類型 3,代號(hào) 1,2,3,9,10,或者13),該端口就被標(biāo)記為 被過(guò)濾的。

-sA (TCP ACK掃描)

1.這種掃描與目前為止討論的其它掃描的不同之處在于 它不能確定open(開(kāi)放的)或者 open|filtered(開(kāi)放或者過(guò)濾的))端口。 它用于發(fā)現(xiàn)防火墻規(guī)則,確定它們是有狀態(tài)的還是無(wú)狀態(tài)的,哪些端口是被過(guò)濾的。2.ACK掃描探測(cè)報(bào)文只設(shè)置ACK標(biāo)志位(除非您使用 --scanflags)。當(dāng)掃描未被過(guò)濾的系統(tǒng)時(shí), open(開(kāi)放的)和closed(關(guān)閉的) 端口 都會(huì)返回RST報(bào)文。Nmap把它們標(biāo)記為 unfiltered(未被過(guò)濾的),意思是 ACK報(bào)文不能到達(dá),但至于它們是open(開(kāi)放的)或者 closed(關(guān)閉的) 無(wú)法確定。不響應(yīng)的端口 或者發(fā)送特定的ICMP錯(cuò)誤消息(類型3,代號(hào)1,2,3,9,10, 或者13)的端口,標(biāo)記為 filtered(被過(guò)濾的)。

-sW(TCP窗口掃描)

在某些系統(tǒng)上,開(kāi)放端口用正數(shù)表示窗口大小(甚至對(duì)于RST報(bào)文) 而關(guān)閉端口的窗口大小為0。因此,當(dāng)收到RST時(shí),窗口掃描不總是把端口標(biāo)記為 unfiltered, 而是根據(jù)TCP窗口值是正數(shù)還是0,分別把端口標(biāo)記為open或者 closed

-sM(TCP Maimon掃描)

探測(cè)報(bào)文是FIN/ACK。 根據(jù)RFC 793 (TCP),無(wú)論端口開(kāi)放或者關(guān)閉,都應(yīng)該對(duì)這樣的探測(cè)響應(yīng)RST報(bào)文。 然而,Uriel注意到如果端口開(kāi)放,許多基于BSD的系統(tǒng)只是丟棄該探測(cè)報(bào)文。

--scanflags (定制的TCP掃描)

--scanflags選項(xiàng)可以是一個(gè)數(shù)字標(biāo)記值如9 (PSH和FIN), 但使用字符名更容易些。 只要是URG, ACK,PSH, RST,SYN,and FIN的任何組合就行。例如,--scanflags URGACKPSHRSTSYNFIN設(shè)置了所有標(biāo)志位,但是這對(duì)掃描沒(méi)有太大用處。 標(biāo)志位的順序不重要。

-sZ(SCTP COOKIE ECHO掃描)

如果目標(biāo)端口開(kāi)放,則會(huì)丟棄之前沒(méi)有發(fā)起關(guān)聯(lián)請(qǐng)求的SCTP COOKIE ECHO數(shù)據(jù)包,如果端口是關(guān)閉的則會(huì)返回一個(gè)SCTP ABORT數(shù)據(jù)包。所以這個(gè)掃描技術(shù),無(wú)法分辨過(guò)濾和開(kāi)放,只能分辨出關(guān)閉的端口。

--sI <僵尸主機(jī)地址:端口>(idlescan)

1.這種高級(jí)的掃描方法允許對(duì)目標(biāo)進(jìn)行真正的TCP端口盲掃描 (意味著沒(méi)有報(bào)文從您的真實(shí)IP地址發(fā)送到目標(biāo))。相反,side-channel攻擊 利用zombie主機(jī)上已知的IP分段ID序列生成算法來(lái)窺探目標(biāo)上開(kāi)放端口的信息。2.如果您由于IPID改變希望探測(cè)zombie上的特定端口, 您可以在zombie 主機(jī)后加上一個(gè)冒號(hào)和端口號(hào)。 否則Nmap會(huì)使用默認(rèn)端口(80)。

-sO(IP協(xié)議掃描)

IP 協(xié)議掃描可以讓您確定目標(biāo)機(jī)支持哪些IP協(xié)議 (TCP,ICMP,IGMP,等等)。從技術(shù)上說(shuō),這不是端口掃描 ,既然它遍歷的是IP協(xié)議號(hào)而不是TCP或者UDP端口號(hào)。 但是它仍使用 -p選項(xiàng)選擇要掃描的協(xié)議號(hào), 用正常的端口表格式報(bào)告結(jié)果,甚至用和真正的端口掃描一樣 的掃描引擎。因此它和端口掃描非常接近,也被放在這里討論。

-b(FTP彈跳掃描)

1.FTP協(xié)議的一個(gè)有趣特征(RFC 959) 是支持所謂代理ftp連接。2.它允許用戶連接到一臺(tái)FTP服務(wù)器,然后要求文件送到一臺(tái)第三方服務(wù)器。 這個(gè)特性在很多層次上被濫用,所以許多服務(wù)器已經(jīng)停止支持它了。其中一種就是導(dǎo)致FTP服務(wù)器對(duì)其它主機(jī)端口掃描。 只要請(qǐng)求FTP服務(wù)器輪流發(fā)送一個(gè)文件到目標(biāo)主機(jī)上的所感興趣的端口。 錯(cuò)誤消息會(huì)描述端口是開(kāi)放還是關(guān)閉的。3.這是繞過(guò)防火墻的好方法,因?yàn)镕TP服務(wù)器常常被置于可以訪問(wèn)比Web主機(jī)更多其它內(nèi)部主機(jī)的位置。4.Nmap用-b選項(xiàng)支持ftp彈跳掃描。參數(shù)格式是:@:。是某個(gè)脆弱的FTP服務(wù)器的名字或者IP地址。 您也許可以省略:, 如果服務(wù)器上開(kāi)放了匿名用戶(user:anonymous password:-wwwuser@)。 端口號(hào)(以及前面的冒號(hào)) 也可以省略,如果使用默認(rèn)的FTP端口(21)。

五、端口掃描設(shè)置

默認(rèn)情況下,Nmap用指定的協(xié)議對(duì)端口1到1024以及nmap-services 文件中列出的更高的端口在掃描。

-p <端口號(hào),端口列表>

1.制定掃描某個(gè)或某些端口用逗號(hào)分隔,或者用鏈接符號(hào)表示范圍也可。2.對(duì)于-sO IP協(xié)議掃描,該選項(xiàng)用來(lái)指定協(xié)議號(hào)(0-255)。

--exclede-ports <端口列表>(排除的端口)

指定排除的端口,如果是指定排除的協(xié)議號(hào)的話,他的值在0-255之間

-F(快速掃描)

在nmap的nmap-services 文件中(對(duì)于-sO,是協(xié)議文件)指定您想要掃描的端口。 這比掃描所有65535個(gè)端口快得多。 因?yàn)樵摿斜戆绱硕嗟腡CP端口(1200多),這和默認(rèn)的TCP掃描 scan (大約1600個(gè)端口)速度差別不是很大。如果用--datadir選項(xiàng)指定小的nmap-services文件 ,差別會(huì)很大。

-r(順序掃描端口)

默認(rèn)情況下,Nmap按隨機(jī)順序掃描端口 (除了出于效率的考慮,常用的端口前移)。可以指定-r來(lái)順序端口掃描。

--port-ratio

掃描nmap-services中給出的目標(biāo)的一定比例,這個(gè)值在1.0-0.0之間。

--top-ports

掃描nmap-services中的前多少個(gè)端口

六.服務(wù)和版本掃描

-sV(版本掃描)

掃描服務(wù)版本,也可以用-A同時(shí)進(jìn)行操作系統(tǒng)探測(cè)和版本掃描。

--allports(版本掃描時(shí),不排除任何端口)

1.默認(rèn)情況下,Nmap版本探測(cè)會(huì)跳過(guò)9100 TCP端口,因?yàn)橐恍┐蛴C(jī)簡(jiǎn)單地打印送到該端口的 任何數(shù)據(jù),這回導(dǎo)致數(shù)十頁(yè)HTTP get請(qǐng)求,二進(jìn)制 SSL會(huì)話請(qǐng)求等等被打印出來(lái)。2.這一行為可以通過(guò)修改或刪除nmap-service-probes 中的Exclude指示符改變

--version-intensity <強(qiáng)度>(版本掃描強(qiáng)度)

強(qiáng)度在1到9之間,一般來(lái)說(shuō),強(qiáng)度越大,服務(wù)越有可能被正確識(shí)別

--version-light

相當(dāng)于 --version-intensity 2

--vension-all

相當(dāng)于 --version-intensity 9

--version-trace

打印出正在進(jìn)行的版本掃描的詳細(xì)信息

七、操作系統(tǒng)探測(cè)

-O (啟用操作系統(tǒng)檢測(cè))

也可以使用-A來(lái)同時(shí)啟用操作系統(tǒng)檢測(cè)和版本掃描。

--osscan-limit

只對(duì)至少知曉一個(gè)端口開(kāi)放或者關(guān)閉的主機(jī)進(jìn)行操作系統(tǒng)探測(cè)

--osscan-guess;--fuzzy

無(wú)法確定操作系統(tǒng)類型的時(shí)候,默認(rèn)進(jìn)行推測(cè)。但是使用這兩項(xiàng),會(huì)讓猜測(cè)更加準(zhǔn)確。

--max-os-tries(操作系統(tǒng)識(shí)別重試次數(shù))

默認(rèn)重試五次,

八、掃描性能設(shè)置

--min-hostgroup; --max-hostgroup(調(diào)整并行掃描組的大小)

1.Nmap具有并行掃描多主機(jī)端口或版本的能力,Nmap將多個(gè)目標(biāo)IP地址 空間分成組,然后在同一時(shí)間對(duì)一個(gè)組進(jìn)行掃描。通常,大的組更有效。缺點(diǎn)是只有當(dāng)整個(gè)組掃描結(jié)束后才會(huì)提供主機(jī)的掃描結(jié)果。如果組的大小定義 為50,則只有當(dāng)前50個(gè)主機(jī)掃描結(jié)束后才能得到報(bào)告(詳細(xì)模式中的補(bǔ)充信息 除外)。2.默認(rèn)方式下,Nmap采取折衷的方法。開(kāi)始掃描時(shí)的組較小, 最小為5,這樣便于盡快產(chǎn)生結(jié)果;隨后增長(zhǎng)組的大小,最大為1024。確切的 大小依賴于所給定的選項(xiàng)。為保證效率,針對(duì)UDP或少量端口的TCP掃描,Nmap 使用大的組。--max-hostgroup選項(xiàng)用于說(shuō)明使用最大的組,Nmap不 會(huì)超出這個(gè)大小。--min-hostgroup選項(xiàng)說(shuō)明最小的組,Nmap 會(huì)保持組大于這個(gè)值。如果在指定的接口上沒(méi)有足夠的目標(biāo)主機(jī)來(lái)滿足所指定的最小值,Nmap可能會(huì)采用比所指定的值小的組。這兩個(gè)參數(shù)雖然很少使用, 但都用于保持組的大小在一個(gè)指定的范圍之內(nèi)。3.這些選項(xiàng)的主要用途是說(shuō)明一個(gè)最小組的大小,使得整個(gè)掃描更加快速。通常選擇256來(lái)掃描C類網(wǎng)段。對(duì)于端口數(shù)較多的掃描,超出該值沒(méi)有意義。對(duì)于 端口數(shù)較少的掃描,2048或更大的組大小是有幫助的。

--min-parallelism; --max-parallelism(調(diào)整探測(cè)報(bào)文的并行度)

這些選項(xiàng)控制用于主機(jī)組的探測(cè)報(bào)文數(shù)量,可用于端口掃描和主機(jī)發(fā)現(xiàn)。默認(rèn)狀態(tài)下,Nmap基于網(wǎng)絡(luò)性能計(jì)算一個(gè)理想的并行度,這個(gè)值經(jīng)常改變。如果報(bào)文被丟棄, Nmap降低速度,探測(cè)報(bào)文數(shù)量減少。隨著網(wǎng)絡(luò)性能的改善,理想的探測(cè)報(bào)文數(shù)量會(huì)緩慢增加。這些選項(xiàng)確定這個(gè)變量的大小范圍。默認(rèn)狀態(tài)下,當(dāng)網(wǎng)絡(luò)不可靠時(shí),理想的并行度值 可能為1,在好的條件下,可能會(huì)增長(zhǎng)至幾百。最常見(jiàn)的應(yīng)用是--min-parallelism值大于1,以加快 性能不佳的主機(jī)或網(wǎng)絡(luò)的掃描。這個(gè)選項(xiàng)具有風(fēng)險(xiǎn),如果過(guò)高則影響準(zhǔn)確度,同時(shí)也會(huì)降低Nmap基于網(wǎng)絡(luò)條件動(dòng)態(tài)控制并行度的能力。這個(gè)值設(shè)為10較為合適, 這個(gè)值的調(diào)整往往作為最后的手段。

--max-parallelism選項(xiàng)通常設(shè)為1,以防止Nmap在同一時(shí)間 向主機(jī)發(fā)送多個(gè)探測(cè)報(bào)文,和選擇--scan-delay同時(shí)使用非常有用。

--min-rtt-timeout, --max-rtt-timeout, --initial-rtt-timeout(調(diào)整探測(cè)報(bào)文超時(shí))

Nmap使用一個(gè)運(yùn)行超時(shí)值來(lái)確定等待探測(cè)報(bào)文響應(yīng)的時(shí)間,隨后會(huì)放棄或重新 發(fā)送探測(cè)報(bào)文。Nmap基于上一個(gè)探測(cè)報(bào)文的響應(yīng)時(shí)間來(lái)計(jì)算超時(shí)值,如果網(wǎng)絡(luò)延遲比較顯著 和不定,這個(gè)超時(shí)值會(huì)增加幾秒。初始值的比較保守(高),而當(dāng)Nmap掃描無(wú)響應(yīng) 的主機(jī)時(shí),這個(gè)保守值會(huì)保持一段時(shí)間。這些選項(xiàng)以毫秒為單位,采用小的--max-rtt-timeout值,使 --initial-rtt-timeout值大于默認(rèn)值可以明顯減少掃描時(shí)間,特別 是對(duì)不能ping通的掃描(-P0)以及具有嚴(yán)格過(guò)濾的網(wǎng)絡(luò)。如果使用太 小的值,使得很多探測(cè)報(bào)文超時(shí)從而重新發(fā)送,而此時(shí)可能響應(yīng)消息正在發(fā)送,這使得整個(gè)掃描的時(shí) 間會(huì)增加。如果所有的主機(jī)都在本地網(wǎng)絡(luò),對(duì)于--max-rtt-timeout值來(lái) 說(shuō),100毫秒比較合適。如果存在路由,首先使用ICMP ping工具ping主機(jī),或使用其 它報(bào)文工具如hpings,可以更好地穿透防火墻。查看大約10個(gè)包的最大往返時(shí)間,然后將 --initial-rtt-timeout設(shè)成這個(gè)時(shí)間的2倍,--max-rtt-timeout 可設(shè)成這個(gè)時(shí)間值的3倍或4倍。通常,不管ping的時(shí)間是多少,最大的rtt值不得小于100ms, 不能超過(guò)1000ms。--min-rtt-timeout這個(gè)選項(xiàng)很少使用,當(dāng)網(wǎng)絡(luò)不可靠時(shí), Nmap的默認(rèn)值也顯得過(guò)于強(qiáng)烈,這時(shí)這個(gè)選項(xiàng)可起作用。當(dāng)網(wǎng)絡(luò)看起來(lái)不可靠時(shí),Nmap僅將 超時(shí)時(shí)間降至最小值,這個(gè)情況是不正常的,需要向nmap-dev郵件列表報(bào)告bug。

--host-timeout(放棄低速目標(biāo)主機(jī))

由于性能較差或不可靠的網(wǎng)絡(luò)硬件或軟件、帶寬限制、嚴(yán)格的防火墻等原因, 一些主機(jī)需要很長(zhǎng)的時(shí)間掃描。這些極少數(shù)的主機(jī)掃描往往占 據(jù)了大部分的掃描時(shí)間。因此,最好的辦法是減少時(shí)間消耗并且忽略這些主機(jī),使用 --host-timeout選項(xiàng)來(lái)說(shuō)明等待的時(shí)間(毫秒)。通常使用1800000 來(lái)保證Nmap不會(huì)在單個(gè)主機(jī)上使用超過(guò)半小時(shí)的時(shí)間。需要注意的是,Nmap在這半小時(shí)中可以 同時(shí)掃描其它主機(jī),因此并不是完全放棄掃描。超時(shí)的主機(jī)被忽略,因此也沒(méi)有針對(duì)該主機(jī)的 端口表、操作系統(tǒng)檢測(cè)或版本檢測(cè)結(jié)果的輸出。

--scan-delay; --max-scan-delay(調(diào)整探測(cè)報(bào)文的時(shí)間間隔)

這個(gè)選項(xiàng)用于Nmap控制針對(duì)一個(gè)主機(jī)發(fā)送探測(cè)報(bào)文的等待時(shí)間(毫秒),在帶寬 控制的情況下這個(gè)選項(xiàng)非常有效。Solaris主機(jī)在響應(yīng)UDP掃描探測(cè)報(bào)文報(bào)文時(shí),每秒 只發(fā)送一個(gè)ICMP消息,因此Nmap發(fā)送的很多數(shù)探測(cè)報(bào)文是浪費(fèi)的。--scan-delay 設(shè)為1000,使Nmap低速運(yùn)行。Nmap嘗試檢測(cè)帶寬控制并相應(yīng)地調(diào)整掃描的延遲,但 并不影響明確說(shuō)明何種速度工作最佳。--scan-delay的另一個(gè)用途是躲閉基于閾值的入侵檢測(cè)和預(yù)防 系統(tǒng)(IDS/IPS)。

-T(設(shè)置時(shí)間模板)

上述優(yōu)化時(shí)間控制選項(xiàng)的功能很強(qiáng)大也很有效,但有些用戶會(huì)被迷惑。此外, 往往選擇合適參數(shù)的時(shí)間超過(guò)了所需優(yōu)化的掃描時(shí)間。因此,Nmap提供了一些簡(jiǎn)單的 方法,使用6個(gè)時(shí)間模板,使用時(shí)采用-T選項(xiàng)及數(shù)字(0 - 5) 或名稱。模板名稱有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前兩種模式用于IDS躲避,Polite模式降低了掃描 速度以使用更少的帶寬和目標(biāo)主機(jī)資源。默認(rèn)模式為Normal,因此-T3 實(shí)際上是未做任何優(yōu)化。Aggressive模式假設(shè)用戶具有合適及可靠的網(wǎng)絡(luò)從而加速 掃描。Insane模式假設(shè)用戶具有特別快的網(wǎng)絡(luò)或者愿意為獲得速度而犧牲準(zhǔn)確性。用戶可以根據(jù)自己的需要選擇不同的模板,由Nmap負(fù)責(zé)選擇實(shí)際的時(shí)間值。 模板也會(huì)針對(duì)其它的優(yōu)化控制選項(xiàng)進(jìn)行速度微調(diào)。例如,-T4 針對(duì)TCP端口禁止動(dòng)態(tài)掃描延遲超過(guò)10ms,-T5對(duì)應(yīng)的值為5ms。 模板可以和優(yōu)化調(diào)整控制選項(xiàng)組合使用,但模板必須首先指定,否則模板的標(biāo)準(zhǔn)值 會(huì)覆蓋用戶指定的值。建議在掃描可靠的網(wǎng)絡(luò)時(shí)使用 -T4,即使 在自己要增加優(yōu)化控制選項(xiàng)時(shí)也使用(在命令行的開(kāi)始),從而從這些額外的較小的優(yōu)化 中獲益。如果用于有足夠的帶寬或以太網(wǎng)連接,仍然建議使用-T4選項(xiàng)。 有些用戶喜歡-T5選項(xiàng),但這個(gè)過(guò)于強(qiáng)烈。有時(shí)用戶考慮到避免使主機(jī) 崩潰或者希望更禮貌一些會(huì)采用-T2選項(xiàng)。他們并沒(méi)意識(shí)到-T Polite選項(xiàng)是如何的慢,這種模式的掃描比默認(rèn)方式實(shí)際上要多花10倍的時(shí)間。默認(rèn)時(shí)間 選項(xiàng)(-T3)很少有主機(jī)崩潰和帶寬問(wèn)題,比較適合于謹(jǐn)慎的用戶。不進(jìn)行 版本檢測(cè)比進(jìn)行時(shí)間調(diào)整能更有效地解決這些問(wèn)題。雖然-T0和-T1選項(xiàng)可能有助于避免IDS告警,但在進(jìn)行上千個(gè)主機(jī)或端口掃描時(shí),會(huì)顯著增加時(shí)間。對(duì)于這種長(zhǎng)時(shí)間的掃描,寧可設(shè)定確切的時(shí)間值,而不要去依賴封裝的-T0和-T1選項(xiàng)。T0選項(xiàng)的主要影響是對(duì)于連續(xù)掃描,在一個(gè)時(shí)間只能掃描一個(gè)端口, 每個(gè)探測(cè)報(bào)文的發(fā)送間隔為5分鐘。T1和T2選項(xiàng)比較類似, 探測(cè)報(bào)文間隔分別為15秒和0.4秒。T3是Nmap的默認(rèn)選項(xiàng),包含了并行掃描。 T4選項(xiàng)與 --max-rtt-timeout 1250 --initial-rtt-timeout 500 等價(jià),最大TCP掃描延遲為10ms。T5等價(jià)于 --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,最大TCP掃描延遲為5ms。

--max-retries <次數(shù)>

沒(méi)有響應(yīng)后的重試次數(shù)

--script-timeout(設(shè)置腳本超時(shí)時(shí)間)

預(yù)防腳本的bug導(dǎo)致影響效率

--min-rate; --max-rate(發(fā)包速度控制)

最少每秒發(fā)多少,最多每秒發(fā)多少。如果0.1的話就是10秒一個(gè)包的意思

--defeat-rst-ratelimit

忽略系統(tǒng)reset包的速率限制

--defeat-icmp-ratelimit

忽略系統(tǒng)ICMP錯(cuò)誤消息速率限制

--nsock-engine epoll|kqueue|poll|select

選擇系統(tǒng)IO模型,nmap -V可以查看支持哪些

九、防火墻繞過(guò)/IDS躲避

-f (報(bào)文分段); --mtu (使用指定的MTU)

1.-f選項(xiàng)要求掃描時(shí)(包挺ping掃描)使用小的IP包分段。其思路是將TCP頭分段在幾個(gè)包中,使得包過(guò)濾器、IDS以及其它工具的檢測(cè)更加困難。必須小心使用這個(gè)選項(xiàng),有些系統(tǒng)在處理這些小包時(shí)存在問(wèn)題,例如舊的網(wǎng)絡(luò)嗅探器Sniffit在接收到第一個(gè)分段時(shí)會(huì)立刻出現(xiàn)分段錯(cuò)誤。該選項(xiàng)使用一次,Nmap在IP頭后將包分成8個(gè)字節(jié)或更小。因此,一個(gè)20字節(jié)的TCP頭會(huì)被分成3個(gè)包,其中2個(gè)包分別有TCP頭的8個(gè)字節(jié),另1個(gè)包有TCP頭的剩下4個(gè)字節(jié)。當(dāng)然,每個(gè)包都有一個(gè)IP頭。再次使用-f可使用 16字節(jié)的分段(減少分段數(shù)量)。2.使用--mtu選項(xiàng)可 以自定義偏移的大小,使用時(shí)不需要-f,偏移量必須是8的倍數(shù)。包過(guò)濾器和防火墻對(duì)所有的IP分段排隊(duì),如Linux核心中的 CONFIG-IP-ALWAYS-DEFRAG配置項(xiàng),分段包不會(huì)直接使用。一些網(wǎng)絡(luò)無(wú)法 承受這樣所帶來(lái)的性能沖擊,會(huì)將這個(gè)配置禁止。其它禁止的原因有分段 包會(huì)通過(guò)不同的路由進(jìn)入網(wǎng)絡(luò)。一些源系統(tǒng)在內(nèi)核中對(duì)發(fā)送的報(bào)文進(jìn)行分段,使用iptables連接跟蹤模塊的Linux就是一個(gè)例子。當(dāng)使用類似Ethereal的嗅探器時(shí),掃描必須保證發(fā)送的報(bào)文要分段。如果主機(jī)操作系統(tǒng)會(huì)產(chǎn)生問(wèn)題,嘗試使用--send-eth選項(xiàng)以避開(kāi)IP層而直接發(fā)送原始的以太網(wǎng)幀。

-D <肉雞1,肉雞2,...>(結(jié)合肉雞干擾進(jìn)行掃描)首先必須讓目標(biāo)主機(jī)認(rèn)為是肉雞在掃描它,IDS雖然能夠捕捉到掃描的IP,但是并知道哪個(gè)是真實(shí)的攻擊者,使用逗號(hào)來(lái)分隔每個(gè)肉雞,如果使用了ME選項(xiàng),nmap將不會(huì)使用本機(jī)地址,否則nmap將會(huì)把本機(jī)地址放在一個(gè)隨機(jī)位置。注意,太多的欺騙包甚至可能造成DDoS的效果,而且很多多IPS會(huì)過(guò)濾欺騙包

-S(源地址欺騙)

偽造掃描請(qǐng)求源地址。在某些情況下,Nmap可能無(wú)法確定你的源地址(如果這樣,Nmap會(huì)給出 提示)。此時(shí),使用-S選項(xiàng)并說(shuō)明所需發(fā)送包的接口IP地址。-e選項(xiàng)常在這種情況下使用,也可采用-P0選項(xiàng)。

-e(指定使用的網(wǎng)絡(luò)接口)

告訴nmap使用哪個(gè)網(wǎng)絡(luò)接口收發(fā)報(bào)文

--source-port; -g(源端口欺騙)

只需要提供一個(gè)端口號(hào),Nmap就可以從這些 端口發(fā)送數(shù)據(jù)。為使特定的操作系統(tǒng)正常工作,Nmap必須使用不同的端口號(hào)。 DNS請(qǐng)求會(huì)忽略--source-port選項(xiàng),這是因?yàn)镹map依靠系 統(tǒng)庫(kù)來(lái)處理。大部分TCP掃描,包括SYN掃描,可以完全支持這些選項(xiàng),UDP掃 描同樣如此。

--date

可以用這樣的格式指定值 --data 0xdeadbeef --data \xCA\xFE\x09如果指定0x00ff 這個(gè)的數(shù)字,將不會(huì)做字節(jié)序轉(zhuǎn)換。確保你的字節(jié)序,對(duì)方可以接受

--data-string

例如,--data-string "Scan conducted by Security Ops, extension 7192" or --data-string "Ph34r my l33t skills"

--data-length(發(fā)送報(bào)文時(shí) 附加隨機(jī)數(shù)據(jù))

這個(gè)選項(xiàng)告訴Nmap在發(fā)送的報(bào)文上 附加指定數(shù)量的隨機(jī)字節(jié)。操作系統(tǒng)檢測(cè)(-O)包不受影響。

--ip-options; --ip-options(Send packets with specified ip options)

指定IP頭

--proxies

設(shè)置代理,支持http代理和socks4代理

--badsum(讓nmap使用一個(gè)偽造的不合法的checksum)

這樣的數(shù)據(jù)包一般都會(huì)丟棄,如果收到任何回復(fù),這個(gè)回復(fù)一定來(lái)自防火墻

--adler32(使用棄用的Adler32來(lái)代替CRC32C做SCTP的checksum)

這是為了從舊版的SCTP協(xié)議設(shè)備獲得響應(yīng)

--ttl(設(shè)置IP time-to-live域)

設(shè)置IPv4報(bào)文的time-to-live域?yàn)橹付ǖ闹怠?/p>

--randomize-hosts (對(duì)目標(biāo)主機(jī)的順序隨機(jī)排列)

告訴Nmap在掃描主機(jī)前對(duì)每個(gè)組中的主機(jī)隨機(jī)排列,最多可達(dá) 8096個(gè)主機(jī)。

--spoof-mac(MAC地址哄騙)

要求Nmap在發(fā)送原以太網(wǎng)幀時(shí)使用指定的MAC地址,這個(gè)選項(xiàng)隱含了 --send-eth選項(xiàng),以保證Nmap真正發(fā)送以太網(wǎng)包。MAC地址有幾 種格式。如果簡(jiǎn)單地使用字符串“0”,Nmap選擇一個(gè)完全隨機(jī)的MAC 地址。如果給定的字符品是一個(gè)16進(jìn)制偶數(shù)(使用:分隔),Nmap將使用這個(gè)MAC地址。 如果是小于12的16進(jìn)制數(shù)字,Nmap會(huì)隨機(jī)填充剩下的6個(gè)字節(jié)。如果參數(shù)不是0或16進(jìn) 制字符串,Nmap將通過(guò)nmap-mac-prefixes查找 廠商的名稱(大小寫區(qū)分),如果找到匹配,Nmap將使用廠商的OUI(3字節(jié)前綴),然后 隨機(jī)填充剩余的3個(gè)節(jié)字。正確的--spoof-mac參數(shù)有, Apple, 0,01:02:03:04:05:06, deadbeefcafe,0020F2, 和Cisco。

十、輸出

-oN(標(biāo)準(zhǔn)輸出)

將結(jié)果輸入制定文件

-oX(XML輸出)

將XML輸出寫入指定文件

-oS(ScRipT KIdd|3 oUTpuT)

腳本小子輸出類似于交互工具輸出,這是一個(gè)事后處理,適合于 'l33t HaXXorZ, 由于原來(lái)全都是大寫的Nmap輸出。

-oG(Grep輸出)

這種方式最后介紹,因?yàn)椴唤ㄗh使用。XML輸格式很強(qiáng)大,便于有經(jīng)驗(yàn) 的用戶使用。XML是一種標(biāo)準(zhǔn),由許多解析器構(gòu)成,而Grep輸屆更簡(jiǎn)化。XML是可擴(kuò)展的,以支持新發(fā)布的Nmap特點(diǎn)。使用Grep輸出的目的是忽略這些 特點(diǎn),因?yàn)闆](méi)有足夠的空間。然而,Grep輸出仍然很常使用。它是一種簡(jiǎn)單格式,每行一個(gè)主機(jī),可以 通過(guò)UNIX工具(如grep、awk、cut、sed、diff)和Perl方便地查找和分解。???用于在命令行上進(jìn)行一次性測(cè)式。查找ssh端口打開(kāi)或運(yùn)行Sloaris的主機(jī),只需要一個(gè)簡(jiǎn)單的grep主機(jī)說(shuō)明,使用通道并通過(guò)awk或cut命令打印所需的域。Grep輸出可以包含注釋(每行由#號(hào)開(kāi)始)。每行由6個(gè)標(biāo)記的域組成,由制表符及 冒號(hào)分隔。這些域有主機(jī),端口, 協(xié)議,忽略狀態(tài),操作系統(tǒng),序列號(hào), IPID和狀態(tài)。這些域中最重要的是Ports,它提供了所關(guān)注的端口的細(xì)節(jié),端口項(xiàng)由逗號(hào)分隔。每個(gè)端口項(xiàng)代表一個(gè)所關(guān)注的端口,每個(gè)子域由/分隔。這些子域有:端口號(hào), 狀態(tài),協(xié)議, 擁有者,服務(wù), SunRPCinfo和版本信息。對(duì)于XML輸出,本手冊(cè)無(wú)法列舉所有的格式,有關(guān)Nmap Grep輸出的更詳細(xì)信息可 查閱http://www.unspecific.com/nmap-oG-output。

-oA(輸出至所有格式)

為使用方便,利用-oA選項(xiàng) 可將掃描結(jié)果以標(biāo)準(zhǔn)格式、XML格式和Grep格式一次性輸出。分別存放在.nmap,.xml和.gnmap文件中。也可以在文件名前 指定目錄名,如在UNIX中,使用~/nmaplogs/foocorp/, 在Window中,使用c:\hacking\sco on Windows。

-v(提高輸出信息的詳細(xì)程度)

-d [level](設(shè)置調(diào)試級(jí)別)

--packet-trace(跟蹤發(fā)出的報(bào)文)

-iflist(列舉端口和路由)

--append-out(在輸出文件住追加)

但對(duì)于XML(-oX)掃描輸出 文件無(wú)效,無(wú)法正常解析,需要手工修改。

--resume(繼續(xù)中斷的掃描)

如果標(biāo)準(zhǔn)掃描 (-oN)或Grep掃描(-oG)日志 被保留,用戶可以要求Nmap恢復(fù)終止的掃描,只需要簡(jiǎn)單地使用選項(xiàng) --resume并說(shuō)明標(biāo)準(zhǔn)/Grep掃描輸出文件,不允許 使用其它參數(shù),Nmap會(huì)解析輸出文件并使用原來(lái)的格式輸出。使用方式 如nmap --resume。Nmap將把新地結(jié)果添加到文件中,這種方式不支持XML輸出格式,原因是將兩次運(yùn)行結(jié)果合并至一個(gè)XML文件比較困難。

--stylesheet(設(shè)置XSL樣式表,轉(zhuǎn)換XML輸出)

--webxml

--stylesheethttps://nmap.org/svn/docs/nmap.xsl的簡(jiǎn)寫。

--no-stylesheet (忽略XML聲明的XSL樣式表)

--open

只顯示開(kāi)放或者可能開(kāi)放的端口

--stats-every(周期性的輸出統(tǒng)計(jì)數(shù)據(jù))

--stats-every 10s 每10秒輸出一次,,這個(gè)輸出會(huì)被輸出到標(biāo)準(zhǔn)輸出,和XML文件

--reason(打印主機(jī)和端口狀態(tài)的原因)

十一、其他選項(xiàng)

-6(啟用IPv6掃描)

-A(強(qiáng)力掃描模式)

個(gè)選項(xiàng)啟用了操作系統(tǒng)檢測(cè)(-O) 和版本掃描(-sV),以后會(huì)增加更多的功能。 目的是啟用一個(gè)全面的掃描選項(xiàng)集合,不需要用戶記憶大量的 選項(xiàng)。這個(gè)選項(xiàng)僅僅啟用功能,不包含用于可能所需要的 時(shí)間選項(xiàng)(如-T4)或細(xì)節(jié)選項(xiàng)(-v)。

--datadir <文件夾名稱> (說(shuō)明nmap用戶數(shù)據(jù)文件的位置)

Nmap在運(yùn)行時(shí)從文件中獲得特殊的數(shù)據(jù),這些文件有 nmap-service-probes, nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes和 nmap-os-fingerprints。Nmap首先 在--datadir選項(xiàng)說(shuō)明的目錄中查找這些文件。 未找到的文件,將在BMAPDIR環(huán)境變量說(shuō)明的目錄中查找。 接下來(lái)是用于真正和有效UID的~/.nmap 或Nmap可執(zhí)行代碼的位置(僅Win32);然后是是編譯位置, 如/usr/local/share/nmap 或/usr/share/nmap。 Nmap查找的最后一個(gè)位置是當(dāng)前目錄。

--send-ip (在原IP層發(fā)送)

要求Nmap通過(guò)原IP套接字發(fā)送報(bào)文,而不是低層的以 太網(wǎng)幀。這是--send-eth選項(xiàng)的補(bǔ)充。

--send-eth

使用raw ethernet包來(lái)發(fā)包

--privileged (假定用戶具有全部權(quán)限)

告訴Nmap假定其具有足夠的權(quán)限進(jìn)行源套接字包發(fā)送、 報(bào)文捕獲和類似UNIX系統(tǒng)中根用戶操作的權(quán)限。默認(rèn)狀態(tài)下, 如果由getuid()請(qǐng)求的類似操作不為0,Nmap將退出。 --privileged在具有Linux內(nèi)核性能的類似 系統(tǒng)中使用非常有效,這些系統(tǒng)配置允許非特權(quán)用戶可以進(jìn)行 原報(bào)文掃描。需要明確的是,在其它選項(xiàng)之前使用這些需要權(quán) 限的選項(xiàng)(SYN掃描、操作系統(tǒng)檢測(cè)等)。Nmap-PRIVILEGED變量 設(shè)置等價(jià)于--privileged選項(xiàng)。

--unprivileged(假定用戶沒(méi)有特權(quán))

--interactive (在交互模式中啟動(dòng))

在交互模式中啟動(dòng)Nmap,提供交互式的Nmap提示,便于 進(jìn)行多個(gè)掃描(同步或后臺(tái)方式)。對(duì)于從多用戶系統(tǒng)中掃描 的用戶非常有效,這些用戶常需要測(cè)試他們的安全性,但不希望 系統(tǒng)中的其它用戶知道他們掃描哪些系統(tǒng)。使用--interactive 激活這種方式,然后輸入h可 獲得幫助信息。由于需要對(duì)正確的shell程序和整個(gè)功能非常熟悉, 這個(gè)選項(xiàng)很少使用。這個(gè)選項(xiàng)包含了一個(gè)!操作符,用于執(zhí)行shell命令, 這是不安裝Nmap setuid root的多個(gè)原因之一。

--release-memory (退出后namp自己釋放內(nèi)存)

--servicedb

nmap-service文件的路徑

--versiondb

nmap-service-probes文件路徑

-V;--version (查看版本)

-h;--help(簡(jiǎn)要的使用介紹)

十二、NSE腳本引擎

https://nmap.org/nsedoc/具體腳本的使用手冊(cè)

--script <腳本名>

腳本名字前面加 + 會(huì)讓腳本強(qiáng)制執(zhí)行指定名字的時(shí)候可以使用shell風(fēng)格的通配符"*"。

nmap --script "http-*"

加載所有的名字以http-開(kāi)頭的腳本,必須用引號(hào)包起來(lái),讓通配符不受shell影響。

nmap --script "not intrusive"

加載所有非入侵類型的腳本

nmap --script "default or safe"

在功能上等同于nmap --script "default,safe"加載了所有默認(rèn)類或者安全類,或者是兩者都包含的。

nmap --script "default and safe"

加載在同屬于兩者的腳本

nmap --script "(default or safe or intrusive) and not http-*"

加載屬于默認(rèn)類或者安全類或者入侵類的但是名字開(kāi)頭不是http-的腳本

--script-args=,={=},={,}

指定腳本參數(shù),里面不能有‘{’, ‘}’, ‘=’, or ‘,’,如果要用就用\轉(zhuǎn)義

--script-args-file

從一個(gè)文件獲取腳本參數(shù)

--script-trace

打印出腳本執(zhí)行的具體信息

--script-updatedb

更新腳本庫(kù)

微信掃一掃

關(guān)注該公眾號(hào)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容