Sniffnet 是什麼?開源網路流量監控工具,Wireshark 之外的輕量選擇

Sniffnet 是用 Rust 寫的開源網路流量監控工具,把底層封包翻譯成可讀的流量摘要。本文誠實說明它需要的管理員權限、看得到與看不到的內容,以及與 Wireshark、Little Snitch、GlassWire 的功能邊界。

用 AI 摘要這篇文章:

工作管理員打開,沒看到明顯吃 CPU 的程式,但上傳頻寬卻被某個不知名服務吃滿。這種「看不出兇手」的本機網路疑難,正是 Sniffnet 想解的。它把底層封包的雜訊過濾掉,留下「誰連去哪、走了多少流量、屬於哪個服務」這幾件你真的想知道的事,再搭配一張即時更新的流量曲線圖,讓你不必懂協定堆疊也能判斷目前這台機器對外到底在忙什麼。

Sniffnet 是用 Rust 寫的開源網路流量監控工具,目前託管在 GyulyVGC/sniffnet,採用 Apache-2.0 授權,Windows、macOS、Linux 三平台都有安裝包。它的定位不是取代 Wireshark,而是給想搞懂自己機器對外行為的使用者一個看得懂的流量體檢報告。這篇文章會把它放回它真正的位置:一個能看見流向、但沒有攔截能力的觀測面板,並誠實說明它需要的管理員權限、看得到的與看不到的、以及與 Wireshark 或 Little Snitch 的功能邊界。

把封包整理成你能直接讀的流量面板

Sniffnet 在底層抓的是網卡封包,但它沒有把原始協定欄位直接丟給你看。它把每條連線重新歸類成你能判讀的欄位:哪個程式發起、連向哪個域名、對方屬於哪個 ASN(自治系統號)、伺服器在哪個國家。它還內建一份覆蓋六千多種上層服務與已知木馬蠕蟲通訊特徵的識別庫,會給每條連線貼上參考標籤,讓你在排查異常外聯時不必逐筆反查。

不過這層整理有它的天花板。識別庫能告訴你某個連線符合某木馬的通訊特徵,但它不能取代防毒軟體做行為比對,更不會主動攔截。Sniffnet 呈現給你的是即時折線圖加連線清單加參考標籤,是給人類眼睛看的摘要,不是給資安事件處理流程餵的取證級封包紀錄。把它當成「本機流量的體檢報告」比較貼切,要動手術還是得交給 Wireshark。

它需要你主動給出去的,是管理員權限

Sniffnet 第一次啟動需要先裝底層抓封包的驅動。Windows 要先裝 Npcap(安裝時記得勾選 WinPcap API 相容模式),Linux 要有 libpcap 與對應標頭檔,macOS 雖然系統內建 libpcap 不必另外裝,但每次啟動 Sniffnet 都會跳出要求管理員密碼的視窗。官方 Wiki 的 Required dependencies 頁面對每一種組合都有寫清楚。

這個權限要求是雙面的。合理的一面在於:能看到所有流量的工具,本來就該被作業系統當成高權限軟體管制,不該讓任意程式靜默取得。但要提醒的是,授予這個權限等於把整張網卡的視野交給 Sniffnet。Sniffnet 本身是開源 Apache-2.0、可被審計、官方安裝包來自 GitHub Releases,這些降低供應鏈風險;但如果你從第三方下載站抓到改名版本,那個副本能看到的流量範圍跟原版一模一樣。下載來源是這類工具的第一道信任決策。

看得到流向,看不到 HTTPS 內容

Sniffnet 對每條連線能告訴你的,是中繼資料層的訊息:目的 IP、解析後的域名、ASN、國家、協定分類、流量曲線。Sniffnet 的 IP 地理位置查詢與資料庫比對都在本機完成,它把 MaxMind 的地理資料庫與服務識別庫一起包進安裝包,連線紀錄的流向因此更容易掌握(Sniffnet 官方未提及遙測,地理位置查詢全程走本機 MaxMind)。這種把分析留在裝置上的設計邏輯,跟 Privacy Filter 把脫敏動作留在瀏覽器本地 相近,差別在 Privacy Filter 仍會送出脫敏後的內容,而 Sniffnet 的連線紀錄根本不出本機。對在意資料流向的使用者是加分項。但它的視野停在封包標頭與流量統計這一層,HTTPS 連線的實際內容(表單欄位、API 參數、訊息本文)因為 TLS 加密,Sniffnet 跟它背後的任何被動監聽工具一樣看不到。

這個邊界要講清楚,因為「流量監控」這四個字容易被想像成萬能。Sniffnet 能回答「你的電腦正在跟 cloudfront.net 的某個 AWS 節點建立大量連線」,這對排查背景程式吃頻寬很有用;但它回答不了「那個連線送了什麼內容過去」。如果你的安全需求是看到明文內容,那需要的不是 Sniffnet 而是主動介入 TLS 的中間人代理工具,而那是完全不同等級的隱私與合規問題,本文不會涵蓋。

Sniffnet 跟 Wireshark、Little Snitch、GlassWire 各自卡在哪

把 Sniffnet 放在同類工具之間比,會更清楚它真正卡的位置。底下這張表整理四款常被拿來相提並論的工具,差異用功能定位與具體能力區隔,不是誰高誰低。

工具定位能不能攔截連線授權適合誰
Sniffnet本機流量觀測面板無,只看Apache-2.0 開源想搞懂流量流向的一般使用者與開發者
Wireshark專業封包分析無,但能逐欄位拆解GPL-2.0 開源網路工程師、資安分析師
Little SnitchmacOS 連線防火牆有,可逐連線放行或阻擋商業付費想主動管控對外連線的 Mac 使用者
GlassWireWindows 流量視覺化與告警付費版含防火牆商業(有免費版)想要圖形化告警的 Windows 使用者

Sniffnet 卡的交集是「跨平台、開源、圖形化、只看」這幾個條件同時成立的位置。Wireshark 比它深,能拆到每一層協定的每個旗標,但學習曲線也陡,新手面對幾十欄的封包細節往往不知從何看起;Sniffnet 把這些細節收起來,只留業務層摘要,付出的代價是做不了 Wireshark 那種逐欄位取證。Little Snitch 與 GlassWire 走的是另一條路,它們真正在做的事是攔截,能讓你逐條決定某個程式能不能對外連,這是 Sniffnet 完全不碰的能力。Sniffnet 看到可疑連線,最多只能彈通知提醒你,無法替你切斷它,要不要攔、怎麼攔,永遠得你自己用別的工具決定。

自訂通知與 PCAP 匯出,是它最實用的兩個功能

Sniffnet 比一般流量曲線工具多出兩個會讓人持續回來用的功能。第一個是自訂網路事件通知。你可以設條件,例如某個應用程式的下載量超過設定值、或出現連到特定域名的連線時,讓 Sniffnet 在桌面彈窗提醒。這對「平常開著電腦做事,偶爾想知道有沒有異常對外連線」的使用者很實用,不必盯著面板看。它還能匯入自訂 IP 黑名單,把黑名單上的連線在介面上標出來,當作輕量的異常標記用。第二個是 PCAP 匯入匯出。Sniffnet 抓到的流量可以匯出成標準 PCAP 檔,之後丟給 Wireshark 做深度分析,反之也能把別處抓的 PCAP 匯進來,用 Sniffnet 的視覺化呈現重新看一次。這等於把 Sniffnet 與 Wireshark 接成一條流水線,Sniffnet 負責快速篩選,Wireshark 負責深挖,分工清楚。

把它放進一個具體情境:排查背景程式吃頻寬

講個會真的遇到的場景。某天你發現上傳速度變慢,工作管理員看不出明顯兇手,因為吃頻寬的程式不一定吃 CPU。這時開 Sniffnet,選一張對外的網卡,設好篩選條件(例如只看 TCP、或只看對外 IPv4),它就會開始把每條連線分門別類攤開。如果發現某個你沒印象的常駐程式一直跟某個境外 IP 建立連線,可以點進去看它的 ASN 與國家標籤,判斷是不是某個雲端服務的正常回報,還是某個該解除安裝的工具在背後傳資料。

這個流程的價值在於速度。同樣的事用 Wireshark 做也行,但你得先寫過濾語法、再對著 IP 反查 WHOIS、最後自己拼出「這條連線屬於誰」的全貌。Sniffnet 把這幾步合進一個介面,幾分鐘就能定位可疑連線。如果決定要進一步取證,再把這段流量匯出成 PCAP 交給 Wireshark。如果你更在意的是「對外連線到底該不該被攔下、被信任」,那可以把 Sniffnet 看到的結果,搭配 為什麼現代人會把 VPN 列為必備網路工具 這類基礎網路安全概念一起判斷。要記住的是,Sniffnet 在這個情境下幫你的是「看見」,看到之後要不要解除安裝那個程式、要不要在防火牆封掉那個域名,都還是另外的動作。

你願意把網卡的視野交給這個工具嗎

Sniffnet 是雙用途工具,這件事得先講清楚。同樣一個能即時看到所有連線去向的面板,掛在自己的電腦上是排查頻寬與外聯問題的好幫手,掛在你不擁有的網路或裝置上就是監聽設備。Sniffnet 需要管理員權限才能抓封包,這個限制正好讓「隨便裝在被監控對象的機器上」變得不容易,是它內建的一種天然摩擦。本文不會提供任何把 Sniffnet 部署到他人裝置或共用網路環境的步驟,這類用途在很多司法管轄區會觸犯通訊監察或隱私相關法規。要留意的是,Sniffnet 對 HTTPS 連線只看得到中繼資料、看不到內容,所以台灣法律裡真正貼合的不是規範通訊「內容」監察的《通訊保障及監察法》,而是《刑法》妨害秘密罪與《個人資料保護法》這類處理未公開活動與資料蒐集的條文。這層責任跟 企業查詢工具覆蓋範圍所引發的資料邊界問題 一樣,終究落在使用者的處分權上。

把這層風險收攏成判斷維度,其實只有一個問題要回答:你願意讓這個工具看到多少流量,而它看到的東西會留在哪裡。Sniffnet 的地理位置查詢在本機完成、Apache-2.0 可審計、官方安裝包來自 GitHub Releases,這幾項讓「留在本機」這個答案相對乾淨;但它的視野涵蓋整張網卡的所有連線中繼資料,這個視野本身就跟「監聽」只差一步。把它用在你能合法處分的機器上、從官方來源下載、用完就關,這是它的安全使用邊界。

結語:先想清楚你要的是看見,還是控制

Sniffnet 不是萬能的網路監控方案,它是一個定位很明確的工具:把本機封包整理成可讀的流量摘要,讓非網路工程師也能看懂自己的電腦在連什麼。它的價值在於這層整理做得到位,域名、ASN、國家、協定分類、應用程式關聯一次攤開;它的限制也來自這個定位,只負責觀測不能攔截、需要管理員權限、HTTPS 內容看不到。如果你要的是看見流量流向,回頭看上面那張比較表,在「開源、跨平台、圖形化、純觀測」四項同時成立這一格,只有 Sniffnet 落點最完整(它連 ARM 架構的樹莓派都提供安裝包);如果你要的是控制連線去留,那 Little Snitch(macOS)或 GlassWire(Windows)這類帶防火牆能力的商業工具才是對的選擇。先列你每天其實會用到的網路應用,再決定你需要的是觀測還是攔截,這比糾結哪個工具星標多更實際。

TechMoon 精選圖|Sniffnet 開源網路流量監控工具 GitHub 專案頁Pin
Sniffnet 的 GitHub 專案頁,目前累計近四萬顆星標,是 Rust 開源網路監控工具裡討論度最高的之一。
TechMoon 精選圖|Sniffnet 流量總覽介面 overview 面板Pin
Sniffnet 的 Overview 面板,把網卡抓到的封包整理成流量曲線、連線清單與協定分類。
TechMoon 精選圖|Sniffnet 官方網站 sniffnet.app 首頁Pin
Sniffnet 官方網站 sniffnet.app,提供跨平台下載連結與使用文件。

常見問題

Sniffnet 是免費的嗎? 是,Apache-2.0 開源,安裝包從 GitHub Releases 免費下載。作者接受 GitHub Sponsors 贊助,但使用本身不收費。

它能取代 Wireshark 嗎? 看你要做什麼。想快速看到「誰連去哪、流量多大」這種摘要,Sniffnet 就夠;要拆單一封包的旗標與欄位做取證,請打開 Wireshark。兩者還能透過 PCAP 檔串接,Sniffnet 先篩、Wireshark 再深挖。

它能攔截或封鎖連線嗎? 不能,Sniffnet 是純觀測工具,最多只能彈通知。要攔截連線得用 Little Snitch 或防火牆類工具。

它看得到 HTTPS 傳輸的內容嗎? 看不到,TLS 加密讓任何被動監聽都只能看到中繼資料。Sniffnet 能告訴你連到哪個域名、流量多大,但看不到實際內容。

需要 root 或管理員權限嗎? 需要。Windows 要裝 Npcap,Linux 要 libpcap,macOS 啟動時要輸入管理員密碼。這是抓網卡封包的必要條件。

FTP 協定的明文屬性讓區網流量理論上可被側錄,跟攝影師常用的 CameraFTP 這類 FTP 圖傳工具 一樣,在開放 WiFi 環境下都得面對傳輸層安全這層課題。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 620

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


目錄
Share to...