# Nmap 是什麼
nmap 是一個掃描工具,可以掃描已知或未知的 IP, 或者端口。
# 大部分命令
命令 | 說明 |
---|---|
-iflist | 顯示自身的網卡訊息 |
-sT | 全 TCP 掃描 |
-sS | 半開放式掃描 |
-sF -sN -sX | 有關防火牆的掃瞄 |
-O | 操作系統 |
-sV | 端口服務版本 |
-Pn | 禁止使用探測是否有開機的封包 |
-T<0~7> | 掃描速率,通常建議為 T4, 預設為 T3。最快為 T7 |
-D |
偽裝 IP 來源 |
-g |
偽裝 port 來源 |
–spoof-mac | mac 欺騙 |
# 常用指令
$ nmap <ip> -sS -sV # 顯示 port 伺服器版本 | |
$ nmap <ip>or<domain> # 掃描目的 | |
$ nmap <ip> -sS # TCP SYN 半開掃描 |
-
半開掃描
這是指在 tcp 三次握手的時候,只做前面的兩次。這樣可以比較快,也可以不留紀錄的掃瞄。客戶端回發送 SYN 的封包,伺服器會發送 SYN+ACK。至此結束就稱為半開掃描。 -
常用的命令
$ -sn 使用半開放式TCP 掃描主機是否在線 | |
$ -sS 使用半開式TCP | |
$ -sV 使用完整的TCP | |
$ -O 探測操作系統 |
# 防火牆阻擋
這邊留個小筆記,nmap 有參數可以偵測防火牆是否打開。
Starting Nmap 7.01 ( https://nmap.org ) at 2021-04-25 10:45 CST | |
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn | |
Nmap done: 1 IP address (0 hosts up) scanned in 2.00 seconds |
在 nmap 掃描之前會發送 TCP 的 SYN 封包,如果防火牆拒絕回應 TCP port 80 or 443, 就會觸發拒絕。
因此在確定掃描目標開啟之後,可以避開發送 TCP, 直接對其進行刺探。
$ nmap -T4 -Pn <ip> |
- Port State
open: port是開放 | |
closed: port是關閉 | |
filtered: 防火牆被IDS/IPS, 無法確定狀態 | |
unfiltered: 沒有被屏蔽, 但狀態還要再進一步確定 | |
open|filtered: Port 開啟/遮蔽 | |
closed|filtered:Port 關閉/遮蔽 |
# 阻擋
被阻擋後可以使用 -Pn
。
如果出現 Not shown: 998 filtered ports
, 代表其他 998 個 port 被過濾了,如果顯示 STATE close
, 為防火牆有開啟此連線,但目標主機並沒有開啟使用這一項服務。 STATE open
為防火牆有開啟此連線,並且也有此服務啟動。
# Reference
- 9 個常用的 nmap 掃描
- 常用的命令