iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0
Security

網管與資安基礎實戰:從 Linux 指令到 Wireshark 封包分析系列 第 22 篇

# [Day 22] 駭客的敲門磚:Nmap 半開掃描 (SYN Scan) 封包底層大解密

  • 分享至 

  • xImage
  •  

在昨天的實作中,我們學會了如何從封包中還原檔案。今天,我們要把視角切換到主動攻擊的前置作業。

在資安領域,駭客發動攻擊前的第一步絕對是「偵察 (Reconnaissance)」。他們會使用掃描工具去「敲門」,測試目標伺服器開放了哪些通訊埠 (Ports),藉此尋找防護的破口。全世界最知名的網路探測工具,非 Nmap 莫屬。

今天我們將實作 Nmap 最經典、也是預設的 SYN 隱蔽掃描 (Stealth Scan),並透過 Wireshark 觀察駭客是如何在網路上「敲完門就跑」的!


零、前置準備:安裝 Nmap

Ubuntu 系統預設可能沒有安裝 Nmap,在開始掃描前,我們需要先將工具準備好。

【實作練習】
打開終端機,輸入以下指令進行安裝:

sudo apt install nmap -y

https://ithelp.ithome.com.tw/upload/images/20261006/20184351iXxrfsleDc.png

確認終端機跑完進度條並完成安裝後,我們就可以準備發動攻擊測試了。


一、發動 Nmap 隱蔽掃描

我們將以 Nmap 官方合法授權的測試主機 scanme.nmap.org 作為目標。我們會刻意掃描兩個 Port:預期會開放的 80 (HTTP),以及預期未開放的 9999。

【實作練習】

  1. 開啟 Wireshark 並開始擷取。
  2. 在終端機輸入這串帶有最高權限的掃描指令:
    sudo nmap -sS -p 80,9999 scanme.nmap.org
    
    (註:-sS 參數即代表發動 SYN 半開掃描,這需要 root 權限)

https://ithelp.ithome.com.tw/upload/images/20261006/20184351c1DxNl2Rr7.png

畫面解析:
指令執行完畢後,Nmap 會告訴我們 80/tcp 是 open,而 9999/tcp 是 filtered 或 closed。與此同時,背後的 Wireshark 瞬間湧入了大量紅綠相間的 TCP 封包,這就是 Nmap 正在瘋狂敲門的痕跡。


二、觀察「門被上鎖 (Closed)」的通訊埠反應

我們來看看敲到沒開的門時,封包在底層長什麼樣子。

【實作練習】
停止抓包後,在顯示過濾器輸入 tcp.port == 9999 並按下 Enter。

https://ithelp.ithome.com.tw/upload/images/20261006/201843514mXweBqnK8.png

畫面解析:

  1. 封包 1586 ([SYN]):我們的電腦主動送出一個 SYN 封包,試圖與目標的 Port 9999 建立連線。
  2. 封包 1590 ([RST, ACK]):因為對方的伺服器根本沒有在 Port 9999 執行任何服務,所以作業系統立刻無情地回傳了一個帶有 RST (Reset/重設) 標記的封包。這就像是你去敲一扇被磚塊封死的門,對方直接大喊「這裡沒人,滾!」。

透過這個 [RST, ACK] 的回應,Nmap 就能判定這個 Port 是關閉 (Closed) 的。


三、見證駭客的偽裝:破解「開啟 (Open)」的特徵

這是 Nmap 最狡猾、也是這篇實作最精華的地方!正常來說,要建立連線必須完成 TCP 三方交握 (SYN -> SYN, ACK -> ACK),一旦交握完成,對方的伺服器日誌 (Log) 就會記錄下你的 IP。

來看看 Nmap 是怎麼規避這個問題的。

【實作練習】
將顯示過濾器改為 tcp.port == 80 並按下 Enter。

https://ithelp.ithome.com.tw/upload/images/20261006/20184351fbFJLsHqu3.png

畫面解析:
仔細觀察這三個連續的封包:

  1. 封包 1585 ([SYN]):我們送出敲門磚。
  2. 封包 1588 ([SYN, ACK]):對方伺服器的 Port 80 是開啟的,所以很熱情地回傳了同意連線的封包。
  3. 封包 1589 ([RST]):重點來了! 我們並沒有乖乖回傳 [ACK] 來完成交握。Nmap 在收到 [SYN, ACK] 確知「門是開著的」那一瞬間,立刻翻臉無情,單方面送出一個紅色的 [RST] 封包強行中斷連線!

這就是「半開掃描 (Half-open Scan)」的命名由來。
因為連線從未真正建立完成,許多早期的應用層防火牆與伺服器日誌根本不會記錄下這次連線。駭客就這樣神不知鬼不覺地探測完了你的伺服器。


🎯 今日小結

今天我們透過 Wireshark 照妖鏡,完美破解了 Nmap 隱蔽掃描的手法。
在資安防禦上,網管人員通常會設定入侵偵測系統 (IDS) 或防火牆,當發現有同一個 IP 在短時間內對伺服器發送大量 [SYN] 卻又一直惡意回傳 [RST] 時,就會自動將該 IP 封鎖。這就是資安世界中「矛與盾」的日常交鋒。

🔜 明日預告

我們今天看到了正常的掃描探測。那如果對方不只是敲門,而是帶著破壞的意圖,想把伺服器癱瘓呢?
明天 [Day 23],我們將探討網路世界中最常見的暴力手段:「DDoS 阻斷服務攻擊與異常連線分析」,教你如何在 Wireshark 中看見洪水攻擊的真實樣貌!我們明天見。


上一篇
# [Day 21] 駭客鑑識實戰:利用 Wireshark 匯出擷取物件 (Export Objects),還原傳輸檔案
下一篇
# [Day 23] 常見網路攻擊模式簡介:親手發動 SYN Flood 洪水攻擊與流量視覺化
系列文
網管與資安基礎實戰:從 Linux 指令到 Wireshark 封包分析 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言