使用Scapy分析網路封包 是做什麼的?
概述
Scapy 是一個 Python 封包操作函式庫,能夠在精細的協定層級上製作、傳送、嗅探及剖析網路封包。本技能涵蓋將 Scapy 應用於安全相關任務,包括 TCP/UDP/ICMP 封包製作、pcap 檔案分析、協定欄位擷取、SYN 掃描實作、DNS 查詢分析,以及偵測異常流量模式,例如異常碎片化的封包或畸形標頭。
使用時機
- 當調查需要使用 Scapy 分析網路封包的安全事件時
- 當為此領域建立偵測規則或威脅獵捕查詢時
- 當 SOC 分析師需要此分析類型的結構化程序時
- 當驗證相關攻擊技術的安全監控覆蓋範圍時
先決條件
- Python 3.8+ 且已安裝
scapy函式庫(pip install scapy) - 用於原始套接字操作(嗅探、傳送)的 root/系統管理員權限
- 用於封包擷取的 Npcap(Windows)或 libpcap(Linux)
- 獲得在目標網路上執行封包操作的授權
步驟
- 使用
rdpcap()讀取並解析 pcap/pcapng 檔案以進行離線分析 - 擷取協定層(IP、TCP、UDP、DNS、HTTP)及其欄位值
- 計算流量統計數據:熱門通訊端、協定分佈、連接埠頻率
- 透過分析 TCP 旗標比率來偵測 SYN 洪水模式
- 透過查詢長度與熵分析來識別 DNS 外洩指標
- 製作自訂探測封包以進行授權的網路測試
- 將發現結果匯出為結構化 JSON 報告
預期輸出
包含封包統計數據、協定分佈、頂層來源/目的地 IP、偵測到的異常(SYN 洪水、DNS 通道化指標、碎片化攻擊)以及每個流量的摘要的 JSON 報告。