Linux网络监控工具 - nethogs

news2024/9/24 19:21:00

nethogs 是一个基于命令行的网络监控工具,用于实时监视每个进程的网络流量。它可以显示每个进程使用的带宽、连接数和数据包数量等信息。

安装

在大多数Linux发行版中,您可以使用包管理器来安装 nethogs。例如,在Ubuntu/Debian上,可以使用以下命令安装:

  sudo apt-get install nethogs

启动

在终端中输入 nethogs 命令即可启动 nethogs。默认情况下,它会显示所有正在进行的网络连接的信息。

界面说明

在这里插入图片描述
nethogs的界面以表格的形式呈现,可以通过上下方向键来滚动页面。界面中的每一行都对应着一个进程及其对应的网络流量信息

  • 进程ID(PID):显示了正在使用流量的进程的ID。
  • 进程名称(Program):显示的是正在使用网络带宽的进程的名称或命令行参数。它用于标识每个进程的身份。例如:“172.18.219.63:56805-172.19.0.2:17017”,代表这是由IP地址为172.18.219.63的主机发起到172.19.0.2的连接。
  • 上传速度(Sent):显示了该进程的上传速度,单位是字节/秒。
  • 下载速度(Received):显示了该进程的下载速度,单位是字节/秒。
  • 总流量(Total):显示了该进程已经使用的总流量,单位是字节。

用法

语法
nethogs [-V] [-h] [-b] [-d seconds] [-v mode] [-c count] [-t] [-p] [-s] [device [device [device ...]]]
选项
  • -V: 打印版本信息
  • -h: 帮助信息
  • -b: 以“bughunt”模式运行(隐式tracemode),并显示每个进程的网络使用情况和其他相关信息
  • -d: 指定刷新间隔的秒数,默认为1秒。
  • -v: 流量显示模式 (0 = KB/s, 1 = total KB, 2 = total B, 3 = total MB). 默认 0
  • -c: 更新次数。默认值为0(无限制)
  • -t: 跟踪模式,以文本模式显示结果,记录下每一次刷新的流量信息
  • -p: 在混杂模式下监听流量(不推荐)
  • -s:按发送流量进行排序
运行时命令

在nethogs运行时还支持以下相关操作:

  • q: 退出
  • s: 按发送流量进行排序
  • r: 按接收流量进行排序
  • m: 切换流量显示模式;total (KB, B, MB) 和 KB/s

工作原理

  1. NetHogs通过读取/proc文件系统中的网络相关信息来获取进程的网络连接信息。它遍历/proc目录下的所有进程,并读取每个进程的网络连接信息。

  2. 对于每个网络连接,NetHogs会读取/proc/<PID>/fd目录下的文件描述符信息,以确定与网络连接相关的文件描述符。

  3. NetHogs通过读取/proc/<PID>/net/tcp/proc/<PID>/net/udp文件来获取与网络连接相关的TCP和UDP连接的详细信息,包括源和目标IP地址、端口号等。

  4. NetHogs还会读取/proc/<PID>/cmdline文件来获取进程的命令行参数,以确定进程的名称。

  5. NetHogs根据捕获到的网络数据包的源和目标IP地址、端口号以及数据包大小,计算出每个进程的网络带宽使用情况。

  6. NetHogs将收集到的数据按照进程ID、进程名称、源和目标IP地址、端口号等进行统计和显示,以提供实时的网络带宽使用情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1074720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java 进阶篇】CSS语法格式详解

在前端开发中&#xff0c;CSS&#xff08;层叠样式表&#xff09;用于控制网页的样式和布局。了解CSS的语法格式是学习如何设计和美化网页的关键。本文将深入解释CSS的语法格式&#xff0c;包括选择器、属性和值等基本概念&#xff0c;同时提供示例代码以帮助初学者更好地理解。…

【单片机】18-红外线遥控

一、红外遥控背景知识 1.人机界面 &#xff08;1&#xff09;当面操作&#xff1a;按键&#xff0c;旋转/触摸按键&#xff0c;触摸屏 &#xff08;2&#xff09;遥控操作&#xff1a;红外遥控&#xff0c;433M/2.4G无线通信【穿墙能力强】&#xff0c;蓝牙-WIFI-Zigbee-LoRa等…

WPFdatagrid结合comboBox

在WPF的DataGrid中希望结合使用ComboBox下拉框&#xff0c;达到下拉选择绑定的效果&#xff0c;在实现的过程中&#xff0c;遇到了一些奇怪的问题&#xff0c;因此记录下来。 网上能够查询到的解决方案&#xff1a; 总共有三种ItemSource常见绑定实现方式&#xff1a; 1.ItemS…

【bug日记】spring项目使用配置类和测试类操作数据库

最近学校课程要求使用spring操作数据库&#xff0c;时间有点久了&#xff0c;操作都不太熟悉了&#xff0c;遇到了很多坑&#xff0c;特此记录一下。 导入依赖 <!-- Spring Framework --> <dependency><groupId>org.springframework</groupId><ar…

用Nginx搭建一个可用的静态资源Web服务器

sudo wget http://dlib.net/files/dlib-19.24.tar.bz2下载需要的文件。 sudo tar jxf dlib-19.24.tar.bz2进行解压。 sudo mkdir /nginx/dlib在nginx安装目录/nginx创建一个新的目录dlib。 配置文件里边的内容如下&#xff1a; worker_processes 1; events {worker_con…

如何批量获取1688商品详情数据接口,1688商品详情数据接口

批量获取1688商品详情数据接口的步骤如下&#xff1a; 获取API接口权限。编写API请求代码。应用爬取下来的数据。 1688商品详情数据接口步骤如下&#xff1a; 注册成为1688开放平台的开发者&#xff0c;并创建一个应用&#xff0c;获取到所需的App Key和App Secret等信息。使…

SpringBoot 如何使用 Prometheus 进行监控

在当今的软件开发世界中&#xff0c;监控是至关重要的一部分。它允许开发人员和运维团队实时跟踪应用程序的性能、可用性和健康状况。Spring Boot是一个流行的Java框架&#xff0c;用于构建微服务和Web应用程序&#xff0c;而Prometheus是一个开源的监控和警报工具。本文将介绍…

数据结构和算法——线性结构

文章目录 前言线性表顺序表链表合并有序链表反转链表 队列循环队列双端队列资源分配问题 栈共享栈表达式求值递归处理迷宫问题 串串的模式匹配BF算法KMP算法next数组的求解next数组的优化 前言 本文所有代码均在仓库中&#xff0c;这是一个完整的由纯C语言实现的可以存储任意类…

spark-08

学习视频&#xff1a; 黑马程序员Spark全套视频教程&#xff0c;4天spark3.2快速入门到精通&#xff0c;基于Python语言的spark教程_哔哩哔哩_bilibili

增强LLM:使用搜索引擎缓解大模型幻觉问题

论文题目&#xff1a;FRESHLLMS:REFRESHING LARGE LANGUAGE MODELS WITH SEARCH ENGINE AUGMENTATION 论文地址&#xff1a;https://arxiv.org/pdf/2310.03214.pdf 论文由Google、University of Massachusetts Amherst、OpenAI联合发布。 大部分大语言模型只会训练一次&#…

Spring Data Redis使用方式

1.导入Spring Data Redis的maven坐标 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2. 配置Redis数据源 2.1application.yml文件…

idea compile项目正常,启动项目的时候build失败,报“找不到符号”等问题

1、首先往上找&#xff0c;看能不能找到如下报错信息 You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled. 2、这种问题属于lombok编译失败导致&#xff0c;可能原因是依赖jar包没有更新到最新版本 3、解决方案 1&#xff09…

C语言编程实现只有一个未知数的两个多项式合并的程序

背景&#xff1a; 直接看题目把&#xff01;就是C语言写两个多项式多项式合并 题目要求&#xff1a; 1. 题目&#xff1a; 编程实现只有一个未知数的两个多项式合并的程序。如&#xff1a; 3x^26x7 和 5x^2-2x9合并结果为8x^24x16。 2. 设计要求 &#xff08;1&#xff09…

有哪些值得推荐的Java 练手项目?

大家好&#xff0c;我是 jonssonyan 我是一名 Java 后端程序员&#xff0c;偶尔也会写一写前端&#xff0c;主要的技术栈是 JavaSpringBootMySQLRedisVue.js&#xff0c;基于我学过的技术认真的对每个分享的项目进行鉴别&#xff0c;今天就和大家分享我曾经用来学习的开源项目…

微调codebert、unixcoder、grapghcodebert完成漏洞检测代码

文件结构如下所示&#xff1a; mode.py # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. import torch import torch.nn as nn import torch from torch.autograd import Variable import copy from torch.nn import CrossEntropyLoss, MSELosscl…

若依4.7.6 版本任意文件下载(CVE-2023-27025)

CVE-2023-27025 框架说明 若依/ruoyi 是使用java主流框架的一款优秀的国内开源cms&#xff0c; 基于SpringBoot、Shiro、Mybatis的权限后台管理系统。 环境搭建 查询最近的漏洞信息 https://cve.mitre.org/ 搜索ruoyi 代码审计感兴趣的漏洞&#xff1a;CVE-2023-27025 …

MyBatis-Plus 内置雪花算法主键重复问题

Mybatis-Plus 使用ID_WORKER生成主键id重复 问题描述 目前项目使用的id是mybatis-plus 内置的主键生成策略 ID_WORKER &#xff0c;最近测试在做性能压测&#xff0c;部署架构是单服务集群的部署方式&#xff0c;然后就发现了id重复的异常&#xff0c;异常如下 问题分析 首先分…

JSONUtil.parse将java对象转为json时,需要在java对象中设置get、set方法

想要使用JSONUtil.parse将java对象转为json格式&#xff0c;但是一直为空&#xff0c;代码如下 public class MyTest {public static void main(String[] args) {Test3<String> test3 new Test3<>("2","hhhhhhaaa");System.out.println(JSON…

Excel统计一列数据中某数字出现的频次函数COUNTIF

一、函数COUNTIF 要统计Excel中一列数据中各个元素出现的频次&#xff0c;可以使用Excel的函数COUNTIF。 假设要统计的数据位于A列&#xff0c;从A1到A10&#xff0c;可以在某小格子中使用以下公式来统计每个元素的频次&#xff1a; COUNTIF($A$1:$A$10, A1) 二、示例 下表…

前端笔记:Create React App 初始化项目的几个关键文件解读

1 介绍 Create React App 是一个官方支持的方式&#xff0c;用于创建单页应用的 React 设置用于构建用户界面的 JAVASCRIPT 库主要用于构建 UI 2 项目结构 一个典型的 Create React App 项目结构如下&#xff1a; ├── package.json ├── public # 这…