nmap基本功能及使用
nmap輸出的端口狀态
- Open(開放的): 意味着目标機器上的應用程式正在該端口監聽連接配接/封包
- Filtered(被過濾的):意味着防火牆,過濾器或者其他網絡障礙阻止了該端口被通路,Nmap無法得知它的真實狀态。當nmap收到icmp封包主機不可達封包或者目标主機無應答,常常會将目标主機的狀态設定為filtered。
- Closed(關閉的):端口上面沒有應用程式監聽,但它們随時可能開放。
- Unfiltered(未被過濾的): 這種狀态和filtered的差別在于:unfiltered的端口能被nmap通路,但是nmap根據傳回的封包無法确定端口的開放狀态,而filtered的端口不能被nmap通路。隻有用于映射防火牆規則集的ACK掃描才會把端口分類到這種狀态。
- Open|filtered狀态: 這種狀态主要是nmap無法差別端口處于open狀态還是filtered狀态。 UDP,IP協定, FIN,Null,和Xmas掃描可能把端口歸入此類。
- Closed|filtered狀态 :這種狀态主要出現在nmap無法區分端口處于closed還是filtered時。此狀态隻會出現在IP ID idle scan。
nmap文法
我們在使用Nmap的時候大多是在指令行下進行的,即使是使用可視化Zenmap也是需要遵循Nmap固定的文法格式的。
Nmap的固定文法格式如下:
nmap 【空格】【選項|多選項|協定】【空格】【目标】
ps:所有的選項與指令及選項參數都是用空格進行分割的,有時候選項與參數直接可以不用空格分割,如-p80,-p是選項,80是參數。為了使Nmap文法更加嚴謹,建議嚴格按照空格進行分割
全面掃描:
nmap -A 目标 //指定IP或域名的所有端口及其目标系統資訊等,耗時會有點長。
掃描指定段: 例:nmap 192.168.126.1-200
例:nmap 192.168.126.1-200
掃描整個C段: 例:nmap 192.168.126.0/24
例:nmap 192.168.126.0/24
nmap基本選項及解釋
主機發現:
選項 | 解釋 |
---|---|
-sP(-sn) | Ping掃描,不掃描端口 |
-P0 | 無Ping掃描 |
-PS | TCP SYN Ping 掃描 |
-PA | TCP ACK Ping 掃描 |
-PU | UDP Ping 掃描 |
-PE;PP;PM | ICMP PINg Types 掃描 |
-PR | ARP Ping 掃描 |
-n | 禁止DNS反向解析 |
-R | 反向解析域名 |
–system-dns | 使用系統域名解析器 |
-sL | 清單掃描 |
-6 | 掃描IPv6位址 |
–traceroute | 路由跟蹤 |
-PY | SCTP INIT Ping 掃描 |
端口掃描
選項 | 解釋 |
---|---|
-T | 時序掃描 |
-T | 時序掃描 |
-p | 端口掃描順序 |
-F | 快速掃描 |
-r | 排序 |
–top-ports | 掃描開放機率最高的1000個TCP端口 |
–port-ratio | 掃描一定機率以上的端口 |
-sS | TCP SYN 掃描 |
-sT | TCP 連接配接掃描 |
-sU | UDP 掃描 |
-sN;sF;sX; | 隐蔽掃描 |
-sA | TCP ACK掃描 |
-sW | TCP 視窗掃描 |
-sM | TCP Maimon 掃描 |
–scanflags | 自定義掃描 |
-sI | 空閑掃描 |
-sO | IP 協定掃描 |
-b | FTP Bounce 掃描 |
指紋識别
選項 | 解釋 |
---|---|
-sV | 版本探測 |
–allports | 全端口版本探測 |
–version-intensity | 設定掃描強度(0~9,預設為7) |
–version-light | 輕量級掃描(即強度設定為2) |
–version-all | 重量級掃描(即強度設定為9) |
–version-trace | 擷取詳細版本資訊 |
-sR | RPC掃描 |
-O | 啟用作業系統探測 |
–osscan-limit | 對指定的目标進行作業系統探測(需要配合-O或-A選項使用) |
-osscan-guess;–fuzzy | 推測系統識别 |
定時選項
選項 | 解釋 |
---|---|
–min-hostgroup | 調整并行掃描組的大小 |
–max-hostgroup | 調整并行掃描組的大小 |
–min-parallelism | 調整探測封包的并行度 |
–max-parallelism | 調整探測封包的并行度 |
–min-rtt-timeout | 調整探測封包逾時 |
–max-rtt-timeout | 調整探測封包逾時 |
–initial-rtt-timeout | 調整探測封包逾時 |
-host-timeout | 放棄低速目标主機 |
–scan-delay | 調整探測封包的時間間隔 |
–max-scan-delay | 調整探測封包的時間間隔 |
逃避防火牆/IDS
選項 | 解釋 |
---|---|
-f | 封包分段 |
–mtu | 指定偏移大小(偏移量必須是8的倍數) |
-D 【decoy1,decoy2… or RND:number】 | IP欺騙(進行版本檢測或TCP掃描時無效) |
-sI | 源位址欺騙 |
–source-port | 源端口欺騙 |
–data-length | 指定發包長度 |
–randomize-hosts | 目标主機随機排序 |
–spoof-mac | MAC位址欺騙(0:随機生成一個MAC位址,MAC Address:手動指定一個MAC位址,Vendor Name:從指定廠商生成一個MAC位址) |
資訊收集
選項 | 解釋 |
---|---|
–script ip-geolocation-* | IP資訊搜集 |
whois | whois查詢 |
http-email-harvest | 搜集E-mailxnxi |
hostmap-ip2hosts | IP反查 |
dns-brute | DNS資訊sbji |
membase-http-info | 檢索系統資訊 |
smb-securi-mode.nse | 背景列印機服務漏洞 |
smb-check-vulns.nse | 系統漏洞掃描 |
http-stored-xss.mse | 掃描web漏洞 |
snmap-win32-services | 通過Snmap列舉Windows服務/賬戶 |
dns-brute | 枚舉DNS伺服器的主機名 |
http-headers/http-sitemap-generator | HTTP資訊搜集 |
ssl-enum-ciphers | 枚舉SSL密鑰 |
ssh-hostkey | SSH服務密鑰資訊探測 |
nmap資料庫滲透測試
選項 | 解釋 |
---|---|
mysql-databases | MySQL列舉資料庫 |
mysql-variables | 列舉MySQL變量 |
mysql-empty-password | 檢查MySQL密碼 |
mysql-brute | 審計MySQL密碼 |
mysql-audit | 審計MySQL安全配置 |
oracle-brute | 審計Oracle密碼 |
ms-sql-brute | 審計MSSQL密碼 |
ms-sql-empty-password | 檢查MSSQL空密碼 |
ms-sql-tables | 讀取MSSQL資料 |
ms-sql-xp-cmdshell | MSSQL執行系統指令 |
pgsql-brute | 審計Pgsql密碼 |
nmap滲透測試
選項 | 解釋 |
---|---|
http-brute | 審計HTTP身份驗證 |
ftp-brute | 審計ftp伺服器 |
http-wordpress-brute | 審計WordPress程式 |
http-joomla-brute | 審計Joomla程式 |
pop3-brute | 審計郵件伺服器 |
smb-brute.nse | 審計SMB密碼 |
vnc-brute | 審計VNC伺服器 |
smtp-brute | 審計SMTP伺服器 |
stuxnet-detect | 檢測Stuxnet蠕蟲 |
snmp-netstat;snmp-processes;snmp-win32-services;snmp-brute | SNMP服務安全審計 |
nmap技巧
選項 | 解釋 |
---|---|
–send-eth | 發送以太網資料包 |
–send-ip | 網絡層發送 |
–privileged | 嘉定擁有所有權 |
–interactive | 在互動模式中啟動 |
-V | 檢視nmap版本号 |
-d | 設定調試級别 |
–packet-trace | 跟蹤發送接受的封包 |
–iflist | 列舉接口和路由 |
-e | 指定網絡接口 |
-oG | 繼續中斷掃描 |
firewalk | 探測防火牆 |
vmauthd-brute | VMware認證破解 |
這裡隻介紹nmap基本選項,有關nmap的詳細使用說明可以參照《nmap滲透測試指南》
參考學習書籍:《nmap滲透測試指南》
https://t00y.com/file/30449277-474565251