iftop是类似于linux系统中实时流量的监控工具。
iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。
一、iftop详解 1.1 安装命令centos 系统使用如下命令进行安装
yum install -y iftop
1.2 界面说明
12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb
==================================================================================================================================================================================================================
iZj6cibuqbd4wx6fqv2k4kZ => 100.103.0.45 0b 9.19Kb 9.19Kb
47.95.246.187 3.55Kb 5.88Kb 5.88Kb
100.100.35.30 5.08Kb 1.02Kb 1.02Kb
100.100.30.25 4.80Kb 3.08Kb 3.08Kb
192.168.21.2 1.13Kb 1.14Kb 1.14Kb
100.100.2.138 572b 586b 586b
100.100.2.136 872b 577b 577b
ec2-13-48-48-212.eu-north-1.compute.amazonaws.com 0b 67b 67b
203.107.6.88 304b 61b 61b
ec2-68-79-21-76.cn-northwest-1.compute.amazonaws.com.cn 0b 29b 29b
ec2-68-79-49-70.cn-northwest-1.compute.amazonaws.com.cn 0b 29b 29b
75.6Mb 75.6Mb 75.6Mb 18.9MB
100.115.61.9:http 70.5Mb 70.5Mb 70.5Mb 17.6MB
100.115.61.9:http 38.7Mb 38.7Mb 38.7Mb 9.66MB
100.115.61.4:http 75.6Mb 75.6Mb 75.6Mb 18.9MB
100.115.61.9:http /opt/logs/iftop_log/iftop$(date +%F_%H:%M:%S).log
fi
2.2 定时器任务
*/2 * * * * /bin/bash /opt/scripts/network_monitoring.sh >/dev/null 2>&1
脚本解析
MB=1
network_now=$(cat /proc/net/dev | grep eth0 | tr : " " | awk '{print $10}')
查看现在的eth0网卡出网带宽(出网总字节数)
/proc/net/dev:网卡发送或接收的数据的总字节数
tr : " " 将:转换为空格
sleep 60
等待60秒
network_next=$(cat /proc/net/dev | grep eth0 | tr : " " | awk '{print $10}')
查看1分钟后的eth0网卡出网带宽(出网总字节数)
network=$((${network_next}-${network_now}))
利用第二次获取的出网总带宽减去第一次的出网总带宽,得到一分钟的网卡出网带宽
network_MB=$(echo $network | awk '{print $/1048576/8 }')
将字节数转换为MB
if [ `echo "$TX > $MB" | bc` -eq 1 ];then
判断一分钟增长的出网带宽是否大于设置的阈值,如果大于,则执行以下命令:
iftop -tnPBs 2 > /opt/logs/iftop_log/iftop$(date +%F_%H:%M:%S).log
-t 使用不带ncurse的交互文本界面
-n 使host信息默认直接显示IP
-P 使host信息及端口信息默认就都显示
-B 以bytes为单位显示流量(默认是bits)
-s 在数秒后打印一个文本输出,然后退出
fi
iftop打印后的内容
# Host name (port/service if enabled) last 2s last 10s last 40s cumulative
--------------------------------------------------------------------------------------------
1 172.31.56.175:41936 => 699B 699B 699B 1.37KB
100.100.30.25:http 284B 284B 284B 568B
106.38.36.34:rich-cp 144B 144B 144B 289B
192.168.21.2:57962 141B 141B 141B 282B
192.168.21.2:58122 37B 37B 37B 74B
100.100.2.136:domain 37B 37B 37B 74B
100.100.2.138:domain 38B 38B 38B 76B
100.100.3.3:ntp
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?