iftop 是用于實時監控 linux 網絡流量的命令行工具,可顯示每個連接的帶寬使用情況。1. 它基于 libpcap 庫捕獲數據包,類似于 top 命令監控 cpu 使用率;2. 支持通過包管理器安裝,如 apt、yum、dnf 或 homebrew;3. 運行時需 root 權限,默認監聽第一個網絡接口,也可通過 -i 指定;4. 可用參數包括 -n 顯示端口號、-n 不解析服務名;5. 界面展示活躍連接及其發送、接收和總流量,并提供快捷鍵操作;6. 適用于排查異常流量、調試網絡應用及配合其他工具分析。
查看 linux 網絡流量統計,iftop 是一個非常實用的實時監控工具。它能讓你清楚地看到當前服務器上的網絡連接和帶寬使用情況,尤其適合排查異常流量、定位高帶寬消耗來源。
什么是 iftop?
iftop 是一個基于命令行的實時流量監控工具,可以顯示每個連接的帶寬使用情況,類似于 top 命令對 CPU 使用率的監控。它依賴于 libpcap 庫來捕獲網絡數據包,并以直觀的方式展示出來。
使用 iftop 可以:
- 實時查看哪些 IP 正在通信
- 監控端口級別的流量
- 快速發現異常連接或帶寬占用高的連接
如何安裝 iftop?
大多數 Linux 發行版都支持通過包管理器安裝 iftop。以下是幾種常見系統的安裝方式:
-
sudo apt update && sudo apt install iftop
-
centos/RHEL:
sudo yum install iftop
或者(如果使用 dnf):
sudo dnf install iftop
-
macos(Homebrew):
brew install iftop
安裝完成后,輸入 iftop 即可運行,默認會監聽第一個網絡接口(比如 eth0 或 en0)。
如何使用 iftop 查看流量?
運行 iftop 非常簡單,但有幾個常用參數和技巧可以讓信息更清晰:
基本用法:
sudo iftop
注意:需要 root 權限才能捕獲網絡流量。
指定網絡接口:
如果你有多個網卡,可以通過 -i 參數指定要監控的接口,例如:
sudo iftop -i eth1
顯示端口號和服務名:
默認情況下,iftop 會將端口號轉換為服務名稱(如 http、ssh)。如果你希望直接看到數字端口,加上 -n 參數:
sudo iftop -n
不進行 DNS 解析:
為了加快顯示速度,避免 DNS 查詢,可以加上 -N 和 -n:
sudo iftop -nN
iftop 界面怎么看?
進入 iftop 后,界面分為幾個部分:
- 最上面是流量刻度條,表示當前帶寬大小。
- 中間列出的是當前活躍的連接,格式類似:
192.168.1.100 => 8.8.8.8 100KB 50KB 75KB
分別代表發送、接收和總流量。
- 底部三列分別是峰值、速率、總流量
你可以在運行時按以下快捷鍵操作:
- h:幫助說明
- n:切換是否解析主機名
- s:切換是否顯示本機服務(即本機作為源)
- d:切換是否顯示目標地址
- q:退出程序
一些使用場景建議
- 排查異常流量:如果你發現服務器帶寬被占滿,運行 iftop 可以快速定位是哪個 IP 或端口在大量傳輸數據。
- 調試網絡應用:當你部署了一個新服務,想確認是否有客戶端連接并產生流量,iftop 能幫你實時觀察。
- 配合其他工具使用:比如結合 tcpdump 抓包分析具體連接內容,或者使用 nload 查看整體帶寬趨勢。
基本上就這些。iftop 雖然是個老工具,但功能穩定、輕量高效,特別適合快速診斷網絡問題。掌握基本操作后,日常運維中會經常用到。