写一个适合用于充当网桥的Linux流量监控的脚本
时间: 2024-12-10 10:41:29 浏览: 7
在Linux系统中,可以编写一个简单的shell脚本来监控网络流量。这里提供一个基础的示例,使用`iftop`工具来实时查看流量,并记录到日志文件。请注意,这个脚本需要root权限运行,并且`iftop`是一个实用程序,通常在大多数发行版的包管理器(如apt、yum或dnf)中都可以找到。
```bash
#!/bin/bash
# 设置网桥名称
BRIDGE_NAME="your_bridge_name"
# 指定日志文件路径
LOG_FILE="/var/log/net_traffic.log"
# 使用iftop监控指定的网桥
iftop -n -i "$BRIDGE_NAME" > /dev/null &
# 开始计时并定期保存屏幕截图到日志
while true; do
# 获取当前时间戳
TIMESTAMP=$(date +%s)
# 截取iftop的屏幕快照(默认显示带宽信息)
SCREENSHOT=$(top -b -d 5 -n 1 | grep "$BRIDGE_NAME" | awk '{print $0}' | tail -n 1)
# 将截图添加到日志文件
echo "[$TIMESTAMP] Net Traffic: $SCREENSHOT" >> "$LOG_FILE"
# 等待一段时间再收集数据(这里设为5秒)
sleep 5
done
# 当脚本结束时优雅退出iftop进程
trap 'pkill iftop' EXIT
```
**注意**:将`your_bridge_name`替换为实际的网桥名称,如`ethX`,如果使用的是软件虚拟化网桥如`br0`。
阅读全文