您好,登录后才能下订单哦!
# 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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。