Como medir a velocidade da rede no Linux a partir do terminal

Última atualização: 23/04/2026
autor: Isaac
  • No Linux, você pode medir tanto a velocidade física da conexão (10/100/1000 Mb/s) quanto a largura de banda real.
  • O Speedtest-cli e o Speedtest CLI oficial permitem que você verifique sua conexão com a internet a partir do terminal.
  • Iperf3, wget e curl são essenciais para testes de desempenho detalhados em redes locais e servidores.
  • A combinação dessas ferramentas ajuda a diagnosticar gargalos e verificar o que foi contratado.

Medindo a velocidade da rede no Linux

Ter uma boa conexão de rede no Linux hoje em dia é quase tão essencial quanto ter eletricidade: serviços em nuvem, videochamadas, backups remotos, contêineres, servidores… tudo depende do bom funcionamento da rede. Além disso, o tamanho dos arquivos e fluxos de dados que transferimos aumentou exponencialmente, então qualquer gargalo se torna imediatamente perceptível.

Muitos de vocês se lembrarão daquelas conexões discadas com o ruído característico e a interminável oscilação da tela enquanto uma simples imagem carregava no navegador. Hoje, falamos de conexões de 100, 300 ou 1000 Mbps, fibra óptica simétrica, redes locais gigabit e data centers com canais dedicados. Mas, por mais moderna que seja a infraestrutura, se você não souber como verificar sua velocidade e o desempenho da sua placa de rede no Linux, estará navegando às cegas… à mercê do que seu provedor de internet prometeu.

Velocidade de rede no Linux: conceitos que você deve entender

Antes de começarmos a digitar comandos, é importante diferenciar claramente que tipo de velocidade queremos medir , pois a taxa de transferência real não é a mesma que a capacidade nominal da conexão ou o desempenho da placa de rede.

Por um lado, há a velocidade de conexão negociada entre a interface de rede e o switch ou roteador (10, 100 ou 1000 Mbps, ou até mais em redes modernas). Este é o "limite teórico" da conexão cabeada: se sua placa de rede negociou 100 Mbps, você nunca verá uma taxa de transferência real de 300 Mbps, não importa quão boa seja sua conexão.

Por outro lado, existe a largura de banda efetiva que você obtém ao baixar ou enviar dados: é aqui que a latência, a congestão, a perda de pacotes e as limitações do servidor remoto ou do seu provedor de internet entram em jogo. Esse é o valor que normalmente medimos com ferramentas como speedtest.net, wget, curl ou iperf3.

Também temos métricas como latência (ping) e jitter , que refletem o tempo que um pacote de dados leva para viajar e o quanto essa latência varia entre pacotes sucessivos. Para jogos, VoIP ou videochamadas, essas métricas às vezes importam mais do que alguns Mbps a mais ou a menos.

No Linux, é possível verificar cada um desses aspectos a partir do console, tanto em servidores sem ambiente gráfico quanto em computadores desktop, utilizando ferramentas como Speedtest CLI, speedtest-cli, iperf3, wget, curl, ethtool e os comandos de rede do sistema.

Como visualizar a velocidade de conexão (10/100/1000 Mb/s) da sua placa de rede.

Quando o que você deseja não é saber quantos Mb/s está baixando no momento, mas sim a velocidade de conexão "física" negociada pela interface (por exemplo, se é 100 Mb/s ou 1000 Mb/s), existem várias maneiras de ver isso no Linux.

A ferramenta clássica para interfaces Ethernet é o ethtool . Com um comando simples, você pode obter a velocidade da conexão:

ethtool enp0s25 | grep Speed

A saída típica seria algo como "Velocidade: 1000 Mb/s" . Esse 1000 indica que a porta está operando a 1 Gb/s. Não se trata tanto de um teste de desempenho, mas sim de uma confirmação da capacidade negociada com o equipamento de rede na outra extremidade do cabo.

Se você quiser manter apenas o número, pode usar utilitários como grep, awk ou sed para extraí-lo. Não existe um comando padrão do iproute2 que retorne diretamente "1000" sem nenhum processamento, então usar um pipe com ferramentas de texto continua sendo a opção mais prática na maioria dos casos.

Ao consultar com ip link show enp0s25 Você verá informações úteis (MTU, status UP, qdisc, qlen…), mas não a velocidade do link. O parâmetro txqlen O valor apresentado representa o comprimento da cauda de transmissão, não a taxa de fluxo em Mb/s, portanto não serve como um indicador direto da velocidade física.

Com ip -j link show enp0s25 Você obtém o resultado em formato JSON, ideal para processamento com jq ou outras ferramentas, mas, novamente, não inclui o valor "Velocidade" como o ethtool. Portanto, para esses dados específicos, ethtool continua sendo a referência.especialmente em placas Ethernet clássicas.

Meça sua velocidade real de internet com o Speedtest-cli (versão em Python).

Se você quiser saber quanta largura de banda de internet você realmente tem em um servidor Linux (onde não há navegador gráfico), uma maneira muito prática é usar a ferramenta de linha de comando speedtest-cli, um script Python que depende dos servidores do speedtest.net.

  Como realizar um teste de velocidade e ping da Internet no Windows 11 passo a passo

Essa ferramenta faz basicamente a mesma coisa que o site Speedtest: mede a latência, a velocidade de download e a velocidade de upload em comparação com um servidor próximo, mas tudo isso a partir do terminal Linux . É perfeita para administradores que gerenciam servidores remotos via SSH ou para usuários curiosos que querem verificar se seu provedor de internet está cumprindo o prometido.

O Speedtest-cli funciona com Python 2.4 e versões posteriores, e com Python 3 , e está disponível na maioria das distribuições como pacote ou via pip. O resultado é semelhante à versão web, mas com a flexibilidade de integrá-lo em scripts ou tarefas agendadas.

Um dos usos mais comuns é justamente verificar se o seu provedor não está limitando a velocidade contratada e poder registrar uma reclamação com dados comprobatórios. Não é incomum ver conexões que anunciam 600 Mbps, mas mal entregam 200 Mbps durante os horários de pico, por exemplo.

Para instalar o speedtest-cli usando o pip em sistemas Debian/Ubuntu, basta:

sudo apt-get install python-pip
sudo pip install speedtest-cli

Se preferir clonar o repositório oficial no GitHub, você pode fazê-lo da seguinte forma:

sudo apt-get install git
git clone https://github.com/sivel/speedtest-cli.git
python speedtest-cli/setup.py install

Após a instalação, executar um teste básico é tão simples quanto iniciar o programa:

speedtest-cli

Opções úteis do speedtest-cli para refinar seus testes.

Como um bom utilitário de linha de comando, o speedtest-cli oferece uma variedade de parâmetros para personalizar a saída e escolher servidores específicos. Você pode visualizá-los com:

speedtest-cli -h

Entre as opções mais interessantes estão:

  • -simplesExibe apenas as informações essenciais (ping, download e upload) sem detalhes extras, ideal para leitura rápida ou para scripts.
  • -compartilharGera um URL com a imagem do resultado hospedada no speedtest.net, útil se você quiser compartilhar o teste.
  • –Bytes: altera a unidade para bytes em vez de bits (não afeta a imagem gerada com –share).
  • -listaExibe uma lista de servidores do speedtest.net ordenados por distância.
  • –ID do servidorPermite especificar o ID de um servidor específico no qual o teste será realizado.
  • –IP de origem: força um endereço IP de origem específico, útil em máquinas com múltiplas interfaces.

Você também pode combinar sinalizadores para focar em uma parte específica do teste. Por exemplo, para visualizar apenas o download e em um formato simples, você pode usar:

speedtest-cli --no-upload --simple

Se o que realmente lhe interessa é a largura de banda de upload (por exemplo, em um servidor que envia backups para outro local), existe uma opção equivalente para ignorar os downloads:

speedtest-cli --no-download

Outra utilização interessante é salvar o resultado como uma imagem (tal como no site do Speedtest), para anexá-la a relatórios ou reclamações ao seu provedor de internet:

speedtest-cli --share --simple

E se em algum momento você quiser uma rápida revisão de todas as opções disponíveis, basta:

speedtest-cli --help

CLI oficial do Ookla Speedtest para Ubuntu e outras distribuições.

Além do script em Python, a Ookla oferece um pacote oficial de linha de comando (CLI) para o Speedtest, compatível com diversas plataformas, que recebe melhor manutenção e está alinhado com a infraestrutura atual do speedtest.net. No Ubuntu Server 20.04 e versões derivadas, é uma opção altamente recomendada para ambientes de produção.

A principal diferença em comparação com o speedtest-cli clássico é que Este binário vem do repositório Ookla.Ele se atualiza com o sistema e geralmente é mais confiável a longo prazo. O uso básico é semelhante, mas o nome do comando geralmente é simplesmente speedtest em vez de speedtest-cli.

No Ubuntu 20.04, o fluxo de instalação típico seria o seguinte:

sudo apt update
sudo apt install -y curl

Em seguida, adicione o repositório oficial da CLI do Speedtest:

curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash

Este script configura o repositório, importa a chave GPG e atualiza as informações do pacote. Em seguida, você pode instalar a ferramenta:

sudo apt install speedtest

Para verificar se tudo correu bem:

speedtest --version

Se um número de versão for exibido, o utilitário está pronto. Para executar um teste simples:

speedtest

Na primeira vez que usar a ferramenta, será solicitado que você aceite a licença; digite SIM quando solicitado. Depois disso, você verá uma saída semelhante a esta:

Server: Nombre del servidor
ISP: Tu proveedor
Latency: 1.22 ms (0.04 ms jitter)
Download: 82.59 Mbps
Upload: 91.69 Mbps
Packet Loss: 0.0%
Result URL: https://www.speedtest.net/result/...

O campo URL do resultado permite compartilhar o resultado detalhado. Para escolher outro servidor, você pode listar os servidores próximos com:

  Como desinstalar programas no Linux: métodos eficazes para qualquer distribuição

speedtest -L

Em seguida, especifique um usando seu ID:

speedtest -s 1111

Novamente, `speedtest --help` exibirá todas as opções disponíveis. Se você tinha outra versão instalada anteriormente (por exemplo, `speedtest-cli` do repositório padrão), você deve removê-la com:

sudo apt remove speedtest-cli

Para evitar conflitos entre diferentes arquivos binários que possuem nomes semelhantes.

Instale o speedtest-cli (Python) a partir dos repositórios da sua distribuição.

Em muitas distribuições, você não precisa usar o pip ou o repositório da Ookla, pois o speedtest-cli já vem empacotado . A instalação é feita usando o gerenciador de pacotes do próprio sistema.

Em Debian, Ubuntu, Linux Mint, Elementary OS e derivados, o comando seria:

sudo apt install speedtest-cli

Em sistemas Arch Linux, Manjaro, Antergos e outros baseados em Arch, primeiro certifique-se de ter o repositório. comunidade habilitado em /etc/pacman.conf (removendo o pad da linha correspondente). Em seguida, instale com:

sudo pacman -S speedtest-cli

Em CentOS, RHEL, Fedora e derivados, você pode usar:

sudo yum install speedtest-cli -y

No openSUSE, bastaria:

sudo zypper install speedtest-cli

E para as demais distribuições que já possuem Python e pip instalados, sempre existe o método genérico:

pip install speedtest-cli

Medindo a largura de banda da rede com iperf3 no Linux

O Speedtest é ótimo para verificar sua conexão com a internet , mas se você precisar medir o desempenho real da sua rede local, de um túnel VPN ou de um link entre dois servidores que você controla, a ferramenta principal é o iperf3.

O Iperf3 permite medir a largura de banda máxima alcançável entre um cliente e um servidor, usando TCP, UDP ou SCTP, e funciona com IPv4 e IPv6. É perfeito para entender as capacidades da sua placa de rede em condições controladas, sem depender de software de terceiros.

A filosofia é simples: você executa o iperf3 no modo servidor em uma extremidade e no modo cliente na outra. O cliente envia tráfego para o servidor por um período determinado, e o iperf3 mostra, em tempo real, as taxas de transferência e as taxas de bits para cada intervalo do teste.

Para instalar o iperf3 no Debian/Ubuntu, basta:

sudo apt install iperf3

Em sistemas RHEL, CentOS, Fedora, Rocky ou AlmaLinux:

sudo yum install iperf3

Em Gentoo:

sudo emerge -a net-misc/iperf

No Arch Linux:

sudo pacman -S iperf3

Após a instalação, inicie o modo servidor na máquina que receberá os testes:

iperf3 -s

Em outro terminal (ou em outro computador), inicie o modo cliente. Para um teste local, por exemplo, contra o endereço 127.0.0.1, você pode usar:

iperf3 -c 127.0.0.1 -f K

A opção -f K indica que você deseja visualizar os resultados em kilobytes ou kilobits, dependendo da configuração. Na janela do servidor, você verá os intervalos atualizados com a taxa de transferência e a taxa de bits alcançadas.

Entre as informações exibidas pelo iperf3, você pode encontrar:

  • Intervalo de tempo de cada medição.
  • Quantidade de dados transmitidos nesse intervalo.
  • Bitrate Média (Mbit/similar) em cada segmento.
  • Nos testes UDP, as informações de perda de pacotes e tremores.

O servidor permanecerá à espera de novos clientes até que você interrompa o processo. Você também pode especificar uma porta específica com:

iperf3 -s -p NUM_PUERTO

Do lado do cliente, se você estiver interessado no tamanho da janela TCP ou no buffer do socket , poderá ajustá-los com a opção -w:

iperf3 -c 127.0.0.1 -f K -w 256K

Na máquina do servidor, você verá os resultados com o tamanho da janela aplicado. Essa opção é útil para verificar como a janela TCP afeta links de alta latência e alta largura de banda.

Modos avançado, reverso e bidirecional no iperf3

Uma das grandes vantagens do iperf3 em comparação com outras ferramentas é que ele permite testar a conexão em várias direções e com múltiplos fluxos paralelos , simulando de perto situações reais de carga.

O modo reverso faz com que o servidor envie tráfego e o cliente o receba. Ele é ativado adicionando a opção -R ao cliente:

iperf3 -c 127.0.0.1 -f K -w 256K -R

Na página de saída do cliente, você verá o rótulo "Modo reverso", indicando que o tráfego está fluindo na direção oposta à normal. Este teste é crucial quando você suspeita que as velocidades de upload e download não estão se comportando da mesma maneira em um determinado link.

O modo bidirecional (opção -d) permite que a largura de banda seja medida em ambas as direções simultaneamente:

  Netcat (nc) e Ncat: guia prático com exemplos da vida real

iperf3 -c 127.0.0.1 -f K -w 256K -d

Ao final, você verá um resultado com dois blocos distintos, um para cada direção, o que ajuda a detectar assimetrias ou problemas quando há tráfego em ambas as direções simultaneamente.

Se você deseja realizar testes com vários clientes em paralelo para simular cargas mais realistas, pode usar a opção -P seguida pelo número de fluxos:

iperf3 -c 127.0.0.1 -f K -w 256K -P 4

No servidor, o iperf3 exibirá métricas por intervalo e um resumo agregado de todos os fluxos. Isso é muito útil para visualizar a capacidade total do link quando várias conexões estão ativas simultaneamente.

Por fim, se desejar que o cliente também receba o resultado detalhado gerado no servidor , você pode adicionar a opção:

iperf3 -c 127.0.0.1 -f K -w 256K -R --get-server-output

Dessa forma, você terá todas as informações mais detalhadas em um único console, sem precisar verificar a sessão do servidor separadamente.

Além de usar o iperf3 entre suas próprias máquinas, existem servidores iperf3 públicos que permitem realizar testes de upload (e, em alguns casos, de download) pela internet, embora você deva ter em mente que seu firewall ou NAT geralmente impedirá testes bidirecionais puros. Alguns exemplos comumente citados são:

  • iperf3 -c iperf.scottlinux.com -u
  • iperf3 -c iperf.volia.net -R -P 4
  • iperf -c ping.online.net -i 5 -u -r
  • iperf -c iperf.he.net

Use-os com sabedoria, pois são serviços compartilhados e é melhor não sobrecarregá-los desnecessariamente.

Teste o download e o upload usando wget, curl e servidores públicos.

Além do Speedtest e do iperf3, outra maneira muito direta de verificar o desempenho da sua conexão no Linux é usar o wget ou o curl em servidores públicos que oferecem arquivos de teste grandes.

Essa técnica é útil quando você deseja, por exemplo, saturar sua conexão para verificar se ela realmente suporta a largura de banda contratada, ou quando precisa simular uma carga prolongada de download ou upload. No entanto, é recomendável escolher servidores conhecidos e não sobrecarregar a conexão.

Para medir seu endereço IP público antes de começar (e para ter certeza de qual linha você está testando, caso tenha várias linhas), você pode usar comandos como:

curl -s checkip.dyndns.org | sed 's#.*Address: \(.*\)wget -qO - icanhazip.com
curl ifconfig.me
curl ident.me
dig +short myip.opendns.com @resolver1.opendns.com
lynx -dump ifconfig.me | grep 'IP Address'
curl ipinfo.io
curl ipogre.com
curl bot.whatismyipaddress.com

Para testes de download, muitos provedores oferecem arquivos de 100 MB, 500 MB ou até mesmo 1 GB. Alguns exemplos comuns:

  • CacheFly (Canadá):
    wget -O /dev/null http://cachefly.cachefly.net/100mb.test
  • SoftLayer (EUA e Holanda):
    wget -O /dev/null http://speedtest.dal01.softlayer.com/downloads/test100.zip
    wget -O /dev/null http://speedtest.ams01.softlayer.com/downloads/test500.zip
  • Linode (EUA, Reino Unido, Japão):
    wget -O /dev/null http://speedtest.tokyo.linode.com/100MB-tokyo.bin
    wget -O /dev/null http://speedtest.london.linode.com/100MB-london.bin
  • Leaseweb (EUA e Holanda):
    wget -O /dev/null http://mirror.nl.leaseweb.net/speedtest/1000mb.bin
  • OVH (França):
    wget -O /dev/null http://proof.ovh.net/files/100Mb.dat

O segredo é enviar a saída para /dev/null se você não quiser encher o disco rapidamente. O wget e o curl mostram a velocidade média de download, então você pode ter uma boa ideia da taxa de transferência.

Com o curl, você pode até automatizar o cálculo em Mb/s usando a variável %{speed_download} e manipulando o parâmetro bc. Por exemplo:

echo "scale=2; $(curl --progress-bar -w "%{speed_download}" http://speedtest.wdc01.softlayer.com/downloads/test10.zip -o test.zip) / 131072" | bc | xargs -I {} echo {}Mb/s

Para testes de upload, além do iperf/iperf3, você pode encontrar servidores FTP ou HTTP que aceitam uploads , embora seja aconselhável ser extremamente cauteloso e usar apenas aqueles especificamente destinados a testes.

Em qualquer caso, seja com wget, curl, speedtest ou iperf3, o objetivo é sempre o mesmo: saber realmente qual a velocidade da sua rede no Linux , tanto localmente quanto na Internet, e ter dados objetivos para diagnosticar problemas ou validar se sua infraestrutura e seu provedor estão funcionando como deveriam.

Com todas essas ferramentas ao seu alcance — desde o ethtool para visualizar a velocidade negociada da interface, até o speedtest-cli e o Speedtest CLI oficial para medir sua conexão com a internet, passando pelo iperf3, wget e curl para aproveitar ao máximo suas conexões — é relativamente fácil parar de confiar em palpites e começar a trabalhar com dados reais, identificando onde o desempenho é perdido e qual parte da rede está limitando seu sistema Linux em cada caso.