Como usar o bmon para monitorar a largura de banda da rede no Linux

Um prompt de terminal estilizado em um sistema Linux.
Fatmawati Achmad Zaenuri / Shutterstock

Com o bmonaplicativo Linux, você pode ver o uso da largura de banda em suas conexões de rede. No entanto, entender os detalhes mais sutis requer algum trabalho de detetive, por isso fizemos isso por você!

Como funciona o bmon

Gráficos dinâmicos e estatísticas em tempo real que mostram a atividade em suas várias interfaces de rede podem fornecer um grande alerta sobre o desempenho da rede e o consumo de largura de banda. Isso é exatamente o que bmon fornece para você , diretamente em uma janela de terminal.

Você pode consultar os gráficos de vez em quando, da mesma forma que faria com o velocímetro do carro. Da mesma forma, se algo em seu veículo precisar ser investigado, um mecânico pode conectá-lo a um sistema de diagnóstico e verificar as leituras. bmontem leituras detalhadas semelhantes.

Deve ser dito, entretanto – bmon as estatísticas do comando podem ser confusas no início. Por exemplo, existem três chamados “Ip6 Reasm / Frag.” O que há com isso?

No entanto, depois de decifrar o código, as leituras do comando são inestimáveis ​​se você deseja uma compreensão mais detalhada do tráfego da rede.

Colocamos o trabalho para você e até verificamos o código-fonte para chegar ao fundo de alguns deles. Felizmente, todo o resto bmoné razoavelmente simples.

Instalando bmon

Para instalar bmonno Ubuntu, use este comando:

sudo apt-get install bmon

O comando "sudo apt-get install bmon" em uma janela de terminal.

Para instalar no Fedora, digite o seguinte:

sudo dnf install bmon

O comando "sudo dns install bmon" em uma janela de terminal.

Para Manjaro, o comando é o seguinte:

sudo pacman -Sy bmon

O comando "sudo pacman -Sy bmon" em uma janela de terminal.

O monitor bmon

Digite bmone pressione Enter para iniciar o programa. O bmondisplay é dividido em vários painéis. Os três primeiros são identificados como “Interfaces”, “RX” e “TX”. O painel central exibe estatísticas e gráficos detalhados.

O painel “Interfaces” mostra as interfaces de rede com as quais o seu computador está equipado. Também mostra a disciplina de enfileiramento (qdisc) que cada interface de rede está usando (mais sobre isso posteriormente).

O painel “RX” exibe os bits recebidos por segundo e pacotes por segundo para cada interface e sua fila. O painel “TX” mostra os bits por segundo transmitidos e pacotes por segundo para cada interface e sua fila.

Em nosso computador, temos apenas duas interfaces instaladas: a interface de loopback (também chamada de adaptador de loopback) e o adaptador de ethernet com fio. A interface de loopback é chamada de “lo” e a interface Ethernet é chamada de “enp0s3”.

O adaptador Ethernet em sua máquina pode ter um nome diferente. Se estiver usando um laptop, você verá um adaptador sem fio também, e seu nome provavelmente começará com “wl”.

A interface bmon em uma janela de terminal.

bmonexibe informações sobre a interface de rede atualmente selecionada. A interface selecionada é aquela com um sinal de maior que ( >) destacado próximo a ela. Você pode pressionar as setas para cima e para baixo para mover o sinal de maior que e selecionar a interface que deseja monitorar. Escolhemos o adaptador Ethernet.

O adaptador de rede ethernet selecionado na interface bmon em uma janela de terminal.

Agora que estamos em uma interface de rede ativa, vemos alguma atividade nos gráficos e leituras. Se você não estiver vendo nenhum gráfico, estique a janela do terminal para baixo.

Pressione as teclas de seta para a esquerda e para a direita para alterar a estatística que está sendo representada no gráfico. Para alguns gráficos, você terá que pressionar H antes que eles sejam preenchidos; aqueles que exigem isso irão informá-lo.

Para ver as estatísticas da interface de rede, estique a janela do terminal até que seja alta o suficiente para exibi-las e pressione D para exibi-las. Se você pressionar I (para informações), verá uma pequena quantidade de informações adicionais.

Se você maximizar a janela do terminal, ele exibe vários gráficos. Pressione Menor que (<) e Maior que (>) para adicionar ou remover pares de gráficos. Se você pressionar G, ativa e desativa a exibição de gráficos.

Recomendado:  Como evitar que sua câmera Nest capture som

Ao pressionar o ponto de interrogação (?), Você verá a tela de ajuda “Referência rápida” com pressionamentos de tecla comuns.

A tela "Referência rápida" no bmon.

Pressione o ponto de interrogação (?) Novamente para fechar a tela “Referência rápida”.

As estatísticas detalhadas

Se a janela do seu terminal for alta e larga o suficiente (estique-a, se não for), você pode pressionar “D” para ativar e desativar a visualização detalhada.

A visualização de estatísticas detalhadas do bmon em uma janela de terminal.

O número de colunas que você vê depende da largura da janela do terminal. Em uma janela de terminal padrão de 80 colunas, você verá duas. Quanto mais larga a janela, mais colunas você verá. No entanto, você não obtém mais estatísticas com uma janela mais ampla; você ainda verá o mesmo conjunto de figuras. Mas as colunas serão mais curtas.

A entrada superior em cada coluna pode levar você a pensar que a entrada à esquerda mostra informações em bytes, enquanto a entrada à direita mostra informações em pacotes. No entanto, esse não é o caso.

Cada coluna contém um conjunto de estatísticas. O nome do valor e os valores recebidos ( RX) e transmitidos ( TX) são mostrados para cada estatística. Se algum valor aparecer como um hífen ( -), significa que a estatística não foi registrada para essa direção.

Algumas das estatísticas são internas (recebidas) ou externas (transmitidas) apenas. Por exemplo, um hífen ( -) na coluna transmitida indica que a estatística é inválida para pacotes de saída e só se aplicará a pacotes de entrada. A linha superior mostra o tráfego recebido e transmitido em bytes (à esquerda) e pacotes (à direita).

Todas as outras estatísticas são listadas em ordem alfabética, pulando de coluna em coluna. Vários deles compartilham o mesmo nome. Explicaremos o que todos eles significam a seguir. Também explicamos nomes abreviados. Se o IPv6 não for mencionado, essa estatística se refere ao IPv4.

As estatísticas na coluna esquerda são as seguintes:

  • Bytes: tráfego em bytes.
  • Erro de anulação: uma contagem de erros de anulação. Em algum lugar no caminho de conexão entre a origem e o destino, um software fez com que uma conexão fosse abortada.
  • Colisões: uma contagem de erros de colisão. Dois ou mais dispositivos tentaram enviar um pacote simultaneamente. Isso não deve ser um problema em uma rede full-duplex .
  • Erros CRC: uma contagem de  erros de verificação de redundância cíclica .
  • Erros: a contagem total de erros.
  • Erro de quadro: uma contagem de erros de quadro. Um quadro é um contêiner de rede para um pacote . Um erro significa que foram detectados frames malformados.
  • ICMPv6: O número de pacotes de tráfego do Internet Control Message Protocol v6.
  • Erros ICMPv6: uma contagem de erros ICMP v6.
  • Broadcast Ip6: uma contagem de Broadcasts IPv6 , que são enviados a todos os dispositivos da rede.
  • Pacotes Ip6 CE: CE significa ” vantagem do cliente “. Isso geralmente se aplica a roteadores. Eles se conectam com a extremidade do provedor (PE) do serviço de conectividade ao qual o cliente é assinante.
  • Entrega Ip6: A contagem de pacotes IPv6 de entrada.
  • Pacotes Ip6 ECT (1): Uma  Notificação Explícita de Congestionamento (ECN) permite que qualquer extremidade de uma conexão de rede alerte a outra sobre congestionamento iminente. Os pacotes são marcados com um sinalizador que serve como aviso. A extremidade receptora pode reduzir as taxas de transmissão para tentar evitar congestionamento e possível perda de pacotes. Os pacotes ECN-Capable Transport (ECT) são marcados com um sinalizador para indicar que estão sendo entregues por meio de um ECN Capable Transport. Isso permite que os roteadores intermediários reajam de acordo. Os pacotes ECN do tipo 1 informam a extremidade receptora para habilitar o ECN e adicioná-lo às transmissões de saída.
  • Erros de cabeçalho IPv6:  a contagem de pacotes com erros no cabeçalho IPv6.
  • Pacotes Ip6 Multicast: A contagem de pacotes IPv6 Multicast  (uma forma de transmissão).
  • Pacotes Ip6 não ECT: A contagem de pacotes IPv6 não sinalizados como ECT (1).
  • Remontagem / fragmento Ip6 OK: a contagem de pacotes IPv6 que foram fragmentados devido ao tamanho e remontados com êxito após o recebimento.
  • Tempo limite de remontagem de Ip6: A contagem de pacotes IPv6 que foram fragmentados devido ao tamanho, mas não foram remontados após o recebimento devido a tempos limite.
  • Pacotes truncados Ip6: A contagem de pacotes truncados. Quando um pacote IPv6 é transmitido, ele pode ser sinalizado como candidato a truncamento. Se algum roteador intermediário não puder lidar com o pacote porque ele excede a unidade máxima de transmissão (MTU), o roteador trunca o pacote, marca-o como tal e o encaminha para o destino. Quando ele é recebido, a extremidade oposta pode enviar um pacote ICMP de volta à origem, dizendo-lhe para atualizar sua estimativa de MTU para encurtar seus pacotes.
  • Descartes Ip6: a contagem de pacotes IPv6 descartados. Se algum dispositivo entre a origem e o destino não estiver configurado corretamente e suas configurações IPv6 não funcionarem, ele não manipulará o tráfego IPv6; ele será descartado.
  • Pacotes Ip6: A contagem total de todos os tipos de pacotes IPv6.
  • Erro perdido: a contagem de pacotes ausentes em uma transmissão. Os pacotes são numerados para que a mensagem original possa ser recriada. Se algum estiver faltando, sua ausência é notável.
  • No Handler: A contagem de pacotes para os quais nenhum manipulador de protocolo foi encontrado.
  • Erro de janela: a contagem de erros de janela. A janela de um pacote é o número de octetos no cabeçalho. Se houver um número anormal, o cabeçalho não poderá ser interpretado.
Recomendado:  MacBook Pro de 13 polegadas em breve terá o novo chip M2 da Apple

As estatísticas na coluna da direita são as seguintes:

  • Pacotes: Tráfego em pacotes.
  • Erros da operadora: uma contagem de erros da operadora. Eles ocorrem se surgir um problema com a modulação de um sinal. Isso pode indicar uma incompatibilidade duplex entre o equipamento de rede ou dano físico a um cabo, soquete ou conector.
  • Compactado: O número de pacotes compactados.
  • Descartados: o número de pacotes descartados que, como resultado, não chegaram ao destino (possivelmente devido ao congestionamento).
  • Erros FIFO: A contagem dos erros de buffer primeiro a entrar , primeiro a sair (FIFO). O buffer de transmissão da interface de rede está sobrecarregado porque não está sendo esvaziado com rapidez suficiente.
  • Erros de pulsação: o  hardware ou software pode utilizar um sinal regular para mostrar que está funcionando corretamente ou para permitir a sincronização. O número aqui é quantos “batimentos cardíacos” foram perdidos.
  • Erros de soma de verificação ICMPv6: A contagem de erros de soma de verificação de mensagem do Internet Control Message Protocol v6.
  • Erros de endereço IP6: a contagem de erros devido a endereços IPv6 inválidos
  • Pacotes de transmissão IPv6 : A contagem de pacotes de transmissão IPv6.
  • Erros de soma de verificação Ip6: A contagem de erros de soma de verificação IPv6. Os pacotes ICMP e UDP ( User Datagram Protocol ) no IPv6 usam somas de verificação, mas os pacotes IPv6 IP regulares não.
  • Pacotes Ip6 ECT (0): Estes são tratados da mesma forma que pacotes ECT (1).
  • Ip6 encaminhado: a contagem de pacotes IPv6 encaminhados por unicast  entregues. O unicast salta os pacotes da origem ao destino por meio de uma cadeia de roteadores e encaminhadores intermediários.
  • Ip6 Multicasts: O número de pacotes IPv6 multicast encaminhados  entregues. O multicast envia os pacotes para um grupo de destinos simultaneamente (é assim que funciona o Wi-Fi).
  • Ip6 No Route: A contagem de erros de rota. Isso significa que o destino está inacessível porque uma rota até o final não pode ser calculada
  • Falhas de remontagem / fragmento de Ip6: a contagem de pacotes IPv6 que foram fragmentados devido ao tamanho e não puderam ser remontados após o recebimento.
  • Solicitações de remontagem / fragmento de Ip6: a contagem de pacotes IPv6 que foram fragmentados devido ao tamanho e tiveram que ser remontados após o recebimento.
  • Ip6 Too Big Errors: O número de mensagens ICMP “muito grandes” recebidas, indicando que os pacotes IPv6 enviados eram maiores do que a unidade de transmissão máxima.
  • Ip6 Unknown Protocol Errors: A contagem de pacotes recebidos usando um protocolo desconhecido.
  • Octetos Ip6: O volume de octetos recebidos e transmitidos. O IPv6 tem um cabeçalho de 40 octetos (320 bits, 8 bits por octeto) e um tamanho mínimo de pacote de 1.280 octetos (10.240 bits).
  • Erro de comprimento: o número de pacotes que chegam com um valor de comprimento no cabeçalho menor do que o comprimento mínimo possível do pacote.
  • Multicast: uma contagem de transmissões multicast.
  • Erros excedentes: uma contagem de erros excedentes. O buffer de recebimento estourou ou os pacotes chegaram com um valor de quadro maior do que o suportado, portanto, eles não podem ser aceitos.
Recomendado:  Os melhores jogos de RV para Oculus Quest, PC e PSVR

As Informações Adicionais

Se você pressionar I (como em “Info”), os painéis de informações adicionais serão alternados. Se não houver informações adicionais, a janela não é grande o suficiente. Você pode pressionar D para desligar as estatísticas detalhadas, G para desligar os gráficos ou pode esticar a janela.

Os painéis de informações adicionais bmon em uma janela de terminal.

As informações adicionais são as seguintes:

  • MTU: A unidade de transmissão máxima.
  • Operstate: O estado operacional da interface de rede.
  • Endereço: O endereço de controle de acesso à mídia (MAC) da interface de rede.
  • Mode: Este é geralmente definida como default, mas você pode ver  tunnelbeetou  ro. Os três primeiros estão relacionados à segurança IP (IPSec) . A default configuração geralmente é o transportmodo , no qual a carga útil é criptografada. Redes privadas virtuais (VPNs) cliente-para-site normalmente usam isso. VPNs site a site geralmente usam o  tunnelmodo , no qual todo o pacote é criptografado. Em um modo Bound End-to-End Tunnel ( beet), um túnel é criado entre dois dispositivos com endereços IP fixos, ocultos e outros endereços IP visíveis. O romodo é um método de otimização de roteamento para IPv6 móvel.
  • Família: a família de protocolo de rede que está em uso.
  • Qdisc: Disciplina de enfileiramento. Isso pode ser definido como red( Random Early Detection ), codel( Controlled Delay ) ou fq_codel( Fair Queuing com Controlled Delay ).
  • Sinalizadores: esses indicadores mostram os recursos de uma conexão de rede. Nossa conexão pode usar  broadcast e   multicast transmissões, e a interface é Up(operacional e conectada).
  • IfIndex: O Índice de interface é um número de identificação exclusivo associado a uma interface de rede.
  • Broadcast: O endereço MAC de broadcast. O envio para este endereço difunde os pacotes recebidos para todos os dispositivos.
  • TXQlen: O tamanho da fila de transmissão (capacidade).
  • Alias: um alias de IP fornece vários endereços de IP a uma conexão de rede física . Ele pode então dar acesso a diferentes sub  – redes por meio de uma placa de interface de rede. Não há apelidos em uso em nosso computador de teste.

bmoné uma criatura um pouco engraçada – nem peixe, nem ave, em alguns aspectos. Os gráficos têm um charme primitivo e fornecem uma boa indicação do que está acontecendo.

No entanto, dadas as limitações de  serem renderizados em ASCII , não se pode esperar que sejam superprecisos. Um olhar ocasional, porém, pode dizer se a conexão está esgotada, misteriosamente sem tráfego ou em algum ponto intermediário.

As estatísticas detalhadas, por outro lado, são apenas isso: detalhadas e granulares. Juntamente com a abordagem um tanto casual em sua rotulagem, torna-os ainda mais difíceis de decifrar.

Esperançosamente, as descrições acima tornarão bmonum pouco mais acessível. É realmente uma ferramenta útil e leve com a qual você pode monitorar a integridade do tráfego da rede e o consumo de largura de banda.