從零開始的 Nmap 生活
2024-07-24 14:02:14
安裝
直接到 https://nmap.org/download 下載,或是要用像是 apt、yum、brew 等等(應該)也都可以安裝的了 nmap
指令懶人包
nmap {ip}
:掃描單個 IP。nmap {ip1} {ip2}
:同時掃描多個 IP。nmap {ip_range}
:掃描整個 IP 範圍 (CIDR)。nmap -p {port} {ip}
:針對指定端口進行掃描。nmap -sS
:執行 TCP SYN 掃描,速度較快。nmap -sT
:執行 TCP connect 掃描,速度較慢。nmap -sU
:執行 UDP 掃描。nmap -O
:進行作業系統偵測。nmap -sO
:執行 IP 協議掃描。nmap -PS
:使用 TCP SYN Ping 進行開放端口掃描。nmap -sL
:僅列出要掃描的 IP 及其數量,而不執行實際掃描。nmap -vv
:顯示詳細的掃描過程。
sS、sT、sU、sO 以及 PS 的差異
-sS
:TCP SYN 掃描
- 在 TCP SYN 掃描中,Nmap 送出 SYN 封包 (TCP 的 SYN flag),並等待回應。如果目標主機回應 SYN/ACK 封包 (TCP 的 SYN/ACK flag),表示端口是開啟的。如果收到 RST 封包 (TCP 的 RST flag),表示端口是關閉的。
- 這種掃描方式速度較快,因為它不需要完全建立 TCP 連接,只發送一個 SYN 封包。
-sT
:TCP connect 掃描
- 在 TCP connect 掃描中,Nmap 試圖建立完整的 TCP 連接。它向目標主機的指定端口發送 TCP SYN,如果主機回應 SYN/ACK 封包,則完成三路握手建立連接,然後立即關閉連接。
- 這種掃描方式比較慢,因為它建立了完整的 TCP 連接,與真正的應用程式一樣,可能會被目標主機的入侵偵測系統 (IDS) 或入侵防禦系統 (IPS) 檢測到。
-sU
:UDP 掃描
- 在 UDP 掃描中,Nmap 嘗試向目標主機的 UDP 端口發送數據包,然後根據回應來判斷端口是否開啟。因為 UDP 不像 TCP 那樣具有確認的連接機制,所以 UDP 掃描需要更多的時間和資源。
- 由於 UDP 掃描需要向目標主機發送大量的數據包,因此可能會被目標主機或網絡設備規則 (如防火牆) 誤認為洪水攻擊而被阻擋。
-PS
:TCP SYN Ping 開放端口掃描
- 在 TCP SYN Ping 掃描中,Nmap 使用 TCP SYN 封包來掃描目標主機,同時也能檢測主機上的開放端口。這種掃描方式通常用於快速識別目標網絡上的存活主機和開放端口,並不進行全面的掃描。
- 與常規的 ping 不同,TCP SYN Ping 掃描對目標主機上的開放端口進行掃描,因此能夠提供更多關於目標主機的信息,而不僅僅是存活狀態。
-sO
:IP 協議掃描
- 在 IP 協議掃描中,Nmap 探查目標主機上支持的 IP 協議。這些協議可以是 ICMP (Internet Control Message Protocol),IGMP (Internet Group Management Protocol),以及其他的一些協議。
- 這種掃描方式可用於識別目標主機上運行的協議類型,以及可能存在的網絡服務或設備。
常見應用
TCP SYN 掃描單個主機的常見端口
nmap -sS -p 1-1024 192.168.1.100
這個命令使用 TCP SYN 掃描 (-sS) 和指定的端口範圍 (-p 1-1024) 來掃描單個主機。
掃描多個主機的特定端口
nmap -p 22,80,443 192.168.1.100 192.168.1.101 192.168.1.102
這個命令掃描多個主機 (192.168.1.100, 192.168.1.101, 192.168.1.102) 的指定端口 (22, 80, 443)。
UDP 掃描單個主機的常見端口
nmap -sU -p 53,67,123 192.168.1.100
這個命令使用 UDP 掃描 (-sU) 和指定的 UDP 端口範圍 (-p 53,67,123) 來掃描單個主機。
掃描整個 IP 範圍的存活主機和開放端口
nmap -sP -p 22,80 192.168.1.0/24
這個命令使用 Ping 掃描 (-sP) 和指定的端口範圍 (-p 22,80) 來掃描整個 IP 範圍 (例如,192.168.1.0/24) 的存活主機和開放端口。
同時檢測 TCP、UDP 端口以及作業系統
nmap -sS -sU -O 1.1.1.1
通常只會掃描 1000 個常見端口,結果如下:
1 | Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-07 16:08 CST |