Linux网络监控工具 - iftop

2023-10-10 10:45
文章标签 工具 linux 网络 监控 iftop

本文主要是介绍Linux网络监控工具 - iftop,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iftop 是一个基于 libpcap 库的网络流量监控工具。它通过监听指定网络接口上的数据包,并分析这些数据包的源地址、目标地址、源端口、目标端口、协议等信息,从而实时显示网络流量的相关统计信息。

安装

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

sudo apt-get install iftop

启动

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

界面说明

标准视图,端口显示关闭,每对主机两行
在这里插入图片描述

主机名隐藏,显示源端口,每对主机一行=按服务划分的网络流量
在这里插入图片描述

  • 顶部:流量刻度尺,刻度分五个大段显示。数据行的流量条与之对应。
  • 数据行:显示实时的网络流量信息,每一行表示一个网络连接。
    • 本主机信息;
    • 目标主机信息; => 箭头表示流量方向,=>代表发送数据,<=代表接收数据;
    • 流量数据,这些实时参数分别表示主机间 2秒内10秒内40秒内的平均流量值;
  • 底部:显示当前的总发送和接收流量、平均发送和接收速率,以及当前的流量峰值。
    • TX 表示发送数据
    • RX 表示接收数据
    • TOTAL 表示发送和接收全部流量
    • cum 表示从运行iftop到目前的发送、接收和总数据流量
    • peak 表示发送、接收以及总的流量峰值
    • rates 表示过去2s、10s、40s的平均流量值

用法

语法
 iftop -h | [-npblNBP] [-i interface] [-f filter code]  [-F net/mask] [-G net6/mask6]
选项
  • -h
    display this message
    帮助信息
  • -n
    don’t do hostname lookups
    不要进行主机名查找,第一列默认显示的是hostname,加上该参数后就直接显示为IP
  • -N
    don’t convert port numbers to services
    只显示连接端口号,不显示端口对应的服务名称
  • -p
    run in promiscuous mode (show traffic between other hosts on the same network segment)
    以混杂模式运行(显示其他同一网段上的主机)
  • -b
    don’t display a bar graph of traffic
    不显示流量条形图
  • -B
    display bandwidth in bytes
    以字节为单位的显示带宽
  • -a
    display bandwidth in packets
    以数据包形式显示带宽
  • -i interface
    listen on named interface
    指定需要检测的网卡,默认为第一个活动网卡, 一般为 eth0
  • -f filter code
    use filter code to select packets to count (default: none, but only IP packets are counted)
    设置过滤规则,只显示符合规则的网络流量。
    过滤规则可以使用BPF(Berkley Packet Filter)语法,它允许您根据源IP地址、目标IP地址、端口号等条件进行过滤。
    例如,要只显示源IP地址为192.168.1.10的流量,可以使用以下过滤规则:iftop - -f “src host 192.168.1.10”
  • -F net/mask
    show traffic flows in/out of IPv4 network
    显示进出IPv4网络的流量
  • -G net6/mask6
    show traffic flows in/out of IPv6 network
    显示进出IPv6网络的流量
  • -l
    display and count link- -local IPv6 traffic (default: off)
    显示和计数链路本地IPv6流量(默认值:关闭)
  • -P
    show ports as well as hosts
    显示端口和主机
  • -m limit
    sets the upper limit for the bandwidth scale
    设置条形图带宽范围的上限,流量刻度分 5 个大段显示 如:# iftop - -m 100M
  • -c config file
    specifies an alternative configuration file
    指定可选的配置文件
  • -t
    use text interface without ncurses
    使用没有ncurses的文本界面
    排序选项
  • -o 2s
    Sort by first column (2s traffic average)
    按第一列(2秒流量平均值)排序
  • -o 10s
    Sort by second column (10s traffic average) [default]
    按第二列(10s 流量平均值)[默认值]排序
  • -o 40s
    Sort by third column (40s traffic average)
    按第三列(平均流量40秒)排序
  • -o source
    Sort by source address
    按源地址排序
  • -o destination
    Sort by destination address
    按目标地址排序

以下选项仅与- -t组合使用

  • -s num
    print one single text output afer num seconds, then quit
    在数秒内打印一个文本输出,然后退出;,-t -s 60 组合使用,表示取 60 秒网络流量输出
  • -L num
    number of lines to print
    要打印的行数
运行时命令
Host display
  • n - toggle DNS host resolution 切换DNS主机解析
  • s - toggle show source host 切换显示本主机Host
  • d - toggle show destination host 切换显示目标主机Host
  • t - cycle line display mode 切换显示模式,没对主机显示1/2行
Port display
  • N - toggle service resolution 切换显示端口号或端口服务名称
  • S - toggle show source port 切换是否显示本机的端口信息
  • D - toggle show destination port 切换是否显示远端目标主机的端口信息
  • p - toggle port display 切换是否显示端口信息
General
  • P - pause display 暂停/继续显示
  • h - toggle this help display 切换帮助信息和主页面
  • b - toggle bar graph display 切换是否显示平均流量图形条
  • B - cycle bar graph average 切换流量图形条为 2秒或10秒或40秒内的平均流量
  • T - toggle cumulative line totals 切换是否显示每个连接的总流量
  • j/k - scroll display 可以向上或向下滚动屏幕显示的连接记录
  • f - edit filter code 编辑过滤代码
  • l - set screen filter 打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息
  • L - lin/log scales 切换显示画面上边的刻度
  • ! - shell command 使用shell命令
  • q - quit 退出
Sorting
  • 1/2/3 - sort by 1st/2nd/3rd column 根据右侧显示的三列流量数据进行排序
  • < - sort by source name 根据本主机信息列排序
  • > - sort by dest name 根据远端目标主机列排序
  • o - freeze current order 切换是否固定只显示当前的连接

工作原理

iftop 的工作原理可以概括为以下几个步骤:

  1. 打开指定的网络接口:iftop 首先会打开用户指定的网络接口,如 eth0、wlan0 等。
  2. 抓取数据包:iftop 使用 libpcap 库来抓取从指定网络接口上收到的数据包。libpcap 是一个网络数据包捕获库,它可以在不同的操作系统上进行网络数据包捕获。
  3. 解析数据包:iftop 对抓取到的数据包进行解析,提取出数据包中的源地址、目标地址、源端口、目标端口、协议等信息。
  4. 统计流量信息:iftop 根据解析到的数据包信息,统计并计算出每个网络连接的发送速率和接收速率,以及总的发送流量和接收流量。
  5. 实时显示信息:iftop 将统计的流量信息以实时更新的方式显示在终端界面上,以便用户实时监控网络流量。

这篇关于Linux网络监控工具 - iftop的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/179912

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔