# Linux下如何安裝和使用NetHogs
## 1. NetHogs簡介
NetHogs是一個開源的命令行網絡監控工具,由Arnout Engelen開發。與傳統的網絡監控工具(如iftop或nethogs)不同,NetHogs的特色在于**按進程分組顯示網絡帶寬占用**,能直觀定位消耗大量流量的具體應用程序。
### 核心特點
- **進程級監控**:直接顯示每個進程的上傳/下載速率
- **實時刷新**:默認每秒更新數據(可自定義間隔)
- **無需root權限**:普通用戶即可運行(部分場景可能需要sudo)
- **輕量級**:不依賴內核模塊,資源占用低
## 2. 安裝NetHogs
### 2.1 主流Linux發行版安裝
#### Ubuntu/Debian
```bash
sudo apt update
sudo apt install nethogs -y
sudo yum install epel-release # 先啟用EPEL倉庫
sudo yum install nethogs
sudo pacman -S nethogs
sudo dnf install nethogs
# 安裝依賴
sudo apt install build-essential libncurses5-dev libpcap-dev
# 下載源碼
wget https://github.com/raboof/nethogs/archive/refs/tags/v0.8.7.tar.gz
tar -xzvf v0.8.7.tar.gz
cd nethogs-0.8.7/
# 編譯安裝
make && sudo make install
sudo nethogs [網卡名稱]
不指定網卡時自動檢測活動網卡(通常為eth0或wlan0)
sudo nethogs eth1 # 監控eth1網卡
| 快捷鍵 | 功能 |
|---|---|
s |
按發送流量排序 |
r |
按接收流量排序 |
m |
切換顯示單位(KB/MB) |
q |
退出程序 |
sudo nethogs -t 5 # 每5秒刷新一次
sudo nethogs -p sshd # 只監控sshd相關進程
sudo nethogs -d 10 -c 5 > traffic.log # 每10秒采樣一次,共5次
sudo nethogs -v 3 # 顯示詳細連接信息
$ sudo nethogs
PID USER PROGRAM DEV SENT RECEIVED
1234 www-data /usr/bin/apache2 eth0 12.453KB 12.453KB
5678 mysql /usr/sbin/mysqld eth0 5.231KB 0.000KB
# 先找到容器對應的網卡
docker network ls
sudo nethogs br-3a1b5c6d7e8f
# 添加cron任務(每小時監控5分鐘)
*/5 * * * * /usr/sbin/nethogs -d 60 -c 5 >> /var/log/nethogs.log
示例輸出:
PID USER PROGRAM DEV SENT RECEIVED
1234 bob firefox wlp3s0 23.4KB/s 145.2KB/s
5678 root /usr/lib/snapd/snapd eth0 0.0KB/s 12.3KB/s
字段說明: - PID:進程ID - USER:運行進程的用戶 - PROGRAM:進程名稱或命令行 - DEV:使用的網絡接口 - SENT:上傳速率 - RECEIVED:下載速率
# 檢查網卡名稱是否正確
ip addr show
# 確保有網絡活動
ping -c 3 google.com
# 使用-p參數顯示完整命令行
sudo nethogs -p
# 臨時提升權限
sudo setcap "cap_net_admin,cap_net_raw+pe" /usr/sbin/nethogs
| 工具 | 特點 | 適用場景 |
|---|---|---|
| NetHogs | 進程級監控,簡單直觀 | 快速定位問題進程 |
| iftop | 按連接/IP監控,功能更全面 | 分析具體網絡連接 |
| nload | 顯示總體帶寬使用 | 查看總流量趨勢 |
| bmon | 支持多種輸出格式 | 需要生成報告的場景 |
NetHogs作為輕量級的實時網絡監控工具,特別適合以下場景: - 快速定位異常流量進程 - 排查服務器帶寬占用問題 - 監控特定應用程序的網絡行為
通過本文介紹的基礎安裝、常用命令和實戰技巧,讀者可以快速掌握這個實用工具。建議結合其他監控工具(如iftop、vnstat)構建完整的網絡監控方案。
附:最新版本獲取地址
GitHub倉庫:https://github.com/raboof/nethogs
官方文檔:https://manpages.debian.org/testing/nethogs/nethogs.8.en.html “`
注:本文實際約1250字,包含代碼塊、表格、多級標題等Markdown元素,可直接用于技術文檔發布。如需調整內容長度或細節,可進一步修改。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。