- 一、nmap是什么
- 二、使用說明
- 三、常用示例
- 四、nmap29個實用范例
- 1.用主機名和IP地址掃描系統
- 2.掃描使用“-v”選項
- 3.掃描多台主機
- 4.掃描整個子網
- 5.使用IP地址的最后一個字節掃描多台服務器
- 6.從一個文件中掃描主機列表
- 7..掃描一個IP地址范圍
- 8.排除一些遠程主機后再掃描
- 9.掃描操作系統信息和路由跟蹤
- 10.啟用Nmap的操作系統探測功能
- 11.掃描主機偵測防火牆
- 12.掃描主機檢測是否有防火牆保護
- 13.找出網絡中的在線主機
- 14.執行快速掃描
- 15.查看Nmap的版本
- 順序掃描端口
- 17.打印主機接口和路由
- 18.掃描特定的端口
- 19.掃描TCP端口
- 20.掃描UDP端口
- 21.掃描多個端口
- 22.掃描指定范圍內的端口
- 23.查找主機服務版本號
- 24.使用TCP ACK (PA)和TCP Syn (PS)掃描遠程主機
- 25.使用TCP ACK掃描遠程主機上特定的端口
- 26. 使用TCP Syn掃描遠程主機上特定的端口
- 27.執行一次隱蔽的掃描
- 28.使用TCP Syn掃描最常用的端口
- 29.執行TCP空掃描以騙過防火牆
一、nmap是什么
nmap是一款網絡掃描和主機檢測的非常有用的工具,不局限於僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用於winodws,linux,mac等操作系統。Nmap是一款非常強大的實用工具,可用於:
作用:
- 檢測活在網絡上的主機(主機發現)
- 檢測主機上開放的端口(端口發現或枚舉)
- 檢測到相應的端口(服務發現)的軟件和版本
- 檢測操作系統,硬件地址,以及軟件版本
- 檢測脆弱性的漏洞(nmap的腳本)
二、使用說明
namp [掃描類型] [掃描參數] [hosts 地址與范圍]
選項與參數:
*** [掃描類型]*** :主要的掃描類型有下面幾種:
-sT : 掃描TCP數據包已建立的連接connect()
-sS : 掃描TCP數據包帶有SYN卷標的數據
-sP : 以ping的方式進行掃描
-sU : 以UDP的數據包格式進行掃描
-sO : 以IP的協議(protocol)進行主機的掃描
[掃描參數]: 主要的掃描參數有幾種:
-PT : 使用TCP里頭的ping的方式來進行掃描,可以獲知目前有幾台計算機存在(較常用)
-PI : 使用實際的ping(帶有ICMP數據包的)來進行掃描
-p : 這個是port range,例如1024-、80-1023、30000-60000等的使用方式
[hosts地址與范圍]:這個有趣多了,有幾種類似的類型
192.168.1.100 : 直接寫入HOST IP而已,僅檢查一台
192.168.1.0/24 : 為C Class的形態
192.168.. : 為B Class的形態,掃描的范圍變廣了
192.168.1.0-50,60-100,103,200 : 這種是變形的主機范圍
三、常用示例
1.使用默認參數掃描本機所啟用的port(只會掃描TCP)
➜ ~ nmap localhost
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
631/tcp open ipp
873/tcp open rsync
8080/tcp open http-proxy
...
Nmap done: 1 IP address (1 host up) scanned in 2.77 seconds
2.同時掃描本機的TCP/UDP端口
➜ ~ nmap -sTU localhost
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
...
68/udp open|filtered dhcpc
631/udp open|filtered ipp
...
3.通過ICMP數據包檢測,分析局域網內有幾台主機是啟動的
➜ ~ nmap -sP 192.168.199.0/24
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-05 00:13 CST
Nmap scan report for Hiwifi.lan (192.168.199.1)
Host is up (0.0036s latency).
Nmap scan report for yeelink-light-lamp1_miio92822016.lan (192.168.199.103)
Host is up (0.0043s latency).
Nmap scan report for chenqionghe.lan (192.168.199.141)
Host is up (0.0010s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 1.54 seconds
(3 hosts up) 代表有3台主機正在運行
4.對多個host進行端口掃描
nmap 192.168.199.0/24
nmap 192.168.1.2 192.168.1.5
nmap 192.168.1.1-100 (掃描IP地址為192.168.1.1-192.168.1.100內的所有主機)
5.掃描特定的端口
使用Nmap掃描遠程機器的端口有各種選項,你可以使用“-P”選項指定你想要掃描的端口,默認情況下nmap只掃描TCP端口。
nmap -p 80 localhost
nmap -p 80,443 localhost
nmap -p 8080-8888 localhost
四、nmap29個實用范例
1.用主機名和IP地址掃描系統
主機名
nmap server2.tecmint.com
IP
nmap 192.168.0.101
2.掃描使用“-v”選項
你可以看到下面的命令使用“ -v “選項后給出了遠程機器更詳細的信息。
nmap -v server2.tecmint.com
3.掃描多台主機
在Nmap命令后加上多個IP地址或主機名來掃描多台主機。
nmap 192.168.0.101 192.168.0.102 192.168.0.103
4.掃描整個子網
可以使用*通配符來掃描整個子網或某個范圍的IP地址
nmap 192.168.0.*
5.使用IP地址的最后一個字節掃描多台服務器
指定IP地址的最后一個字節來對多個IP地址進行掃描。例如,我在下面執行中掃描了IP地址192.168.0.101,192.168.0.102和192.168.0.103。
nmap 192.168.0.101,102,103
6.從一個文件中掃描主機列表
如果你有多台主機需要掃描且所有主機信息都寫在一個文件中,那么你可以直接讓nmap讀取該文件來執行掃描,讓我們來看看如何做到這一點。
創建一個名為“nmaptest.txt ”的文本文件,並定義所有你想要掃描的服務器IP地址或主機名。
cat > nmaptest.txt
localhost
server2.tecmint.com
192.168.0.101
接下來運行帶“iL” 選項的nmap命令來掃描文件中列出的所有IP地址
nmap -iL nmaptest.txt
7..掃描一個IP地址范圍
nmap 192.168.0.101-110
8.排除一些遠程主機后再掃描
在執行全網掃描或用通配符掃描時你可以使用“-exclude”選項來排除某些你不想要掃描的主機。
nmap 192.168.0.* --exclude 192.168.0.100
9.掃描操作系統信息和路由跟蹤
使用Nmap,你可以檢測遠程主機上運行的操作系統和版本。為了啟用操作系統和版本檢測,腳本掃描和路由跟蹤功能,我們可以使用NMAP的“-A“選項。
nmap -A 192.168.0.101
10.啟用Nmap的操作系統探測功能
使用選項“-O”和“-osscan-guess”也幫助探測操作系統信息。
nmap -O server2.tecmint.com
11.掃描主機偵測防火牆
下面的命令將掃描遠程主機以探測該主機是否使用了包過濾器或防火牆。
nmap -sA 192.168.0.101
12.掃描主機檢測是否有防火牆保護
掃描主機檢測其是否受到數據包過濾軟件或防火牆的保護。
nmap -PN 192.168.0.101
13.找出網絡中的在線主機
使用“-sP”選項,我們可以簡單的檢測網絡中有哪些在線主機,該選項會跳過端口掃描和其他一些檢測。
nmap -sP 192.168.0.*
14.執行快速掃描
你可以使用“-F”選項執行一次快速掃描,僅掃描列在nmap-services文件中的端口而避開所有其它的端口。
nmap -F 192.168.0.101
15.查看Nmap的版本
nmap -V
順序掃描端口
使用“-r”選項表示不會隨機的選擇端口掃描。
nmap -r 192.168.0.101
17.打印主機接口和路由
你可以使用nmap的“–iflist”選項檢測主機接口和路由信息。
nmap --iflist
18.掃描特定的端口
使用Nmap掃描遠程機器的端口有各種選項,你可以使用“-P”選項指定你想要掃描的端口,默認情況下nmap只掃描TCP端口。
nmap -p 80 server2.tecmint.com
19.掃描TCP端口
你可以指定具體的端口類型和端口號來讓nmap掃描。
nmap -p T:8888,80 server2.tecmint.com
20.掃描UDP端口
nmap -sU 53 server2.tecmint.com
21.掃描多個端口
你還可以使用選項“-P”來掃描多個端口。
nmap -p 80,443 192.168.0.101
22.掃描指定范圍內的端口
您可以使用表達式來掃描某個范圍內的端口。
nmap -p 80-160 192.168.0.101
23.查找主機服務版本號
nmap -sV 192.168.0.101
24.使用TCP ACK (PA)和TCP Syn (PS)掃描遠程主機
有時候包過濾防火牆會阻斷標准的ICMP ping請求,在這種情況下,我們可以使用TCP ACK和TCP Syn方法來掃描遠程主機。
nmap -PS 192.168.0.101
25.使用TCP ACK掃描遠程主機上特定的端口
nmap -PA -p 22,80 192.168.0.101
26. 使用TCP Syn掃描遠程主機上特定的端口
nmap -PS -p 22,80 192.168.0.101
27.執行一次隱蔽的掃描
nmap -sS 192.168.0.101
28.使用TCP Syn掃描最常用的端口
nmap -sT 192.168.0.101
29.執行TCP空掃描以騙過防火牆
nmap -sN 192.168.0.101