Como visualizar o uso da Internet em tempo real usando o terminal? [duplicado]

2

Velocidades de uplink e downlink, outras estatísticas, etc. sem software de terceiros

    
por Abhishek Muralidharan 29.05.2016 / 08:50

3 respostas

3

Eu uso o iftop.

Instale-o (290 KB) com sudo apt-get install iftop e comece com sudo iftop.

Se você deseja monitorar o tráfego de internet sem fio, use sudo iftop -i wlp3s0 ,

onde -i se refere à interface e wlp3s0 é minha interface sem fio (verifique o seu executando lspci.

    
por Mookey 29.05.2016 / 10:36
0

Não há muitas ferramentas que vêm embutidas, mas aqui está uma ótima página que, conforme você lê o tópico, encontrará as que já estão instaladas.

Como exibir o tráfego de rede no terminal

Todos estes mostram apenas o tráfego local da máquina em que está instalado, se você quiser monitorar toda a sua rede, você precisaria usar a máquina como um servidor proxy, ou até mesmo um firewall e ter todas as máquinas funcionando esta máquina. A maioria dos firewalls tem monitores de tráfego integrados para que você possa ver de onde o tráfego está vindo e indo.

    
por Christopher Angulo-Bertram 29.05.2016 / 09:53
0

Você pode escrever um script em / proc / net / dev, por exemplo:

#!/bin/bash

dev=
[[ -z  ]] && 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
    
por xenoid 29.05.2016 / 11:10