如何使用终端查看实时互联网使用情况?

如何使用终端查看实时互联网使用情况?

上行和下行速度、其他统计数据等无需第三方软件

答案1

我使用 iftop。

安装 (290 KB)sudo apt-get install iftop并开始使用sudo iftop.

如果您希望监控无线互联网流量,请使用sudo iftop -i wlp3s0

其中-i指的是接口,wlp3s0是我的无线接口(通过运行 lspci 检查你的接口)。

在此处输入图片描述

答案2

内置的工具并不多,但这里有一个很棒的页面,当您阅读线程时,您会发现已经安装的工具。

如何在终端中显示网络流量

所有这些仅显示安装此设备的机器的本地流量,如果您想监控整个网络,则需要将机器用作代理服务器,甚至防火墙,并让所有机器都通过这台机器。大多数防火墙都内置了流量监视器,因此您可以看到流量来自哪里以及去往哪里。

答案3

您可以围绕 /proc/net/dev 编写一个脚本,例如:

#!/bin/bash

dev=$1
[[ -z $1 ]] && dev=$(grep -o "eth." /proc/net/dev | head -1)


function getcount
{
        echo $(grep $dev /proc/net/dev | tr ':' ' ' | tr -s ' ' | cut -d ' ' -f 3,11)
}


current=($(getcount))
[[ -z $current ]] && echo "No network device \"$dev\"" && exit 1

printf "%10s %4s %4s \n" Device Recv Send

for i in $(seq 1000)
do
        sleep 1
        new=($(getcount))
        recvdiff=$(( ${new[0]} - ${current[0]} ))
        senddiff=$(( ${new[1]} - ${current[1]} ))
        recvdiff=$(( $recvdiff / 1024 ))
        senddiff=$(( $senddiff / 1024 ))
        printf "%10s %4d %4d\r" $dev $recvdiff $senddiff
        current=(${new[*]})
done

相关内容