# Linux系統查看網絡帶寬命令有哪些
## 引言
在Linux系統管理和網絡故障排查中,實時監控網絡帶寬使用情況是運維人員的基礎技能。無論是服務器負載分析、網絡瓶頸定位還是異常流量檢測,都需要掌握專業的帶寬監控工具。本文將詳細介紹12種常用的Linux網絡帶寬監控命令,涵蓋實時監控、歷史統計、圖形化展示等不同場景需求。
## 一、實時帶寬監控工具
### 1. iftop - 交互式流量監控
iftop是類似于top命令的實時網絡流量監控工具,可直觀顯示各個連接的帶寬占用情況。
```bash
# 安裝iftop
sudo apt install iftop # Debian/Ubuntu
sudo yum install iftop # CentOS/RHEL
# 基本使用
sudo iftop -i eth0
關鍵參數說明:
- -i
指定監控網卡
- -n
禁用主機名解析
- -P
顯示端口號
- -B
以Byte為單位顯示
輸出解讀:
191Mb 381Mb 572Mb
+------------+------------+-------------+
myhost.local => 192.168.1.1 1.2Mb 2.4Mb 3.6Mb
<= 800Kb 1.6Mb 2.4Mb
nload提供分窗口顯示進出流量的ASCII圖形化界面。
nload eth0 -u M
實用參數:
- -a
設置計算平均值的時間周期(秒)
- -t
屏幕刷新間隔(毫秒)
- -u h|b|k|m|g
單位自動轉換
sudo bmon -p eth0 -o format:fmt='$(element:name) rx:$(attr:rx:rate) tx:$(attr:tx:rate)\n'
特色功能: - 支持多網卡同時監控 - 可顯示原始數據包統計 - 提供HTML格式輸出
# 安裝并初始化數據庫
sudo apt install vnstat
sudo vnstat -u -i eth0
# 查看統計
vnstat -l # 實時監控
vnstat -d # 每日統計
vnstat -m # 月度報告
數據存儲位置:
/var/lib/vnstat/
sar -n DEV 1 3
輸出示例:
14:30:01 IFACE rxpck/s txpck/s rxkB/s txkB/s
14:30:02 eth0 120.00 180.00 15.20 25.50
netstat -i 2
輸出字段說明: - RX-OK: 成功接收包 - RX-ERR: 接收錯誤 - TX-OK: 成功發送包 - TX-ERR: 發送錯誤
sudo iptraf-ng -d eth0
功能特點: - TCP/UDP流量統計 - 按協議分類統計 - 連接狀態監測
sudo tcptrack -i eth0
顯示字段: - State: 連接狀態 - Recv/s: 接收速率 - Send/s: 發送速率
tcpdump -i eth0 -w traffic.pcap
過濾特定流量:
tcpdump host 192.168.1.100 and port 80
sudo nethogs eth0
輸出示例:
PID USER PROGRAM DEV SENT RECEIVED
1234 root /usr/bin/nginx eth0 2.3Mb 5.6Mb
安裝配置流程:
# 安裝基礎組件
sudo apt install cacti rrdtool snmpd
# 通過Web界面配置
http://server_ip/cacti
關鍵配置步驟: 1. 安裝Zabbix Server 2. 配置網絡接口模板 3. 設置觸發器告警閾值
工具名稱 | 實時性 | 歷史數據 | 圖形化 | 學習曲線 |
---|---|---|---|---|
iftop | ★★★★★ | ★☆☆☆☆ | ★★☆☆☆ | ★★☆☆☆ |
vnstat | ★★☆☆☆ | ★★★★★ | ★★★☆☆ | ★★☆☆☆ |
Cacti | ★★★☆☆ | ★★★★★ | ★★★★★ | ★★★★☆ |
Zabbix | ★★★★☆ | ★★★★★ | ★★★★★ | ★★★★★ |
#!/bin/bash
THRESHOLD=10 # Mbps
INTERVAL=5
while true; do
RX=$(ifconfig eth0 | grep "RX bytes" | awk '{print $6}' | cut -d: -f2)
sleep $INTERVAL
NEW_RX=$(ifconfig eth0 | grep "RX bytes" | awk '{print $6}' | cut -d: -f2)
SPEED=$(( (NEW_RX - RX) / INTERVAL * 8 / 1000000 ))
if [ $SPEED -gt $THRESHOLD ]; then
echo "$(date) - 帶寬異常: ${SPEED}Mbps" | mail -s "帶寬告警" admin@example.com
fi
done
docker stats --format "table {{.Container}}\t{{.NetIO}}"
kubectl top pod --containers
掌握這些網絡帶寬監控工具后,運維人員可以: 1. 快速定位網絡瓶頸 2. 及時發現異常流量 3. 為容量規劃提供數據支持 4. 優化網絡服務質量
建議根據實際場景組合使用多種工具,如使用iftop進行實時排查,配合vnstat做長期趨勢分析,再通過Zabbix實現自動化監控告警。
延伸學習: - 《Linux網絡管理高級指南》 - Wireshark數據包分析實戰 - 網絡性能優化原理 “`
注:本文為示例文檔,實際使用時請注意: 1. 部分命令需要root權限 2. 工具可用性取決于發行版 3. 生產環境建議測試后再部署 4. 詳細參數請查閱各工具的man手冊
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。