什麼是網路掃描?
網路掃描是指透過發送特殊封包,來收集目標網路或主機的資訊的行為。
-
TCP 連線埠掃描:檢查目標主機或網路上的特定連線埠是否開放。
-
UDP 連線埠掃描:檢查目標主機或網路上的特定 UDP 連線埠是否開放。
-
版本探測:嘗試識別目標主機或網路上的服務和作業系統。
常見的網路掃描工具:
-
Nmap:一個免費且開源的網路安全工具,可用於各種平台。
-
Zenmap:一個基於 Nmap 的圖形化使用者介面。
-
Wireshark:一個更高級的網路封包分析工具。
-
Metasploit:一個用於滲透測試的工具。Metasploit 可以用來執行各種主機掃描,包括指紋識別、連線埠掃描和服務識別。
-
OpenVAS:一個用於安全評估的工具。OpenVAS 可以用來執行各種主機掃描,包括指紋識別、連線埠掃描、服務識別和安全漏洞掃描。
主機掃描
主機掃描是一種用於收集有關主機的資訊的技術。主機掃描可以用於各種目的,包括:
- 識別主機的作業系統和軟體版本
- 識別主機的開放連線埠和服務
- 識別主機的安全漏洞
向多個系統發送 ICMP 請求 fping
向指定範圍內的所有IP地址發送ping請求,並顯示哪些主機是活躍的,以及它們的ping往返時間。
fping -aeg 192.168.86.0/24
nmap
它可以用來掃描 Port、識別主機和服務、以及收集其他有關網路的資訊。Nmap 代表 Network Mapper,它是一個免費且開源的工具,可用於各種平台,包括 Linux、Windows 和 macOS。
# 掃描特定主機的所有連線埠
nmap -p 1-65535 192.168.1.1
# 掃描特定網路範圍的所有主機
nmap -sn 192.168.1.0/24
# 識別特定主機上的服務
nmap -sV 192.168.1.1
TCP SYN 掃描
- TCP SYN 掃描是一種快速的掃描方法,它僅向目標主機發送TCP SYN,然後根據目標主機的回應來確定 Port 的狀態。
- 如果目標主機回應了 SYN/ACK,則表示該 Port 是打開的。
- 如果目標主機回應了RST消息,則表示該端口是關閉的。
- 使用此方法時,不會建立完整的TCP連接,因此速度較快。
sudo nmap -sS 192.168.86.32
TCP FULL 掃描
- TCP完全連接掃描是一種完全建立TCP連接的掃描方法,它將建立TCP連接,然後再關閉它。
- 這種方法比較慢,因為它要完成整個TCP連接過程,三向握手,資料交換,然後再關閉連接。
- 但它對於一些情況下需要完整連接的服務掃描非常有用,因為它可以確保該 Port 真正處於打開狀態,例如 HTTP/HTTPS、SSH、資料庫連線等等。
sudo nmap -sT -p 80,443 192.168.86.0/24
TCP XMAS 掃描
XMAS 掃描是一種特殊的 TCP Port 掃描技術,它被用來評估目標主機上的 Port 是否打開。它之所以稱為"XMAS",是因為它像聖誕樹燈一樣,打開了 TCP 標誌中的 URG、PSH 和 FIN。
- 如果 Port 是關閉的,目標主機不會對XMAS掃描做出回應,因此結果是未回應。
- 如果 Port 是開放的,目標主機可能以不同方式做出回應。
sudo nmap -sX 192.168.86.32
UDP 掃描
-
sU
選項指定了進行UDP掃描。這表示 nmap 將嘗試識別目標主機上的 UDP Port。
-
T 4
選項指定了掃描速度,其中4代表正常速度。您可以使用不同的數字來調整掃描速度,從1(最慢)到5(最快)。
- 192.168.86.32 是目標主機的IP地址,這是您要對其執行UDP掃描的主機。
這個命令將對目標主機的UDP Port進行掃描,以識別哪些UDP端口是打開的。UDP掃描通常比TCP掃描更具挑戰性,因為UDP通訊不像TCP那樣建立連接,所以無法確保一定會收到回應。
nmap -sU -T 4 192.168.86.32
服務版本掃描
-
-sV
: 這個參數用來啟用服務版本掃描。當 nmap 掃描一台主機時,它會試圖識別目標主機上運行的服務以及它們的版本資訊。這有助於確定目標主機上是否運行了已知的漏洞或弱點。
- 舉例來說,對於像Apache這樣的Web伺服器,Nmap可以通過檢查HTTP響應標頭來獲取服務的名稱、版本。這有助於了解目標伺服器的配置。
nmap -sV 192.168.86.32
OS掃描
- Nmap會試圖確定目標主機運行的操作系統是Windows、Linux、macOS或其他操作系統的一種。
- 操作系統版本:Nmap嘗試識別操作系統的核心版本。
sudo nmap -O 192.168.1.144 192.168.1.214