nmap是一款網絡掃描和主機檢測的很是有用的工具,不侷限於僅僅收集信息和枚舉,同時能夠用來做爲一個漏洞探測器或安全掃描器。它能夠適用於winodws,linux,mac等操做系統。Nmap是一款很是強大的實用工具,可用於:
做用:
- 檢測活在網絡上的主機(主機發現)
- 檢測主機上開放的端口(端口發現或枚舉)
- 檢測到相應的端口(服務發現)的軟件和版本
- 檢測操做系統,硬件地址,以及軟件版本
- 檢測脆弱性的漏洞(nmap的腳本)linux
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-102三、30000-60000等的使用方式安全
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 : 這種是變形的主機範圍服務器
➜ ~ 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
➜ ~ nmap -sTU localhost PORT STATE SERVICE 22/tcp open ssh 80/tcp open http ... 68/udp open|filtered dhcpc 631/udp open|filtered ipp ...
➜ ~ 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臺主機正在運行網絡
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內的全部主機)
使用Nmap掃描遠程機器的端口有各類選項,你可使用「-P」選項指定你想要掃描的端口,默認狀況下nmap只掃描TCP端口。ssh
nmap -p 80 localhost nmap -p 80,443 localhost nmap -p 8080-8888 localhost
英文原版tcp
主機名工具
nmap server2.tecmint.com
IP操作系統
nmap 192.168.0.101
你能夠看到下面的命令使用「 -v 「選項後給出了遠程機器更詳細的信息。code
nmap -v server2.tecmint.com
在Nmap命令後加上多個IP地址或主機名來掃描多臺主機。server
nmap 192.168.0.101 192.168.0.102 192.168.0.103
可使用*通配符來掃描整個子網或某個範圍的IP地址
nmap 192.168.0.*
指定IP地址的最後一個字節來對多個IP地址進行掃描。例如,我在下面執行中掃描了IP地址192.168.0.101,192.168.0.102和192.168.0.103。
nmap 192.168.0.101,102,103
若是你有多臺主機須要掃描且全部主機信息都寫在一個文件中,那麼你能夠直接讓nmap讀取該文件來執行掃描,讓咱們來看看如何作到這一點。
建立一個名爲「nmaptest.txt 」的文本文件,並定義全部你想要掃描的服務器IP地址或主機名。
cat > nmaptest.txt localhost server2.tecmint.com 192.168.0.101
接下來運行帶「iL」 選項的nmap命令來掃描文件中列出的全部IP地址
nmap -iL nmaptest.txt
nmap 192.168.0.101-110
在執行全網掃描或用通配符掃描時你可使用「-exclude」選項來排除某些你不想要掃描的主機。
nmap 192.168.0.* --exclude 192.168.0.100
使用Nmap,你能夠檢測遠程主機上運行的操做系統和版本。爲了啓用操做系統和版本檢測,腳本掃描和路由跟蹤功能,咱們可使用NMAP的「-A「選項。
nmap -A 192.168.0.101
使用選項「-O」和「-osscan-guess」也幫助探測操做系統信息。
nmap -O server2.tecmint.com
下面的命令將掃描遠程主機以探測該主機是否使用了包過濾器或防火牆。
nmap -sA 192.168.0.101
掃描主機檢測其是否受到數據包過濾軟件或防火牆的保護。
nmap -PN 192.168.0.101
使用「-sP」選項,咱們能夠簡單的檢測網絡中有哪些在線主機,該選項會跳過端口掃描和其餘一些檢測。
nmap -sP 192.168.0.*
你可使用「-F」選項執行一次快速掃描,僅掃描列在nmap-services文件中的端口而避開全部其它的端口。
nmap -F 192.168.0.101
nmap -V
使用「-r」選項表示不會隨機的選擇端口掃描。
nmap -r 192.168.0.101
你可使用nmap的「–iflist」選項檢測主機接口和路由信息。
nmap --iflist
使用Nmap掃描遠程機器的端口有各類選項,你可使用「-P」選項指定你想要掃描的端口,默認狀況下nmap只掃描TCP端口。
nmap -p 80 server2.tecmint.com
你能夠指定具體的端口類型和端口號來讓nmap掃描。
nmap -p T:8888,80 server2.tecmint.com
nmap -sU 53 server2.tecmint.com
你還可使用選項「-P」來掃描多個端口。
nmap -p 80,443 192.168.0.101
您可使用表達式來掃描某個範圍內的端口。
nmap -p 80-160 192.168.0.101
nmap -sV 192.168.0.101
有時候包過濾防火牆會阻斷標準的ICMP ping請求,在這種狀況下,咱們可使用TCP ACK和TCP Syn方法來掃描遠程主機。
nmap -PS 192.168.0.101
nmap -PA -p 22,80 192.168.0.101
nmap -PS -p 22,80 192.168.0.101
nmap -sS 192.168.0.101
nmap -sT 192.168.0.101
nmap -sN 192.168.0.101