centos7下iftop监控网络流量使用详解

2023-11-10 21:41

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

iftop命令用于查看网络上的流量情况,包括实时速率、总流量、平均流量等,是一款实时流量监控工具。 在调试网络通信的程序中可能会用得上。 注意,iftop命令不记录历史数据,无报表,且只能显示从程序启动到现在的总流量。它的运行需要root权限。

2.安装

有两种安装方式

  1. yum/apt安装

2.源码编译安装
2.1 yum/apt

#Ubuntu
sudo apt install -y iftop/xenial
#Centos
sudo yum install -y iftop.x86_64

2.2 源码编译安装
2.2.1 预装系统包

#Ubuntu
sudo apt-get install flex byacc libpcap0.8 libncurses5
#Centos
sudo yum install -y flex byacc libpcap ncurses-devel libpcap-devel

2.2.2 编译安装iftop
复制代码

#下载iftop的安装包
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
#解压缩iftop的安装包
tar xzvf iftop-0.17.tar.gz
#进入对应目录
cd iftop-0.17/
#配置
sudo ./configure
#编译
sudo make
#安装
sudo make install

复制代码
3. 运行iftop
3.1 帮助

执行iftop -h

iftop: display bandwidth usage on an interface by hostSynopsis: iftop -h | [-npblNBP] [-i interface] [-f filter code]
[-F net/mask] [-G net6/mask6]-h display this message   
-n don't do hostname lookups
-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
-f filter code use filter code to select packets to count
(default: none, but only IP packets are counted)
-F net/mask show traffic flows in/out of IPv4 network
-G net6/mask6 show traffic flows in/out of IPv6 network
-l display and count link-local IPv6 traffic (default: off)
-P show ports as well as hosts
-m limit sets the upper limit for the bandwidth scale
-c config file specifies an alternative configuration file
-t use text interface without ncursesSorting orders:
-o 2s Sort by first column (2s traffic average)
-o 10s Sort by second column (10s traffic average) [default]
-o 40s Sort by third column (40s traffic average)
-o source Sort by source address
-o destination Sort by destination addressThe following options are only available in combination with -t
-s num print one single text output afer num seconds, then quit
-L num number of lines to print

可以看到有很多选项,这里我分享一些常见用法示例
3.2 例子
在这里插入图片描述在这里插入图片描述

其中:

第一行,是带宽,下面带有标尺,用来标示每个连接上的实时流量占用的带宽
中间部分,是所有的连接,默认显示的是主机名,可以通过参数显示ip,箭头表示数据方向
中间右侧三列,分别是该连接2s、10s、40s的平均流量
底部三行,分别表示发送、接收、汇总的流量
底部三行第2列,为iftop启动到现在的流量汇总
底部三行第3列,为峰值速率
第4列,为平均值
注意,流量单位为bit,非Byte

可以看到,通过iftop可以很容易看到各个连接的流量使用情况。
参数介绍
2.iftop -B
以Byte为单位展示而不是Bit为单位展示
3.iftop -n
不展示hosts信息,也可以在iftop后按n进行切换
显示为主机名
在这里插入图片描述显示为ip
在这里插入图片描述4.iftop -N
不展示端口号;默认展示的ip后面会带端口号。可以进入iftop后按N切换
5.iftop -F 网段
例如: iftop -F 192.168.21.0/192.168.21.0
在这里插入图片描述6.iftop -P
展示host信息和端口信息
在这里插入图片描述7.iftop -i eth0
指定只展示eth0网卡的进出流量,默认只展示eth0的网卡信息
8. 排序(最重要的)

iftop -o 2s,按照rate(2秒内平均流量)那列排序,也可以进入iftop按1

iftop -o 10s,按照rate(10秒内平均流量)那列排序,也可以进入iftop按2

iftop -o 40s,按照rate(40秒内平均流量)那列排序,也可以进入iftop按3

iftop -o source,按照源地址排序,也可以进入iftop按<

iftop -o source,按照目的地址排序,也可以进入iftop按>

  1. 常用快捷键

q:退出

?:帮助模式

P: 停止屏幕信息刷新

S: 切换source端口展示

D:切换dest端口展示

j/k:向前后滚动屏幕信息

在启动iftop时,可以指定监控的网卡,默认为第一块网卡:

iftop -i eth1

其他常用命令:

iftop -n # 直接显示IP, 不进行DNS反解析
iftop -N # 直接显示连接埠编号, 不显示服务名称
iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0 # 显示某个网段进出包流量

一般情况下,使用 iftop -nN启动即可。

在进入iftop界面后,直接输入以下参数进行调节控制:

h:显示帮助开关
n: 显示主机名/主机ip开关
s:显示本机host开关
d:显示远端主机host开关
t:切换显示格式为2行/1行/只显示发送流量/只显示接收流量
N:显示端口号或端口服务名称开关
S:显示本机的端口信息开关
D:显示远端目标主机的端口信息开关
p:显示端口信息开关
P:切换暂停/继续显示
b:显示平均流量图形条开关,以界面第一行带宽为标尺,上图中的白条状图即是
B:切换计算2秒或10秒或40秒内的平均流量
T:显示每个连接的总流量开关
l:打开屏幕过滤功能,输入要过滤的字符,比如ip, 按回车后,屏幕就只显示这个IP相关的流量信息
L:切换显示画面上边的刻度; 刻度不同,流量图形条会有变化
j或k:可以向上或向下滚动屏幕显示的连接记录
1或2或3:可以根据右侧显示的三列流量数据进行排序
<:根据左边的本机名或IP排序
>:根据远端目标主机的主机名或IP排序
o:切换是否固定只显示当前的连接
f:可以编辑过滤代码
!: 可以使用shell命令
q: 退出

我一般都是使用iftop -nN -i eth0启动,然后再辅助各种参数来调整。
扩展

iftop使用比较简单,通过各种参数也能很快找到自己想要的数据。

也有一些其他流量监控工具,如:

ip:查看网卡上的总流量来自 iproute2util 包,在大多数系统上都已经默认安装,也可通过 yum install -y iproute 安装
nload:查看各个网络设备的当前网络速率来自EPEL软件库,安装:yum install -y epel-release && yum install -y nload
iptraf-ng:可以输出网卡的tcp、udp等各种数据,和各个网卡的实时网速默认未安装,可使用 yum install -y iptraf-ng 安装
stat:用来替换vmstat、iostat、netstat、nfsstat和ifstat的全能系统信息统计工具,支持数据实时刷新,输出直观易懂默认没有安装,安装命令为:yum install -y dstat
sar:System Activity Report的缩写,是一款全面的Linux系统运行状态统计和性能分析工具,可从磁盘IO、CPU负载、内存使用等多个维度对系统活动进行报告来自 sysstat 包,安装:yum install -y sysstat
ss 和 netstat:查看活动链接/监听端口的常用命令。ss 是 netstat 的替代,性能更好,建议使用ss 是 iproute2util 包的一部分,netstat 来自 net-tools 包,新版系统上需要自行安装:yum install -y net-tools
nethogs:查看单个进程流量而设计的工具,按照进程进行带宽分组来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y nethogs
tcpdump:用来抓包,保存的数据可以用wireshark打开和查看

这篇关于centos7下iftop监控网络流量使用详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空