首页 > 编程知识 正文

linux流量监控命令,iftop详解

时间:2023-05-04 20:02:41 阅读:152565 作者:984

iftop是在Linux系统上实时监视服务器网络带宽使用情况的工具,有iptraf、nethogs等多种工具,但建议使用小型且功能强大的iftop工具。

iftop是Linux系统上的免费网卡实时通信监控工具,类似于top命令。 iftop监视被指定网卡的实时通信量、端口连接信息、反向的IP分析等,可以正确显示本地网络通信量和网络内的各主机与本地相互通信的通信量的集合,可以正确显示代理

另外,iftop对检测通信量异常的主机非常有效,通过iftop的输出可以迅速确定主机通信量异常的原因,对网络故障排除、网络安全检查非常有用。 其缺点是没有报告功能,必须以root身份运行。

安装1、使用软件管理工具安装

# centos $ sudoyuminstalliftop # Ubuntu $ sudoaptinstalliftop2.在源代码编译中安装

#安装比较软件包$ sudouminstallibpcaplibpcap-develncursesncurses-develflexbyacc #下载软件包$ wget ' http://www.ex-papace ~ PDW if top-0.17.tar.gz ' $ tarzxvfiftop-0.17.tar.gz $ CDI ftop-0.17 $./configure $ make make install通用参数-i检查缺省情况下,bit-N用IP显示所有输出的主机信息,-n只显示连接端口号,不进行DNS分析。 不显示与端口对应的服务名称-F显示特定网络段的网卡出入通信量。 例如, iftop -F 192.168.85.0/24-h帮助,显示参数信息-p以混合模式执行iftop。 此时,iftop可以用作网络嗅探p显示主机及端口信息-m的设定输出接口中最上面的业务比例的最大值。 流量比例是使用# iftop -m 100M-f过滤器代码选择包并指定可选配置文件(如iftop -f filter code-b,不显示流量图形条-c )时的情况以下两个只是和-t一起使用。 -s num num秒后打印一次文本并输出,然后结束。 与-t -s 60组合使用时,表示获取60秒的网络通信并打印到终端-L num打印的行数。 -f参数对应于tcpdump语法,可以使用各种过滤条件。 接口操作1、接口信息

安装iftop工具后,直接输入iftop命令即可显示网络接口卡的实时通信量信息。 默认情况下,iftop显示系统中第一个网卡的通信信息。 要显示指定的网卡信息,请使用"-i "参数。 “iftop -P -i eth0”命令提供了如下图所示的iftop典型输出界面。

第一部分

iftop输出的第一行。 此行中的信息是通信量标尺,用于显示网卡的带宽通信量。

第二部分

这部分是分割线的中间部分,其中分别分为左、中、右三列。 左侧和中间的列记录了哪个IP或主机连接到其网络。 其中,中列的“=”表示发送数据,“=”表示接收数据,通过该指示箭头可以清楚地知道两个IP之间的通信状况。 最右边的一列又分为三小列,这些实时参数分别表示外部IP连接本机后2秒内、10秒内、40秒内的平均流量值。

另外,这部分还有流量图表条。 流量图表条是流量大小的动态表示,以第一部分的流量刻度为基准。 通过此通信图形栏,您可以方便地了解哪些IP的通信量最大,并快速识别网络上可能出现的通信问题。

第三部分

位于iftop输出的底部,可以分为三行。 其中“TX”表示发送数据,“RX”表示接收数据,“TOTAL”表示发送和接收所有通信。 有三列与这三行相对应," cum "列表示从执行iftop以来的发送、接收和总数据流量。 “峰值”列显示发送、接收和总流量的峰值。 “rates”列表示过去2s、10s、40s的平均流量值。

2 .交互操作

iftop的实时监控界面还允许用户交互操作输出结果,以组织和过滤输出信息。 在上图所示界面中,按" h "键进入交互式选项界面。 请参照下图。 iftop的交互功能与Linux下的top命令非常相似,交互参数主要分为四部分,分别是一般参数、主机显示参数、端口显示参数、输出排序参数。 相关参数的含义如下表所示。

含义p这个键可以切换暂停/继续显示h。这个键可以在交互参数界面/状态输出界面之间切换。b这个键可以切换是否显示平均流量图表条b。这个键可以切换2秒、10秒、40秒的平均流量

/k 按j键或k键可以向上或向下滚动屏幕显示当前的连接信息l 通过此键可打开iftop输出过滤功能,比如输入要显示的IP,按回车后,屏幕就只显示与这个IP相关的流量信息L 通过此键可切换显示流量刻度范围,刻度不同,流量图形条会跟着变化q 通过此键可退出iftop流量监控界面n 通过此键可使iftop输出结果以IP或主机名的方式显示s 通过此键可切换是否显示源主机信息d 通过此键可切换是否显示远端目标主机信息t 通过此键可切换iftop显示格式,连续按此键可依次显示:以两行显示发送接收流量、以一行显示发送接收流量、只显示发送流量/接收流量N 通过此键可切换显示端口号/端口号对应服务名称S 通过此键可切换是否显示本地源主机的端口信息D 通过此键可切换是否显示远端目标主机的端口信息p 通过此键可切换是否显示端口信息1/2/3 根据最近 2 秒、10 秒、40 秒的平均网络流量排序< 通过此键可根据左边的本地主机名或IP地址进行排序> 通过此键可根据远端目标主机的主机名或IP地址进行排序o 通过此键可切换是否固定显示当前的连接 使用示例

1.显示网卡 eth0 的信息,主机通过 ip 显示

$ iftop -i eth0 -n

2.显示端口号(添加 -P 参数,进入界面可通过 p 参数关闭)

$ iftop -i eth0 -n -P

3.显示将输出以 byte 为单位显示网卡流量,默认是 bit

$ iftop -i eth0 -n -B

4.显示流量进度条

## 进入界面后按下 L $ iftop -i eth0 -n

5.显示每个连接的总流量

## 进入界面后按下 T$ iftop -i eth0 -n

6.显示指定 ip 172.17.1.158 的流量

进入界面后按下 l 后,再输入 172.17.1.158 并回车)$ iftop -i eth0 -n 实战

下面我们将通过找出最费流量的 IP 和端口号这一具体实例,来演示 iftop 强大的功能。
1.进入界面

$ iftop -i eth0 -nNB -m 10M -i 指定网卡,-n 代表主机通过ip显示不走DNS-N 只显示连接端口号,不显示端口对应的服务名称(不加会显示如ssh这样的服务名称,不便于排查)-B 指定显示单位为Kb,默认是bit,太小!-m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示

进入后界面如下:

2.按下 L 显示流量刻度
L 参数直接显示进度条,方便人类阅读。

3.按下 T 显示总量
有个总数统计,看着方便!

4.按下 3,根据最近 40s 统计排序
用平均值来统计最权威点

5.按下 t,发送和接受合成一行

6.多按几次 B,查看最近 2s、10s、40s 的统计

没错,图中的 172.17.1.158 就是我们找到的流量用得最多的 IP

7.筛选指定 IP 172.17.1.158
按下 l, 输入172.17.1.158,出现如下

回车后生效

这下就只看到这个 IP 的流量监控了

8.找到这个 IP 哪个端口流量用得最多
按下 p, 根据端口号显示

到这里,我们就学会了如何找出流量用得最多的 IP 和端口号。
本文转载自:「 博客园 」,原文:http://t.cn/A6tM3oLg ,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

参考链接 :

Linux 网络流量监控利器 iftop 中文入门指南 :https://mp.weixin.qq.com/s/NYsE1Oe8G3IanMw1p9_GUA

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。