Como exibir o tráfego de rede no terminal?

395

como exibir o tráfego de rede real (sem fio) em um terminal?

Além disso: é possível adicionar essas informações ao gráfico de top?

IndexOutOfBoundsException
fonte
3
Alguma solução para o "É possível adicionar essas informações ao gráfico de top?" parte? :)
Janaka Bandara
1
@JanakaBandara confira Glances .
ESala 7/03/2017

Respostas:

432

Aqui estão algumas boas ferramentas nos repositórios Ubuntu para monitoramento de tráfego de rede da linha de comando:

bmon - mostra várias interfaces ao mesmo tempo

insira a descrição da imagem aqui

slurm - possui ótimos gráficos coloridos

insira a descrição da imagem aqui

tcptrack - Um favorito. Informa quanto de largura de banda está sendo usada e também para qual protocolo (serviço / porta) e destino para o qual a transmissão está ocorrendo. Muito útil quando você quer saber exatamente o que está consumindo sua largura de banda

insira a descrição da imagem aqui

tomodachi
fonte
8
bmon é muito legal! tem um gráfico como slurm, mas não colorido.
Ethereal
26
sudo apt-get install bmon slurm tcptrack
Nabil Kadimi
3
nloadmerece menção para uma melhor separação de upload e download (também não colorido)
Chris
1
tcptrack é legal!
Robert
sudo apt install ethstatus
Isync
146

É bem fácil! instale "iftop" com:

sudo apt-get install iftop

Então corra

sudo iftop

de qualquer terminal!

Desfrutar!

Tribaal
fonte
8
Para ver qualquer coisa, eu tenho que correr (Ubuntu usando wi-fi): $ sudo iftop -i wlan0
russian_spy
se iftoptambém gravar ou registrar a largura de banda da rede ao longo do tempo? Atualmente, estou usando ambos vnstate iftoppara uso diferente e vnstatregistra o uso da largura de banda. Seria excessivo e adicionaria mais cargas ao meu servidor, se o iftopfizer também.
Oki Erie Rinaldi
132

Alguém também deveria ter mencionado nethogs.

O que é diferente e talvez mais interessante sobre este é que mostra o tráfego por processo , como mostra a imagem

insira a descrição da imagem aqui

Dê uma olhada na página

arsaKasra
fonte
8
Para instalar: sudo apt-get -y install nethogsthensudo nethogs
bmaupin
Utilitário muito útil, observe que você pode precisar executar algumas etapas extras para instalá-lo no 14.04, como o askubuntu.com/a/729560/79176 descreve.
Enorme
Para aqueles com o Debian Jessie que também vieram aqui: Uma versão funcional está no Backports: apt-get install nethogs/jessie-backports( você precisa adicionar o jessie-backports primeiro ).
Tino
1
"mostra tráfego por processo" exatamente o que eu precisava, obrigado!
Paul Feakins
52

Existe uma boa ferramenta chamada velocímetro que exibe um gráfico no terminal usando caracteres de bloco Unicode, cores e até adiciona rótulos a cada pico no gráfico.

$ sudo apt-get install speedometer
$ speedometer -l  -r wlan0 -t wlan0 -m $(( 1024 * 1024 * 3 / 2 ))

Captura de tela após executar o comando anterior

Possui várias opções, pode monitorar várias interfaces, pode mostrar vários gráficos em várias linhas ou colunas e pode até monitorar a velocidade de download de um único arquivo (observando o tamanho do arquivo no disco).

Denilson Sá Maia
fonte
2
Este é de longe o melhor gráfico visual que eu já vi em uma tela de texto simples. Eu estarei pesquisando na biblioteca gui pelo mesmo autor agora: urwid.org (código-fonte e autor: github.com/wardi ) #
ThorSummoner
1
@ThorSummoner: Isso está ficando fora de tópico, mas urwid é a biblioteca usada pelo incrível depurador PuDB Python.
Denilson Sá Maia
Isso fica em "aguardando a criação da <interface>".
Feldithe 4/04
@felwithe Isso provavelmente significa que você passou o nome errado da interface de rede. Tente alterar wlan0esse comando para eth0ou para qualquer que seja o nome da interface de rede em seu sistema. Veja também: unix.stackexchange.com/a/125406
Denilson Sá Maia
@ DenilsonSáMaia eu não; Eu verifiquei isso. Eu tentei as outras interfaces também. Foi o tempo todo que tive que mexer com isso. Eu estava tendo problemas de rede e precisava encontrar uma ferramenta que funcionasse o mais rápido possível. Eu usei um dos mais simples, e o problema não era a largura de banda.
precisa saber é o seguinte
46

iptraf

IPTraf é um utilitário de estatísticas de rede baseado em console para Linux. Ele reúne uma variedade de figuras, como contagens de pacotes e bytes de conexão TCP, estatísticas de interface e indicadores de atividade, quebras de tráfego TCP / UDP e contagens de pacotes e bytes de estações de LAN.

Recursos

Um monitor de tráfego IP que mostra informações sobre o tráfego IP passando pela sua rede. Inclui informações de sinalizador TCP, contagens de pacotes e bytes, detalhes de ICMP, tipos de pacotes OSPF. Estatísticas gerais e detalhadas da interface mostrando IP, TCP, UDP, ICMP, não IP e outras contagens de pacotes IP, erros de soma de verificação de IP, atividade da interface, contagens de tamanho de pacote. Um monitor de serviço TCP e UDP mostrando a contagem de pacotes de entrada e saída para portas comuns de aplicativos TCP e UDP Um módulo de estatísticas da LAN que descobre hosts ativos e mostra estatísticas mostrando a atividade de dados neles, TCP, UDP e outros filtros de exibição de protocolo, permitindo que você visualize apenas o tráfego de seu interesse. Registro Suporta tipos de interface Ethernet, FDDI, ISDN, SLIP, PPP e loopback. Utiliza a interface de soquete bruto incorporada do kernel Linux, permitindo que ele seja usado em uma ampla variedade de placas de rede suportadas. Operação em tela cheia, orientada por menus.

Protocolos Reconhecidos

IP TCP UDP ICMP IGMP IGP IGRP OSPF ARP RARP

Pacotes não IP serão simplesmente indicados como "Não IP" e, nas LANs Ethernet, serão fornecidos com os endereços Ethernet apropriados.

Interfaces Suportadas

Loopback local Todas as interfaces Ethernet suportadas pelo Linux Todas as interfaces FDDI suportadas pelo Linux SLP PPP assíncrono PPP síncrono por ISDN ISDN com encapsulamento de IP bruto ISDN com encapsulamento de IP bruto ISDN com encapsulamento de HDLC da Cisco Parallel Line IP

Fonte http://iptraf.seul.org/about.html

Instalação

Com apt:

apt-get install iptraf

Ou faça o download da fonte:

http://iptraf.seul.org/download.html

Screenshots

Conexões atuais:

conexões tcp

Portas atuais:

insira a descrição da imagem aqui

Resumo de todas as interfaces:

insira a descrição da imagem aqui

Detalhado por interface:

insira a descrição da imagem aqui

Fonte http://iptraf.seul.org/shots.html

jpillora
fonte
No Ubuntu 18.04, parece que iptraf-ngfoi substituído iptraf.
wisbucky 23/04
24
tcpdump -i eth0 

Isso fornecerá informações de streaming de todos os dados que fluem dessa interface (sua placa ethernet). Semelhante ao wireshark.

Use ifconfigpara ver uma lista das interfaces de suas máquinas.

wardr
fonte
1
Isso certamente exibirá as informações da rede ... Não é uma interface muito fácil de usar, nem possui estatísticas agregadas. Definitivamente, pense nisso como um wireshark.
user2943160
22

Eu acho que ifconfig [interface]vai fazer isso. Gostar:

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig wlan0
wlan0 Encap do link: Ethernet HWaddr 00: 18: de: 89: 52: 71  
          TRANSMISSÃO MULTICAST MTU: 1500 Métrica: 1
          Pacotes RX: 0 erros: 0 eliminados: 0 excedentes: 0 quadro: 0
          Pacotes TX: 0 erros: 0 eliminados: 0 excedentes: 0 transportadora: 0
          colisões: 0 txqueuelen: 1000 
          Bytes RX: 0 (0,0 B) Bytes TX: 0 (0,0 B)

gevorg @ gevorg-TravelMate-3260: ~ $ ifconfig eth0
eth0 Encap do link: Ethernet HWaddr 00: 16: 36: bf: 92: e3  
          endereço inet: 192.168.10.100 Bcast: 192.168.10.255 Máscara: 255.255.255.0
          inet6 addr: fe80 :: 216: 36ff: febf: 92e3 / 64 Escopo: Link
          UP BROADCAST EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrico: 1
          Pacotes RX: 342765 erros: 0 eliminados: 0 excedentes: 0 quadro: 0
          Pacotes TX: 306183 erros: 0 eliminados: 0 excedentes: 0 transportadora: 0
          colisões: 0 txqueuelen: 1000 
          Bytes RX: 373934806 (373,9 MB) Bytes TX: 39111569 (39,1 MB)
          Interrupção: 16 

Ele mostra bytes RX: 73934806 (373,9 MB) e bytes TX: 39111569 (39,1 MB) .

hingev
fonte
2
mas esta é apenas a estatística geral para esta sessão. Gostaria de ver se a conexão está ativa ou não.
IndexOutOfBoundsException 17/02
6
netstat -t -u -c?
21713 hingev
13

Instale 'vnstat', ele pode mostrar o tráfego para uma interface. Você pode instalar alguns pacotes de plotagem para obter alguns gráficos agradáveis.

McNisse
fonte
1
Esta parece ser a melhor opção para obter um histórico de uso: askubuntu.com/questions/1459/...
Ciro Santilli新疆改造中心法轮功六四事件
13

Se você está procurando algo extremamente simples, mas ainda útil, tente ifstat

$ sudo apt-get install ifstat
$ ifstat
       eth0               wlan0       
 KB/s in  KB/s out   KB/s in  KB/s out
    0.00      0.00      0.96      4.79
    0.00      0.00      0.04      0.14

Ele monitora todas as interfaces de uma só vez, imprimindo uma nova linha a cada segundo. Útil para canalizar para outro script ou para deixar em execução e observar o uso da largura de banda ao longo do tempo. Não é tão bonito quanto as outras ferramentas, mas faz o trabalho.

Existem algumas opções úteis listadas na página de manual :

-z  Hides interface which counters are null, eg interfaces that are up but not used.
-n  Turns off displaying the header periodically.
-t  Adds a timestamp at the beginning of each line.
-T  Reports total bandwith for all monitored interfaces.
-S  Keep stats updated on the same line if possible (no scrolling nor wrapping).
-b  Reports bandwith in kbits/sec instead of kbytes/sec.
Denilson Sá Maia
fonte
1
Eu amo este comando ifstat -zntS:, que gera apenas interface de rede que não é nula, com registro de data e hora, sem o cabeçalho sendo exibido periodicamente e com resultados em apenas uma linha (eu amo páginas de manual).
Igor V.
11

Além disso, você pode usar o iftoputilitário

falha
fonte
8

O Ifstat é uma boa ferramenta e fornecerá todo o uso da rede da interface em relação ao tempo.

sudo apt-get install ifstat

insira a descrição da imagem aqui

GNK
fonte
7

Isso não é específico da rede, mas o Glances pode exibir tráfego de rede de diferentes interfaces.

insira a descrição da imagem aqui

Instale-o com um desses comandos:

sudo snap install glances
sudo apt install glances
NatoBoram
fonte
6

De acordo com o ifconfig man :

Este programa está obsoleto! Para substituição, verifique o endereço IP e o endereço IP. Para estatísticas, use o link ip -s.

Então, usando o comando ip :

 $ ip -s link

Podemos obter estatísticas da rede:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    173654497900 26078946 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    173654497900 26078946 0       0       0       0
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    3650412438854 399476618 0       2551849 0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617437624480 321390259 0       0       0       0

Ou

$ ip -s -h link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    174G       26.1M    0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    174G       26.1M    0       0       0       0 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 12:34:56:78:90:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64
    RX: bytes  packets  errors  dropped overrun mcast
    3.65T      399M     0       2.55M   0       0
    TX: bytes  packets  errors  dropped carrier collsns
    617G       321M     0       0       0       0
Ruslan
fonte
2

Eu descobri recentemente wavemonque pode ser facilmente instalado usando apt-get install wavemon.

Esta ferramenta fornece informações especialmente sobre o nível do sinal da rede sem fio.

IndexOutOfBoundsException
fonte
2

E este é um blog mostrando uma lista de comandos para monitorar a largura de banda:

http://www.binarytides.com/linux-commands-monitor-network/

ATUALIZAR:

Uso NetHogs há cerca de dois meses. Ele mostra o uso total da largura de banda. Com a seguinte configuração, você também pode obter o uso da largura de banda para cada programa

sudo nethogs -v 3

Asme Just
fonte
1

Há também conky .

Você pode ter o pacote listado nos repositórios usados ​​atualmente no seu sistema. Tente executar:

sudo apt-get install conky-all

Algumas informações básicas de configuração: Documentos da comunidade Ubuntu: Configurando o Conky . CUIDADO: As informações nesse site podem estar desatualizadas, portanto, verifique se as etapas listadas são aplicáveis ​​ao seu sistema.

Obviamente, um conky básico é muito chato de se olhar, então aqui está um bom tema do conky para você começar:

Harmattan

Basta seguir as instruções nessa página para configuração; para instalar um tema específico, copie o .conkyrcarquivo da pasta correspondente para o tema na .harmattan-themespasta para o diretório inicial.

Em seguida, edite o arquivo de acordo com as instruções na página vinculada.

GORJETA

Modifique o arquivo depois de copiá-lo para sua pasta pessoal, desta forma, você manterá os arquivos originais não alterados, caso precise copiá-lo novamente .conkyrcpara um tema.

ThisIsNotAnId
fonte
1

nettop é outra opção (não nos repositórios padrão do linux).

Para criar o clone do repositório:

git clone https://github.com/Emanem/nettop.git

Instale as dependências:

sudo apt-get install libncurses5-dev libncursesw5-dev build-essential libpcap-dev

E construa o binário:

make

Correr com:

sudo ./nettop

Aliás, o macos possui um utilitário interno chamado nettopque faz a mesma coisa, mas possui mais recursos.

ccpizza
fonte
0

Para mim, Slurm funcionou bem:

Instalar:

sudo apt install slurm

Interfaces de lista

ifconfig

Interface do monitor (alteração eth0):

slurm -i eth0
DaWe
fonte