iftop的学习与使用
背景
前段时间一直进行netperf 等网络性能验证工具的学习与使用.
监控很多时候采用了 node-exporter + prometheus + grafana来进行观察
但是到了一些特殊项目现场. 感觉grafana的大屏展示模式,其实存在很多不太优雅的地方.
还是需要有一个命令行界面能够方便快捷进行查看会更好一些.
之前一直知道iftop等工具. 但是使用的一直不是非常系统.
今天周六.想着安装和总结一下,备忘.
安装准备
需要注意 iftop 其实也是基于 libpcap 进行流量包的抓取与分析
所以必须安装对应的包才可以.
另外需要安装画图的一些组件, 所以需要ncurses-devel的组件.
我感觉ncurse跟umount 一样属于GNU组织的错别字(通假字)
yum install libpcap* ncurse* -y
编译其实不需要 非devel包,不过这样写命令简单, 需要注意.
编译iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
然后解压缩 执行
./configure
以及执行
make
就可以打包完成
scp iftop /usr/bin
然后执行 iftop 就可以查看监控信息
参数学习与使用
工具是用来解决问题的手段, 而不是目标
学习工具一定要了解工具的有点与特长,才可以加快解决问题的速度与效率.
iftop -h 查看说明
iftop -B 使用大B进行展示网络流量.
iftop -n 使用ip地址进行展示流量信息.
其他知识
界面参数说明
=>代表发送数据
<=代表接收数据
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
常用的参数
-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
-P显示端口号
部分使用方式
显示网卡eth0的信息,主机通过ip显示
> iftop -i eth0 -n
显示端口号(添加-P参数,进入界面可通过p参数关闭)
> iftop -n -P
显示将输出以byte为单位显示网卡流量,默认是bit
> iftop -i eth0 -n -B
显示流量进度条
> iftop -i eth0 -n(进入界面后按下L)
显示每个连接的总流量
> iftop -i eth0 -n(进入界面后按下T)
显示指定ip 8.8.8.8的流量
> iftop -i eth0 -n(进入界面后按下l,输入8.8.8.8回车)
注意最后三节学习自: https://rumenz.com/rumenbiji/linux-iftop.html