Linux |Nethogs 监控网络使用情况

简介: Linux |Nethogs 监控网络使用情况

引言

互联网上为 Linux 系统提供了许多开源的网络监控工具。例如,你可以利用 iftop 命令来监测网络带宽的消耗,使用 netstat 或 ss 命令来获取网络接口的统计信息,或者通过 top 命令来查看系统中正在运行的进程。

然而,如果你真正需要一个能够实时显示每个进程网络带宽使用情况的工具,那么 NetHogs 就是你应该寻找的唯一选择。

NetHogs 是什么?

NetHogs 是一个开源的命令行工具,功能类似于 Linux 系统中的 top 命令,它专门用来监控每个进程或应用程序在 Linux 系统中实时使用的网络带宽。

NetHogs 是一个小巧的网络流量监控工具。它不按照大多数工具那样按协议或子网来划分流量,而是将带宽按照进程进行分组。NetHogs 无需加载特殊的内核模块。如果网络流量突然激增,你可以快速启动 NetHogs,立即查看是哪个进程 ID(PID)导致了流量的增加。这让你能够轻松识别那些失控并突然占用大量带宽的程序。

在本文中,你将了解到如何在 Unix/Linux 系统上安装 NetHogs 工具,并利用它来实时监控每个进程的网络带宽使用情况。

安装 NetHogs

NetHogs 这一网络带宽监控工具适用于多种 Linux 操作系统。根据你所使用的 Linux 发行版,你可以通过以下任一方法来安装 nethogs:

在 RHEL、CentOS、Rocky Linux 和 AlmaLinux 上安装 NetHogs 为了安装 nethogs,你需要先在基于 RedHat 的 Linux 发行版中启用 EPEL 源,随后执行以下 yum 命令来下载并安装 nethogs 软件包,具体步骤如下。

# yum install epel-release
# yum install nethogs

在 Fedora Linux 上,使用 dnf 命令,如图所示。

# dnf install nethogs

在 Ubuntu、Linux Mint 和 Debian 中安装 NetHogs,请键入以下 apt 命令来安装 nethogs 软件包。

$ sudo apt install nethogs

按进程监控带宽

要运行 nethogs 实用程序,请在基于 red-hat 的系统下键入以下命令。

# nethogs

在基于 Debian 的 Linux 上,您必须具有 root 权限,因此请使用 sudo 命令运行,如图所示。

$ sudo nethogs

从上面的内容可以看出,发送和接收列展示了每个进程正在使用的流量大小。带宽的总发送和接收用量在界面底部进行了汇总。您可以通过使用下文提到的交互式控件来对数据进行排序和调整顺序。

NetHogs 命令行参数

以下是 nethogs 的一些常用命令行参数。您可以使用 '-d' 参数来设置刷新频率,并通过指定 '设备名称' 来监控特定设备的带宽(默认设备是 eth0)。

例如,如果您想将刷新频率设置为 5 秒,您可以按照如下方式输入命令。

$ sudo nethogs -d 5

要仅监控特定设备 (eth0) 网络带宽,请使用命令 as。

$ sudo nethogs eth0

要监控 eth0 和 eth1 接口的网络带宽,请键入以下命令。

$ sudo nethogs eth0 eth1
  • NetHogs 的选项和使用方法

    • -d 参数用于设置刷新率的延迟时间。
    • -h 参数用于列出所有可用命令的使用方法。
    • -p 参数用于开启混杂模式进行嗅探(不推荐使用)。
    • -t 参数用于开启追踪模式。
    • -V 参数用于显示软件的版本信息。
  • NetHogs 的交互式控制 以下是 nethogs 工具的一些实用交互式控制(键盘快捷键)

    • -m 参数用于更改带宽显示的单位,比如从 KB/sec 切换到 KB、B 或 MB。
    • -r 参数用于按相应流量的大小进行排序。
    • -s 参数用于按发送流量的大小进行排序。
    • -q 参数用于退出程序并返回到命令行提示符。

要获取 nethogs 工具命令行选项的完整列表,你可以在终端中输入 ‘man nethogs‘ 或 ‘sudo man nethogs‘ 来查看其手册页。

相关文章
|
4月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
278 4
|
5月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
169 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
6月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
432 18
|
6月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
337 6
|
5月前
|
传感器 数据采集 存储
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
134 0
|
7月前
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
635 5
|
7月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
198 2
|
8月前
|
存储 监控 网络协议
HarmonyOS NEXT实战:网络状态监控
本教程介绍如何在HarmonyOS Next中使用@ohos.net.connection模块实现网络状态监控,并通过AppStorage进行状态管理,适用于教育场景下的网络检测功能开发。
326 2
|
7月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
189 0
|
9月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
269 18