在Linux中,可以使用多种命令行工具来检查网络占用情况。以下是一些常用的方法:
1. 使用 `iftop`:
`iftop` 显示网卡设备当前的实时连接状态。要安装它可以运行:
bash
sudo aptget install iftop Debian 及基于其上的发行版(如 Ubuntu)
sudo yum install iftop RHEL 系列及衍生版(包括 CentOS 和 Fedora)
sudo dnf install iftop 较新版本的Fedora
安装后,运行以下命令即可监视某个指定接口上的数据流:
bash
sudo iftop i eth0 替换 eth0 为你实际需要监控的网卡设备名,如ens3, wlp2s0等。
2. `nload` 单纯地监测所有进出流量
类似 `iftop`,但是它提供了更简单的界面。
安装:
bash
sudo aptget install nload Debian系列的发行版
sudo yum install nload 针对Redhat系的安装方法(例如CentOS)或
sudo dnf install nload 如果你用的是较新版Fedora系统,则用DNF
使用 `nload [网口名称]` 如:`nload ens3`
3. `vnstat`
`vnstat` 更适合于长期网络流量监控和日志记录,它可以生成每月/每天的统计数据并将其存储下来。首先通过包管理器安装 `vnstat` ,接着初始化一个监控会话:
sudo aptget install vnstat Debian/Ubuntu系系统
sudo yum y install vnstat RHEL/CentOS/Fedora系统
初始化网络设备的数据跟踪:
sh
sudo vnstat modify i enp42s0 u 其中 enp42s0 指定为想要跟踪流量的接口名字
sudo vnstat remove i enp42s0 停止监控该网卡数据流量
使用sudo vnstat l实时监控某网卡的上行下行字节速率。
使用sudo tail /var/lib/vnstat/db_name来实时跟踪某个网卡的数据传输状况。(这里db_name对应你的数据库的名字)
4. 直接从 `/sys/net/` 与 `/proc/` 文件中读取:
要想不经过任何附加软件而查看某些信息,则可以从系统的特殊`/proc/net/`目录或特定于设备文件夹里获取:
查看某个指定网络接口的所有统计数据:比如eth0:
cat /proc/net/dev 这条命令可以得到整个网路设备的基本统计结果,包含入站字节数以及出站字节数等等...
grep "^[e]" /proc/net/dev | sed 's/: /:/g'
或
grep "^[e]" /proc/net/dev | awk '{OFS = ":"} { print "接收"NR" "NR$1":"$2, $9":"NR" 传输 " NR, NR$10} ' |sed "s/:\([[:digit:]]\):\(.\):. \2:[09]:./接\1 \2 收/" 进一步格式化以方便阅读
这些就是你在Linux环境下监测不同级别的网络流量所常用的方法了!
发表评论