上行和下行速度、其他统计数据等无需第三方软件
答案1
答案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