首页 > 系统服务 > 详细

Linux下监控进程的网络以及目标主机建立连接的网络流量

时间:2021-08-16 22:45:14      阅读:21      评论:0      收藏:0      [点我收藏+]

1、nethogs工具

while true;
do	
	echo "-----------------------------------------------------------------------" >> /tmp/net_process.log
	date >> /tmp/net_process.log
	nethogs  -t -d 3 -c 5 &>> /tmp/net_process.log
	sleep 10
done

简单讲述一下此命令的使用帮助:

-t 表示非交互显示,这里主要是为了写入本地的文本文件
-d 3表示每隔3s刷新一次
-c 5表示打印5次,为什么要打印5次呢?因为前面几次的流量都不准,所以基本是第3-5次流量是比较准确的。所有的监控工具基本都有这个毛病

可以把上面脚本做个守护进程运行,效果如下所示:

Refreshing:
wget/13089/0	140.115	9734.96
sshd: root@pts/1/11359/0	1.03906	0.234375
/usr/bin/node_exporter/904/0	0	0
/usr/local/cloudmonitor/bin/argusagent/970/0	0	0
/usr/local/aegis/aegis_client/aegis_10_97/AliYunDun/25138/0	0	0

可以看到wget命令的流量很大,主要是看最后一段是9734.96数字,单位是Kb/s(不是带宽),说明目前是9M的速度在下载东西
注意:主要是看最后一列

2、iftop命令

iftop也是一个交互的,但是事实上我们不直接交互使用,还是要写入文本文件,脚本如下所示:

while true;
do
        echo "-------------------------------------------------------" >> /tmp/network.log
        date >> /tmp/network.log
	iftop -i eth0 -N -P -t -L 5 -s 3 -u bytes &>> /tmp/network.log
	sleep 10
done

主要是说一下-s 3,测试了一下如果是1或者2的话结果不是很准确,这里使用3比较好,-u bytes是为了用速度的计算公司显示,因为默认是带宽,个人不是很习惯这种显示方式,还要除以8才行
其他命令就不再解释了,直接使用就行,打印的内容如下所示:
技术分享图片
其中=>表示本地上传到远端主机,而<=表示从远端主机下载的流量。

Linux下监控进程的网络以及目标主机建立连接的网络流量

原文:https://www.cnblogs.com/FengGeBlog/p/15149938.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!