专栏名称: 数据分析与开发
伯乐在线旗下账号,分享数据库相关技术文章、教程和工具,另外还包括数据库相关的工作。偶尔也谈谈程序员人生 :)
目录
相关文章推荐
数据中心运维管理  ·  国家数据局重磅文件 | ... ·  2 天前  
数据中心运维管理  ·  国家标准《数据中心设计标准》修订工作正式启动 ·  4 天前  
数据中心运维管理  ·  国内首个洞库式数据中心!贵安腾讯七星数据中心 ... ·  3 天前  
数据中心运维管理  ·  北京自2026年起,对PUE>1.35的数据 ... ·  1 周前  
数据分析与开发  ·  强烈建议尽快搞个软考证!(重大利好) ·  1 周前  
51好读  ›  专栏  ›  数据分析与开发

网络实时流量监控工具 iftop

数据分析与开发  · 公众号  · 数据库  · 2016-11-17 21:45

正文

(点击上方公众号,可快速关注)


来源:寂寞暴走伤

链接:http://blog.chinaunix.net/uid-30212356-id-5751503.html


1.安装依赖软件库


[root@localhost ~]# yum install libpcap libpcap-devel ncurses ncurses-devel -y


工具下载地址:http://www.ex-parrot.com/~pdw/iftop/


2.解压并编译安装


[root@localhost ~]# tar xf iftop-1.0pre4.tar.gz -C /usr/local/src/

[root@localhost ~]# cd /usr/local/src/iftop-1.0pre4/

[root@bogon iftop-1.0pre4]# ./configure --prefix=/usr/local/application/iftop

[root@bogon iftop-1.0pre4]# make && make install


3.导入环境变量和man手册


[root@bogon ~]# vim /etc/profile.d/iftop.sh

export PATH=$PATH:/usr/local/application/iftop/sbin

[root@bogon ~]# source /etc/profile.d/iftop.sh

[root@bogon ~]# vim /etc/man.config

MANPATH /usr/local/application/iftop/share/man


4.测试及说明


4.1直接使用iftop命令:


[root@localhost ~]# iftop

interface: eth0

IP address is: 192.168.85.129

MAC address is: 00:0c:29:ffffff9d:ffffffab:ffffff9b

 


4.2 iftop的输出从整体上可以分为三大部分:


第一部分是iftop输出中最上面的一行,此行是流量刻度,用于显示网卡带宽流量;


第二部分是iftop输出中最大的一个部分,此部分又分为左中右三列,左列和中列记录了哪些IP或主机正在本机的网络进行连接。其中中列的 => 代表发送数据,


第三部分位于iftop输出的最下面,可以分为三行,其中TX表示发送的数据,RX表示接受的数据,TOTAL表示发送和接收的全部流量。与这三行对应的有三列,其中cum列表示从运行iftop到目前的发送,接收和总数据流量;peak列表示发送,接收以及总的流量峰值;rates列表示过去2s 10s和40s的平均流量值;


4.3iftop使用的参数(iftop -h)


参数                  含义                                          

-i      指定需要检测的网卡

-n    将输出的主机信息都通过IP显示,不进行DNS解析             

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

-p    以混杂模式运行iftop,此时iftop可以用作网络嗅探器      

-N    只显示连接端口号,不显示端口对应的服务名称                

-P    显示主机以及端口信息                     

-F    显示特定网段的网卡进出流量  如iftop -F 192.168.85.0/24               

-m    设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示  如iftop  -m limit

-f    使用筛选码选择数据包来计数  如iftop -f filter code

-b    不显示流量图形条

-c    指定可选的配置文件   如iftop  -c config file

-t    使用不带ncurses的文本界面,


如下两个是只和-t一起用的:


-s num        num秒后打印一次文本输出然后退出

-L num        打印的行数


效果如图:



4.4交互操作


再进入iftop检测界面后按h键即可进入交互选项界面,如图



交互参数主要分为四个部分,分别为一般参数,主机参数,端口显示参数和输出排序参数;


一般参数:


P     切换暂停/继续显示

h     在交互界面/状态输出界面之间切换

b     切换是否显示平均流量图形条

B     切换显示2s 10s和40s内的平均流量

T     切换是否显示每个连接的总流量

j/k   向上或向下滚动屏幕显示当前的连接信息

f     编辑筛选码

l     打开iftop输出过滤功能 ,如输入要显示的IP按回车键后屏幕就只显示与这个IP相关的流量信息

L     切换显示流量刻度范围,刻度不同,流量图形条也会不同

q     退出iftop


主机参数:


n     使iftop输出结果以IP或主机名的方式显示

s     切换是否显示源主机信息

d     切换是否显示远端目标主机信息

t     切换输出模式


端口显示参数:


N     切换显示端口号/端口号对应服务名称

S     切换是否显示本地源主机的端口信息

D     切换是否显示远端目标主机的端口信息

p     切换是否显示端口信息


输出排序参数:


1/2/3    通过第一列/第二列/第三列排序

>       根据远端目标主机的主机名或IP地址进行排序

o       切换是否固定显示当前的连接


补充:如何将iftop的输出导出到文本中呢?


iftop的man手册中-t选项说可以将输出定向到标准输出中,可是试了不行,也不知道如何做。


-t text output mode

Use text interface without ncurses and print the output to STDOUT.


但是找到了一个可以实现的方法:http://www.weiruoyu.cn/?p=2638

nohup iftop -i eth0 > /filename 2>&1 &

 


参考:http://www.vpser.net/manage/iftop.html
引用:高性能Linux服务器构建实战(高俊峰著) 第二章



关注「数据库开发」

看更多精选技术文章

↓↓↓