一、初始Nmap
Nmap("Network Mapper(網絡映射器)")是一款開放源代碼的網絡探測和安全審核的工具。它的設計目標是快速地掃描大型網絡,當然用它掃描單個主機也沒有問題。Nmap以新穎的方式使用原始IP報文來發現網絡上有哪些主機,那些主機提供什么服務(應用程序名和版本),那些服務運行在什么操作系統(包括版本信息),它們使用什么類型的報文過濾器/防火牆,以及一堆其它功能。雖然Nmap通常用於安全審核,許多系統管理員和網絡管理員也用它來做一些日常的工作,比如查看整個網絡的信息,管理服務升級計划,以及監視主機和服務的運行。
Nmap的一些功能
- 檢測活在網絡上的主機(發現主機)
- 檢測主機上開放的端口(端口發現和枚舉)
- 檢測到相應的端口(服務發現)的軟件和版本
- 檢測操作系統,硬件地址,以及軟件版本
- 檢測脆弱性的漏洞(Nmap的腳本)
二、Nmap常用掃描指令
-sS:TCP SYN掃描(前面的s表示掃描,S表示掃描的方式)
-p:指定端口號掃描
-v:顯示掃描過程
-F:快速掃描
-Pn:禁止ping后掃描:跳過主機發現的過程進行端口掃描
-A:全面的系統掃描:包括打開操作系統檢測、版本探測、腳本掃描、路徑跟蹤
掃描指定IP開放端口
命令:
nmap -sS -p 端口號 -v xxx.xxx.xxx.xxx //使用半開掃描,指定端口號1-65535,顯示掃描過程(端口不指定默認掃描全部端口)
穿透防火牆掃描
命令:
nmap -Pn -A xxx.xxx.xxx.xxx
服務器禁止ping命令,試試-Pn,nmap參數配合使用
-sU:UDP掃描
-sT:TCP掃描
-sV:掃描系統版本和程序版本號檢測
-n:禁止反向域名解析
-R:反向域名解析
-6:啟用IPv6掃描
-scrpt=vuln:全面的漏洞掃描
漏洞掃描
命令:
nmap -script=vuln xxx.xxx.xxx.xxx //使用vuln腳本進行全面的漏洞掃描
指紋識別掃描
命令:
nmap -sV -v xxx.xxx.xxx.xxx //掃描系統和程序版本號檢測,並且顯示掃描過程
三、Nmap掃描狀態
Opend:端口開啟
Closed:端口關閉
Filtered:端口被過濾,數據沒有到達主機,返回的結果為空,數據被防火牆
Unfiltered:未被過濾,數據有到達主機,但是不能識別端口的當前狀態
Open|filtered:開放或者被過濾,端口沒有返回值,主要發生在UDP、IP、FIN、NULL和Xmas掃描中
Closed|filtered:關閉或者被過濾,只發生在IP ID idle掃描
四、Nmap漏洞掃描
腳本保存位置:/usr/share/nmap/scripts
root@kali:/usr/share/nmap/scripts# ls | grep whois
whois-domain.nse
whois-ip.nse
1、whois信息查詢
whois信息掃描
命令:
nmap -script=whois-domain shop.aqlab.cn(站點) //使用whois腳本對站點進行whois信息查詢
2、DNS解析查詢
root@kali:/usr/share/nmap/scripts# ls | grep dns
broadcast-dns-service-discovery.nse
dns-blacklist.nse
dns-brute.nse
DNS解析爆破掃描
命令:
nmap --script=dns-brute shop.aqlab.cn(站點) //使用DNS爆破腳本進行dns解析掃描
五、Nmap報告輸出
標准保存
命令:
mnap -oN test.txt shop.aqlab.cn //標准保存會包輸出結果到指定文件
保存為Xml格式
命令:
nmap -oX test.xml shop.aqlab.cn //保存為xml格式需要用瀏覽器打開查看結果