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

相关文章

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Python Faker库基本用法详解

《PythonFaker库基本用法详解》Faker是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍PythonF... 目录安装基本用法主要功能示例代码语言和地区生成多条假数据自定义字段小结Faker 是一个 python

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释