如何使用ifconfig编写统计网卡流量的两段shell脚本
- 本文目录导读:
- 1、第一部分:获取网卡名称并输出其总流量
- 2、第二部分:实时监控网卡流量
在日常工作中,我们经常需要监控服务器上各个网络接口的流量情况。而要实现这一功能,就需要一个能够统计网卡流量的软件或脚本。今天笔者将介绍如何使用ifconfig编写两段shell脚本来完成这一任务。
第一部分:获取网卡名称并输出其总流量
第一,我们需要获取服务器上所有可用的网络接口,并且输出它们所对应的总发送和接收字节数。下面是具体操作步骤:
1. 打开终端并输入以下命令以列出所有可用网络接口:
```
$ ifconfig -a
2. 从结果中找到你想要统计流量的那个网卡名称(通常为eth0或enp0s3等),然后运行以下命令来获取该网卡对应的总发送和接收字节数:
$ ifconfig eth0 | awk '/bytes/{print $6,$7}'
其中,“eth0”是你要统计流量的那个网卡名称。
此时,你将会得到类似于“12345678 87654321”的结果,其中前面数字表示总发送字节数,后面数字表示总接收字节数。
3. 如果想让程序每隔固定时间自动输出一次统计结果,可以使用以下脚本:
#!/bin/bash
while true
do
ifconfig eth0 | awk '/bytes/{print $6,$7}'
sleep 5 # 每个5秒钟执行一道命令
done
以上脚本会不断地获取eth0的总发送和接收字节数,并且每个5秒钟输出一次统计结果。
第二部分:实时监控网卡流量
上面介绍的方法只能获取网络接口的总流量信息。如果你想要实时监控网卡当前的数据传输速率,就需要使用另外一样工具——iftop。
1. 第一,在Linux系统中安装iftop:
$ sudo apt-get install iftop -y (Ubuntu/Debian)
$ sudo yum install iftop -y (CentOS/RHEL)
2. 然后,在终端中输入以下命令以查看网络接口即时流量情况:
$ sudo iftop -i eth0
其中,“eth0”是你要监控的那个网络接口名称。
此时,你将会看到类似于下图所示的实时监控窗口:
在这个窗口中,左侧列出了所有正在进行数据传输操作的IP地址及其对应端口号;右侧则显示了每个IP地址的上传和下载速率、总流量等信息。你可以使用上下箭头键来滚动窗口,或者按“q”键退出程序。
通过本文的介绍,相信读者已经掌握了如何使用ifconfig编写统计网卡流量的两段shell脚本,并且学会了如何实时监控网卡数据传输速率。这些技巧对于管理员们来说都是非常有用的工具,帮助我们更好地管理服务器网络资源。