荣耀之链论坛

 找回密码
 立即注册
搜索
查看: 63|回复: 0

查看网卡实时流量

[复制链接]

1385

主题

2533

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10806
发表于 2025-9-14 16:55 | 显示全部楼层 |阅读模式
watch -n 1 ifconfig eth0
这个不方便看

然后我让AI写了一个脚本

vi netmon.sh

  1. #!/bin/bash

  2. # 检查是否提供了网卡名称参数
  3. if [ $# -ne 1 ]; then
  4.     echo "用法: $0 <网卡名称>"
  5.     echo "示例: $0 ens3"
  6.     exit 1
  7. fi

  8. INTERFACE=$1

  9. # 检查网卡是否存在
  10. if ! grep -q "$INTERFACE" /proc/net/dev; then
  11.     echo "错误: 网卡 $INTERFACE 不存在"
  12.     exit 1
  13. fi

  14. echo "监控网卡 $INTERFACE 的实时流量 (按 Ctrl+C 退出)..."
  15. echo "----------------------------------------"

  16. # 初始化变量,获取初始流量值
  17. read -r rx_bytes tx_bytes <<< $(awk -v iface="$INTERFACE" '$1 ~ iface ":" {print $2, $10}' /proc/net/dev)
  18. prev_rx=$rx_bytes
  19. prev_tx=$tx_bytes

  20. # 循环监控
  21. while true; do
  22.     # 等待1秒
  23.     sleep 1
  24.    
  25.     # 获取当前流量值
  26.     read -r rx_bytes tx_bytes <<< $(awk -v iface="$INTERFACE" '$1 ~ iface ":" {print $2, $10}' /proc/net/dev)
  27.    
  28.     # 计算每秒流量(字节)
  29.     rx_diff=$((rx_bytes - prev_rx))
  30.     tx_diff=$((tx_bytes - prev_tx))
  31.    
  32.     # 转换为人类可读格式(KB/s)
  33.     rx_kb=$(echo "scale=2; $rx_diff / 1024" | bc)
  34.     tx_kb=$(echo "scale=2; $tx_diff / 1024" | bc)
  35.    
  36.     # 显示结果
  37.     echo "$(date +'%H:%M:%S')  下载: ${rx_kb} KB/s  上传: ${tx_kb} KB/s"
  38.    
  39.     # 更新前一次的流量值
  40.     prev_rx=$rx_bytes
  41.     prev_tx=$tx_bytes
  42. done
复制代码


然后执行
./netmon.sh ens3

能很直观的显示网卡的实时流量


不知道为什么,论坛的这个脚本我直接复制  粘贴到putty里面  有问题
我直接上传附件了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链

GMT+8, 2025-10-28 02:21 , Processed in 0.013930 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表