iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
Security

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

# [Day 28] 捨棄滑鼠的硬核實戰:結合 TShark 與 Linux 腳本進行極速日誌分析

  • 分享至 

  • xImage
  •  

在前面的 27 天裡,我們都是依賴 Wireshark 的圖形化介面來觀察封包。
但在真實的資安防禦(藍隊)或伺服器維運中,當我們面對遭到 DDoS 攻擊、動輒數 GB 甚至數十 GB 的海量流量日誌時,如果你嘗試用滑鼠點開它,Wireshark 絕對會直接卡死甚至崩潰。

這時候,資安專家會捨棄滑鼠,改用 Wireshark 的終端機雙胞胎兄弟——TShark,並結合 Linux 強大的管線命令 (|) 來進行極速的大數據分析。今天,我們就來體驗一下資安維運工程師 (DevSecOps) 的日常!


零、前置準備與權限陷阱破解

首先,我們需要在 Ubuntu 中安裝 TShark 工具。

【實作練習】

  1. 打開終端機,輸入 sudo apt install tshark -y 進行安裝。
    (安裝過程中若跳出粉紅色的設定畫面,請直接按 Enter 選擇 <是/Yes>)

https://ithelp.ithome.com.tw/upload/images/20261012/20184351XWeqmysL12.png

一、使用 TShark 錄製封包日誌檔

接下來,我們要讓終端機幫我們側錄 100 個封包並存成檔案,作為後續腳本分析的素材。

⚠️ Linux 權限小陷阱:
如果你直接下指令將檔案存在家目錄,TShark 基於安全機制(避免被惡意封包提權),會在寫入的瞬間「降級」為普通權限,導致跳出 Permission denied。最快的破解法,就是將存檔路徑改到允許任何人寫入的暫存區 /tmp。

【實作練習】
為了確保有流量,可以先在背景開個瀏覽器隨便點幾個網頁,接著輸入指令:

sudo tshark -i enp0s3 -c 100 -w /tmp/traffic.pcap

https://ithelp.ithome.com.tw/upload/images/20261012/201843513fGig701Y2.png
(指令解析:-i 指定網卡,-c 100 代表抓滿 100 個就停止,-w 代表寫入檔案)


二、利用 TShark 提取特定欄位 (Fields)

圖形化的 Wireshark 會顯示所有資訊,但寫自動化腳本時,我們只需要「乾淨的關鍵資料」。我們要請 TShark 把剛剛那份檔案裡的所有「來源 IP」單獨抽出來。

【實作練習】
輸入以下指令讀取檔案並提取欄位(因為檔案是 sudo 建立的,讀取時也要加上 sudo):

sudo tshark -r /tmp/traffic.pcap -T fields -e ip.src

https://ithelp.ithome.com.tw/upload/images/20261012/201843510tyPI7kT1Q.png
(指令解析:-r 讀取檔案,-T fields 告訴系統我要提取欄位,-e ip.src 指定只要來源 IP)

太棒了!終端機瞬間印出了一長串純粹的 IP 位址列表。把乾淨的資料抽出來,這是寫腳本自動化的最重要前提。


三、結合 Linux 管線指令,秒殺找出「流量大戶」

這是今天最精華的實戰!假設這份日誌是一場 DDoS 攻擊的紀錄,我們要在茫茫 IP 中,極速找出發送最多封包的惡意來源。
我們將 TShark 的輸出結果,透過管線 | 餵給 Linux 內建的資料處理指令。

【實作練習】
輸入這串超帥氣的組合技指令:

sudo tshark -r /tmp/traffic.pcap -T fields -e ip.src | sort | uniq -c | sort -nr | head -n 5

https://ithelp.ithome.com.tw/upload/images/20261012/20184351SZR1WBHgyw.png

指令邏輯完全解析:

  1. tshark ...:先抽出所有的來源 IP。
  2. | sort:將所有 IP 進行字母排序(把相同的 IP 聚集在一起)。
  3. | uniq -c:將相鄰且重複的 IP 進行合併,並計算 (-c) 出現的次數。
  4. | sort -nr:針對計算出來的「次數」,進行數字大小 (-n) 的反向 (-r) 排序,也就是由大排到小。
  5. | head -n 5:只取排行榜的前 5 名。

畫面解析:
看到了嗎?我們完全沒有打開 Wireshark、沒有按下滑鼠,單靠這一行指令,終端機就漂亮地輸出了排行榜!
左邊是封包數量,右邊是來源 IP。清楚顯示了我的本機 10.0.2.15 以 33 個封包位居榜首。在真實的戰場上,資安人員就是用這行指令,在一秒鐘內從幾百萬個封包中揪出攻擊者的 IP 並進行封鎖!


🎯 今日小結

今天我們體驗了 TShark 的強大威力。圖形化介面適合用來進行「單一封包的微觀鑑識」,而終端機指令則適合用來進行「海量資料的巨觀統計」。兩者相輔相成,才是資安高手的完全體。

🔜 明日預告

鐵人賽已經來到了倒數第二天!我們已經掌握了從理論到實戰、從圖形介面到腳本分析的所有技能。
明天 [Day 29],我們將帶來這 30 天系列文的終極大魔王考驗:「Wireshark 總複習:挑戰一份真實的惡意流量樣本」。我們明天見!


上一篇
# [Day 27] CTF 挑戰入門:尋找隱藏在流量中的 Flag (二) - 全域字串搜尋與內容過濾
下一篇
# [Day 29] Wireshark 總複習:挑戰真實混合惡意流量與資安防禦觀念
系列文
網管與資安基礎實戰:從 Linux 指令到 Wireshark 封包分析 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言