
【基本介紹】
nmap中文版掃描端口是一款專門針對(duì)大型網(wǎng)絡(luò)而精心制作的連接端口掃描軟件,軟件內(nèi)置的功能十分的強(qiáng)大,并且操作的界面更是簡潔明晰,nmap中文版掃描端口能輕松的掃描出電腦服務(wù)運(yùn)行在哪些端口上,并且推斷主機(jī)所on個(gè)的操作系統(tǒng),是專業(yè)網(wǎng)絡(luò)管理員必備的網(wǎng)絡(luò)安全工具之一,為用戶帶來方便快捷的體驗(yàn)。
【官方介紹】
nmap是一款特別適合技術(shù)人員使用的輔助端口掃描工具,支持UDP、TCP、ICMP等多種協(xié)議,可以幫助用戶快速掃描指定網(wǎng)站端口占用信息。這次為大家?guī)淼氖莕map中文版,已將全部界面注釋成中文字樣,方便用戶輕松理解使用。nmap會(huì)將掃描結(jié)果以列表的形式清晰呈現(xiàn)在用戶眼前,每個(gè)目標(biāo)的詳細(xì)信息都會(huì)直觀顯示,無論是查看還是調(diào)用都會(huì)更加的方便。除此之外,nmap最新版支持對(duì)目標(biāo)機(jī)其他信息進(jìn)行快速掃描,滿足多方位個(gè)性化需求。
【特色功能】
主機(jī)發(fā)現(xiàn)(Host Discovery)用于發(fā)現(xiàn)目標(biāo)主機(jī)是否處于活動(dòng)狀態(tài)(Active)。
Nmap提供了多種檢測機(jī)制,可以更有效地辨識(shí)主機(jī)。例如可用來列舉目標(biāo)網(wǎng)絡(luò)中哪些主機(jī)已經(jīng)開啟,類似于Ping命令的功能。
端口掃描(Port Scanning)
用于掃描主機(jī)上的端口狀態(tài)。
Nmap可以將端口識(shí)別為開放(Open)、關(guān)閉(Closed)、過濾(Filtered)、未過濾(Unfiltered)、開放|過濾(Open|Filtered)、關(guān)閉|過濾(Closed|Filtered)。默認(rèn)情況下,
Nmap會(huì)掃描1000個(gè)常用的端口,可以覆蓋大多數(shù)基本應(yīng)用情況。
版本偵測(Version Detection)
用于識(shí)別端口上運(yùn)行的應(yīng)用程序與程序版本。
Nmap目前可以識(shí)別數(shù)千種應(yīng)用的簽名(Signatures),檢測數(shù)百種應(yīng)用協(xié)議。而對(duì)于不識(shí)別的應(yīng)用,Nmap默認(rèn)會(huì)將應(yīng)用的指紋(Fingerprint)打印出來,如果用戶確知該應(yīng)用程序,那么用戶可以將信息提交到社區(qū),為社區(qū)做貢獻(xiàn)。
操作系統(tǒng)偵測(OS detection)
用于識(shí)別目標(biāo)機(jī)的操作系統(tǒng)類型、版本編號(hào)及設(shè)備類型。
Nmap目前提供了上千種操作系統(tǒng)或設(shè)備的指紋數(shù)據(jù)庫,可以識(shí)別通用PC系統(tǒng)、路由器、交換機(jī)等設(shè)備類型。
防火墻/IDS規(guī)避(Firewall/IDS evasion)
Nmap提供多種機(jī)制來規(guī)避防火墻、IDS的的屏蔽和檢查,便于秘密地探查目標(biāo)機(jī)的狀況。
基本的規(guī)避方式包括:分片(Fragment)/IP誘騙(IP decoys)/IP偽裝(IP spoofing)/MAC地址偽裝(MAC spoofing)等等。
NSE腳本引擎(Nmap Scripting Engine)
NSE是Nmap最強(qiáng)大最靈活的特性之一,可以用于增強(qiáng)主機(jī)發(fā)現(xiàn)、端口掃描、版本偵測、操作系統(tǒng)偵測等功能,還可以用來擴(kuò)展高級(jí)的功能如web掃描、漏洞發(fā)現(xiàn)、漏洞利用等
等。Nmap使用Lua語言來作為NSE腳本語言,目前的Nmap腳本庫已經(jīng)支持350多個(gè)腳本。

【安裝步驟】
1、雙擊打開下載的.exe文件
2、右鍵點(diǎn)擊計(jì)算機(jī)選擇“屬性”

3、點(diǎn)擊“高級(jí)系統(tǒng)設(shè)置”

4、點(diǎn)擊“環(huán)境變量”

5、點(diǎn)擊“新建”,輸入變量名:“LANG”,變量值:“pt_BR”,點(diǎn)擊確定

6、打開Nmap目錄(右鍵點(diǎn)擊桌面Nmap選擇“屬性”,點(diǎn)擊“打開文件位置”)

7、打開sharezenmaplocalept_BRLC_MESSAGES目錄,將漢化文件“zenmap.mo”復(fù)制入內(nèi)覆蓋原文件即可。
【基本教程】
登陸Kali虛擬機(jī),打開終端,輸入:nmap -V,查看nmap當(dāng)前版本。
查看本地路由與接口:nmap --iflist。

掃描網(wǎng)絡(luò)上的存活主機(jī),此處以掃描我自家的局域網(wǎng)為例:nmap 192.168.0.1/24。掃描結(jié)果發(fā)現(xiàn)4個(gè)存活主機(jī),分別是路由器、連接WiFi的手機(jī)、Windows宿主機(jī)和Kali虛擬機(jī)。


掃描指定主機(jī)上的端口,此處以掃描我的Windows宿主機(jī)為例:nmap -p 443 192.168.0.101。掃描結(jié)果可以看到443端口是開放的,提供的是https服務(wù)。

檢測指定主機(jī)的操作系統(tǒng)版本,此處以掃描103.85.24.188為例:nmap -O 103.85.24.188。檢查結(jié)果給出所有可能性結(jié)果和相應(yīng)概率。

掃描指定主機(jī)防火墻開啟狀態(tài),此處以掃描我的Windows宿主機(jī)為例:nmap -sA 192.168.0.101。掃描結(jié)果顯示為unfiltered(未過濾狀態(tài)),表示未開啟防火墻;掃描結(jié)果為filtered(過濾狀態(tài)),表示掃描目標(biāo)已開啟防火墻。

【進(jìn)階技巧】
一、操作系統(tǒng)的探測Nmap在探測操作系統(tǒng)使用-O選項(xiàng)可啟用操作系統(tǒng)探測,這里是字母“O”不是數(shù)字“0”,我們探測一個(gè)操作系統(tǒng),結(jié)果得知是一個(gè)linux系統(tǒng),內(nèi)核版本為2.6.x;

我們?cè)趻呙枰粋€(gè)windows操作系統(tǒng),檢測出為windows xp系統(tǒng),windows防火墻開啟的話有可能會(huì)掃描不到或者確定不了那個(gè)系統(tǒng)版本,nmap會(huì)針對(duì)版本的可能性列出百分比;

通常情況我們使用-O的同時(shí)配合-A參數(shù)已達(dá)到更好的效果來檢測操作系統(tǒng);可識(shí)別出操作系統(tǒng)更詳細(xì)的一些信息,如計(jì)算機(jī)名稱用戶名稱等;

對(duì)于指定的目標(biāo)進(jìn)行操作系統(tǒng)檢測,使用--osscan-limit,這個(gè)選項(xiàng)僅在使用-O或者-A進(jìn)行操作系統(tǒng)檢測是起作用;

Nmap對(duì)系統(tǒng)進(jìn)行識(shí)別時(shí)并不一定能準(zhǔn)確識(shí)別,當(dāng)無法準(zhǔn)確識(shí)別的時(shí)候, 使用--osscan-guess --fuzzy選項(xiàng)可以推測系統(tǒng)并識(shí)別,--fuzzy不一起使用。

二、Nmap隱蔽掃描
有3個(gè)選項(xiàng),分別為-sN、-sF、-sX。-sN是Null掃描,通過發(fā)送非常規(guī)的TCP通信數(shù)據(jù)包對(duì)計(jì)算機(jī)進(jìn)行探測,Null掃描不會(huì)標(biāo)記任何數(shù)據(jù)包,目標(biāo)主機(jī)相應(yīng)端口關(guān)閉,會(huì)響應(yīng)一個(gè)RST數(shù)據(jù)包,開發(fā)則不會(huì)響應(yīng)任何信息;

抓取Nmap掃描的數(shù)據(jù)包,21端口為開放的在數(shù)據(jù)包中查詢不到目標(biāo)主機(jī)發(fā)送回來的報(bào)文,110 POP3郵件協(xié)議返回RST包;


-sF是FIN掃描,使用TCP SYN掃描可能會(huì)被主機(jī)防火墻發(fā)現(xiàn)阻止,使用FIN掃描不需要完成TCP握手,TCP FIN掃描是向目標(biāo)端口發(fā)送一個(gè)FIN包,收到響應(yīng)RST包,說明目標(biāo)端口是開發(fā)的,如果沒有收到RST則說明是關(guān)閉的。

抓取Nmap掃描的數(shù)據(jù)包,80端口為開放的在數(shù)據(jù)包中查詢不到目標(biāo)主機(jī)發(fā)送回來的報(bào)文,110 POP3郵件協(xié)議返回RST包;


-sX是Xmas掃描,數(shù)據(jù)包的FIN、PSH和URG標(biāo)記位置打開,即標(biāo)志為1,如果目標(biāo)主機(jī)是開放的則會(huì)響應(yīng)一個(gè)RST標(biāo)志包;

通過抓包查看FIN、PSH和URG標(biāo)記位標(biāo)志為1,返回?cái)?shù)據(jù)包端口關(guān)閉FIN、PSH和URG標(biāo)記位標(biāo)志為0。


三、TCP掃描方式
TCP SYN Ping掃描:-PS選項(xiàng)發(fā)送一個(gè)設(shè)置了SYN標(biāo)志的空TCP報(bào)文,默認(rèn)端口80也可通過nmap.h進(jìn)行配置,也可知道端口列表以逗號(hào)隔開,通常目標(biāo)主機(jī)被防火墻阻止請(qǐng)求時(shí),可以使用TCP SYN Ping掃描來針對(duì)主機(jī)進(jìn)行存活判斷。

Nmap是通過SYN/ACK和RST響應(yīng)來對(duì)目標(biāo)主機(jī)存活進(jìn)行判斷,但是特定的情況下防火墻會(huì)丟棄RST包,為了掃描結(jié)果的準(zhǔn)確性,我們一般指定一個(gè)端口或者范圍掃描來避免這種情況。

TCP ACK Ping掃描選項(xiàng)為-PA,使用這種方式掃描可以探測阻止SYN或者ICMP Echo請(qǐng)求的主機(jī),提高通過防火墻的的概率,使用TCP ACK PIng掃描如果目標(biāo)主機(jī)不是存活狀態(tài)則不響應(yīng)該請(qǐng)求,在線則會(huì)返回一個(gè)RST包。

TCP連接掃描-sT是TCP最基礎(chǔ)的掃描方式,SYN掃描可用時(shí)比較好的一個(gè)選擇,掃描過程發(fā)送一個(gè)SYN包請(qǐng)求,如果收到RST則表示目標(biāo)端口關(guān)閉,如果目標(biāo)主機(jī)收到請(qǐng)求后響應(yīng)一個(gè)SYN+ACK包,Nmap向目標(biāo)主機(jī)發(fā)送一個(gè)ACK包,確認(rèn)連接,則表示端口是開放的。

TCP敞口掃描-sW選項(xiàng),通過檢查返回的RST報(bào)文的TCP窗口判斷目標(biāo)端口是否開放,開放端口用正數(shù)表示串口大小,關(guān)閉端口的窗口大小為0。所以收到RST包時(shí),根據(jù)TCP窗口值即可判斷目標(biāo)端口是否開放。

TCP自定義掃描,Nmap高級(jí)用法,--scanflags選項(xiàng)可以通過指定任意的TCP標(biāo)志來進(jìn)行掃描,TCP標(biāo)志URG、ACK、PSH、RST、SYN、FIN任何組合都可以,例如--scanflags URGACKPSHRSTSYNFIN設(shè)置所有的標(biāo)志位,中間沒有空格,若是不指定標(biāo)志位,使用SYN掃描方式掃描。

【注意事項(xiàng)】
常用掃描類型解開Nmap中文版命令行版的壓縮包之后,進(jìn)入Windows的命令控制臺(tái),再轉(zhuǎn)到安裝Nmap的目錄(如果經(jīng)常要用Nmap,最好把它的路徑加入到PATH環(huán)境變量)。不帶任何命令行參數(shù)
。GUI版的功能基本上和命令行版本一樣,鑒于許多人更喜歡用命令行版本,本文后面的說明就以命令行版本為主。 下面是Nmap中文版支持的四種最基本的掃描方式:
⑴ TCP connect() 端口掃描(-sT參數(shù))。
⑵ TCP同步(SYN)端口掃描(-sS參數(shù))。
⑶ UDP 端口掃描(-sU參數(shù))。
⑷ Ping掃描(-sP參數(shù))。
如果要勾畫一個(gè)網(wǎng)絡(luò)的整體情況,Ping掃描和TCP SYN掃描最為實(shí)用。Ping掃描通過發(fā)送ICMP (Internet Control Message Protocol,Internet控制消息協(xié)議)回應(yīng)請(qǐng)求數(shù)據(jù)包和TCP應(yīng)答(Acknowledge,簡寫ACK)數(shù)據(jù)包,確定主機(jī)的狀態(tài),非常適合于檢測指定網(wǎng)段內(nèi)正在運(yùn)行的主機(jī)數(shù)量。
TCP SYN掃描一下子不太好理解,但如果將它與TCP connect()掃描比較,就很容易看出這種掃描方式的特點(diǎn)。在TCP connect()掃描中,掃描器利用操作系統(tǒng)本身的系統(tǒng)調(diào)用打開一個(gè)完整的TCP連接——也就是說,掃描器打開了兩個(gè)主機(jī)之間的完整握手過程(SYN,SYN-ACK,和ACK)。一次完整執(zhí)行的握手過程表明遠(yuǎn)程主機(jī)端口是打開的。
TCP SYN掃描創(chuàng)建的是半打開的連接,它與TCP connect()掃描的不同之處在于,TCP SYN掃描發(fā)送的是復(fù)位(RST)標(biāo)記而不是結(jié)束ACK標(biāo)記(即,SYN,SYN-ACK,或RST):如果遠(yuǎn)程主機(jī)正在監(jiān)聽且端口是打開的,遠(yuǎn)程主機(jī)用SYN-ACK應(yīng)答,Nmap發(fā)送一個(gè)RST;如果遠(yuǎn)程主機(jī)的端口是關(guān)閉的,它的應(yīng)答將是RST,此時(shí)Nmap轉(zhuǎn)入下一個(gè)端口。

































