Linux下如何安装和使用NetHogs

发布时间:2022-02-18 11:29:22 作者:小新
来源:亿速云 阅读:488
# 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

CentOS/RHEL

sudo yum install epel-release  # 先启用EPEL仓库
sudo yum install nethogs

Arch Linux

sudo pacman -S nethogs

Fedora

sudo dnf install nethogs

2.2 源码编译安装(最新版)

# 安装依赖
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

3. 基本使用方法

3.1 启动监控

sudo nethogs [网卡名称]

不指定网卡时自动检测活动网卡(通常为eth0或wlan0)

3.2 监控指定网卡

sudo nethogs eth1  # 监控eth1网卡

3.3 常用快捷键

快捷键 功能
s 按发送流量排序
r 按接收流量排序
m 切换显示单位(KB/MB)
q 退出程序

4. 高级使用技巧

4.1 自定义刷新间隔

sudo nethogs -t 5  # 每5秒刷新一次

4.2 监控特定进程

sudo nethogs -p sshd  # 只监控sshd相关进程

4.3 输出到文件

sudo nethogs -d 10 -c 5 > traffic.log  # 每10秒采样一次,共5次

4.4 追踪TCP/UDP连接

sudo nethogs -v 3  # 显示详细连接信息

5. 实际应用场景

场景1:排查异常流量

$ 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

场景2:监控Docker容器

# 先找到容器对应的网卡
docker network ls
sudo nethogs br-3a1b5c6d7e8f

场景3:定时监控(配合cron)

# 添加cron任务(每小时监控5分钟)
*/5 * * * * /usr/sbin/nethogs -d 60 -c 5 >> /var/log/nethogs.log

6. 输出结果解读

示例输出:

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:下载速率

7. 常见问题解决

问题1:无数据显示

# 检查网卡名称是否正确
ip addr show
# 确保有网络活动
ping -c 3 google.com

问题2:无法识别进程名

# 使用-p参数显示完整命令行
sudo nethogs -p

问题3:权限不足错误

# 临时提升权限
sudo setcap "cap_net_admin,cap_net_raw+pe" /usr/sbin/nethogs

8. 替代工具对比

工具 特点 适用场景
NetHogs 进程级监控,简单直观 快速定位问题进程
iftop 按连接/IP监控,功能更全面 分析具体网络连接
nload 显示总体带宽使用 查看总流量趋势
bmon 支持多种输出格式 需要生成报告的场景

9. 安全注意事项

  1. 敏感信息暴露:NetHogs可能显示包含敏感参数的完整命令行
  2. 监控权限:生产环境中建议限制普通用户访问
  3. 日志存储:长期监控日志需注意隐私合规要求

10. 总结

NetHogs作为轻量级的实时网络监控工具,特别适合以下场景: - 快速定位异常流量进程 - 排查服务器带宽占用问题 - 监控特定应用程序的网络行为

通过本文介绍的基础安装、常用命令和实战技巧,读者可以快速掌握这个实用工具。建议结合其他监控工具(如iftop、vnstat)构建完整的网络监控方案。

附:最新版本获取地址
GitHub仓库:https://github.com/raboof/nethogs
官方文档:https://manpages.debian.org/testing/nethogs/nethogs.8.en.html “`

注:本文实际约1250字,包含代码块、表格、多级标题等Markdown元素,可直接用于技术文档发布。如需调整内容长度或细节,可进一步修改。

推荐阅读:
  1. Linux下怎么安装和使用Dokuwiki
  2. Linux下如何安装和使用Ganglia

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux nethogs

上一篇:Rhel5.5下如何安装文本编辑器xemacs

下一篇:Fedora 25 Workstation如何安装

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》