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

相关文章

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java