Cómo medir velocidad de red en Linux desde la terminal

Última actualización: 23/04/2026
Autor: Isaac
  • En Linux puedes medir tanto la velocidad de enlace física (10/100/1000 Mb/s) como el ancho de banda real.
  • Speedtest-cli y Speedtest CLI oficial permiten comprobar la conexión a Internet desde la terminal.
  • Iperf3, wget y curl son claves para pruebas de rendimiento detalladas en redes locales y servidores.
  • Combinar estas herramientas te ayuda a diagnosticar cuellos de botella y verificar lo contratado.

medir velocidad de red en Linux

Contar hoy en día con una buena conexión de red en Linux es casi tan básico como tener electricidad: servicios en la nube, videollamadas, copias de seguridad remotas, contenedores, servidores… todo depende de que la red responda como debe. Además, los tamaños de los archivos y flujos de datos que movemos se han disparado, así que cualquier cuello de botella se nota enseguida.

Muchos recordaréis aquellas conexiones por módem telefónico con su ruido característico y ese eterno parpadeo mientras cargaba una simple imagen en el navegador. Hoy hablamos de enlaces de 100, 300 o 1000 Mb/s, fibra simétrica, redes locales a gigabit y centros de datos con canales dedicados. Pero por muy moderna que sea la infraestructura, si no sabes cómo comprobar de verdad qué velocidad te llega y qué rinde tu tarjeta de red en Linux, vas a ciegas… y a merced de lo que te haya prometido tu operadora.

Velocidad de red en Linux: conceptos que debes tener claros

Antes de lanzarnos a teclear comandos conviene diferenciar bien qué tipo de velocidad queremos medir, porque no es lo mismo el caudal real de transferencia que la capacidad nominal del enlace o el rendimiento de la tarjeta de red.

Por un lado está la velocidad de conexión negociada entre la interfaz de red y el switch o router (10, 100 o 1000 Mb/s, incluso más en redes modernas). Es el “límite teórico” del enlace cableado: si tu tarjeta ha negociado 100 Mb/s, jamás vas a ver un throughput real de 300 Mb/s, por muy buena que sea tu línea.

Por otro lado está el ancho de banda efectivo que obtienes al descargar o subir datos: ahí entran en juego latencia, congestión, pérdidas de paquetes, limitaciones del servidor remoto o del propio proveedor de Internet. Este valor es el que solemos medir con speedtest.net, wget, curl o iperf3.

Además tenemos métricas como latencia (ping) y jitter, que reflejan el tiempo que tarda en viajar un paquete y cuánto varía esa latencia entre paquetes sucesivos. Para videojuegos, VoIP o videollamadas, a veces importan más que unos cuantos Mb/s arriba o abajo.

En Linux es posible comprobar cada uno de estos aspectos desde consola, tanto en servidores sin entorno gráfico como en equipos de escritorio, usando herramientas como Speedtest CLI, speedtest-cli, iperf3, wget, curl, ethtool y los comandos de red del sistema.

Cómo ver la velocidad de enlace (10/100/1000 Mb/s) de tu tarjeta de red

Cuando lo que quieres no es saber a cuántos Mb/s estás descargando ahora mismo, sino la velocidad de conexión “física” negociada por la interfaz (por ejemplo, si está a 100 Mb/s o 1000 Mb/s), hay varias formas de verlo desde Linux.

La herramienta clásica para interfaces Ethernet es ethtool. Con un simple comando puedes obtener la velocidad del enlace:

ethtool enp0s25 | grep Speed

La salida típica sería algo así como Speed: 1000Mb/s. Ese 1000 indica que el puerto está trabajando a 1 Gb/s. No es tanto un test de rendimiento como una confirmación de la capacidad negociada con el equipo de red al otro lado del cable.

Si quieres quedarte solo con la cifra, puedes encadenar utilidades como grep, awk o sed para extraerla. No existe un comando estándar de iproute2 que te devuelva directamente “1000” sin procesar nada, así que una tubería con herramientas de texto sigue siendo la opción práctica en la mayoría de casos.

Cuando consultas con ip link show enp0s25 verás información útil (MTU, estado UP, qdisc, qlen…) pero no la velocidad de enlace. El parámetro txqlen que aparece representa la longitud de la cola de transmisión, no el caudal en Mb/s, así que no sirve como indicador directo de velocidad física.

Con ip -j link show enp0s25 obtienes la salida en formato JSON, ideal para procesarla con jq u otras herramientas, pero de nuevo no incluye el valor “Speed” como ethtool. Por tanto, para este dato concreto, ethtool sigue siendo la referencia, sobre todo en tarjetas Ethernet clásicas.

Medir la velocidad real de Internet con Speedtest-cli (versión Python)

Si lo que quieres es saber cuánto ancho de banda de Internet tienes realmente desde un servidor Linux (donde no hay navegador gráfico), una forma muy práctica es usar la herramienta de línea de comandos speedtest-cli, un script en Python que se apoya en los servidores de speedtest.net.

  BSOD y Kernel Panic: Diferencias y comparación entre Windows y Linux/Unix

Esta utilidad hace básicamente lo mismo que la web de Speedtest: mide latencia, velocidad de descarga y subida contra un servidor cercano, pero lo hace todo desde la terminal de Linux. Es perfecta para administradores que gestionan servidores remotos por SSH o para usuarios curiosos que quieran comprobar si su operadora cumple lo prometido.

Speedtest-cli funciona con Python 2.4 en adelante y Python 3, y está disponible en la mayoría de distribuciones bien como paquete o vía pip. El resultado es similar al de la web, pero con la flexibilidad de integrarlo en scripts o tareas programadas.

Uno de sus usos más habituales es precisamente verificar que tu proveedor no te está “capando” el caudal contratado y poder reclamar con datos en la mano. No es raro ver líneas que anuncian 600 Mb/s y apenas entregan 200 en horas punta, por ejemplo.

Para instalar speedtest-cli usando pip en sistemas tipo Debian/Ubuntu basta con:

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

Si prefieres clonar el repositorio oficial en GitHub, puedes hacerlo así:

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

Una vez instalado, ejecutar una prueba básica es tan simple como lanzar:

speedtest-cli

Opciones útiles de speedtest-cli para afinar tus pruebas

Como buena utilidad de consola, speedtest-cli ofrece una serie de parámetros para personalizar la salida y elegir servidores concretos. Puedes verlos con:

speedtest-cli -h

Entre las opciones más interesantes están:

  • –simple: muestra solo la información esencial (ping, descarga y subida) sin detalles extra, ideal para una lectura rápida o para scripts.
  • –share: genera una URL con la imagen de resultado alojada en speedtest.net, útil si quieres compartir la prueba.
  • –bytes: cambia la unidad a bytes en lugar de bits (no afecta a la imagen generada con –share).
  • –list: muestra un listado de servidores de speedtest.net ordenados por distancia.
  • –server ID: permite especificar el ID de un servidor concreto contra el que hacer la prueba.
  • –source IP: fuerza una IP de origen específica, útil en máquinas con varias interfaces.

Además puedes combinar banderas para centrarte en una parte de la prueba. Por ejemplo, para ver solo descarga y en formato sencillo puedes usar:

speedtest-cli --no-upload --simple

Si en tu caso lo que te interesa de verdad es el ancho de banda de subida (por ejemplo, en un servidor que envía copias de seguridad a otro centro), hay una opción equivalente para ignorar la descarga:

speedtest-cli --no-download

Otro uso interesante es guardar el resultado como imagen (igual que la web de Speedtest), para adjuntarlo en informes o reclamaciones a tu ISP:

speedtest-cli --share --simple

Y si en algún momento quieres un recordatorio rápido de todas las banderas disponibles, basta con:

speedtest-cli --help

Speedtest CLI oficial de Ookla en Ubuntu y otras distros

Además del script en Python, Ookla ofrece un Speedtest CLI oficial empaquetado para distintas plataformas, más mantenido y alineado con la infraestructura actual de speedtest.net. En Ubuntu Server 20.04 y derivados es una opción muy recomendable para entornos de producción.

La principal diferencia respecto a speedtest-cli clásico es que este binario viene desde el repositorio de Ookla, se actualiza con el sistema y suele ser más fiable a largo plazo. El uso básico es similar, pero el nombre del comando suele ser simplemente speedtest en lugar de speedtest-cli.

En Ubuntu 20.04, el flujo típico de instalación sería:

sudo apt update
sudo apt install -y curl

Después, añades el repositorio oficial de Speedtest CLI:

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

Ese script configura el repositorio, importa la clave GPG y actualiza la información de paquetes. A continuación ya puedes instalar la herramienta:

sudo apt install speedtest

Para comprobar que todo ha ido bien:

speedtest --version

Si se muestra un número de versión, la utilidad está lista. Para lanzar un test sencillo:

speedtest

En el primer uso, la herramienta te pedirá aceptar la licencia, escribiendo YES cuando te lo solicite. Tras eso, verás una salida parecida a:

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/...

El campo Result URL te permite compartir el resultado detallado. Para elegir otro servidor, puedes listar los cercanos con:

  Por qué al subir la tarifa tu Internet no acelera y cómo detectarlo

speedtest -L

Y luego especificar uno mediante su ID:

speedtest -s 1111

De nuevo, speedtest –help mostrará todas las opciones disponibles. Si antes tenías otra versión (por ejemplo speedtest-cli del repositorio estándar), conviene eliminarla con:

sudo apt remove speedtest-cli

para evitar conflictos entre binarios distintos que se llamen parecido.

Instalar speedtest-cli (Python) desde los repositorios de tu distro

En muchas distribuciones no hace falta recurrir a pip o al repositorio de Ookla, porque speedtest-cli ya está empaquetado. La instalación se hace con el gestor de paquetes propio de cada sistema.

En Debian, Ubuntu, Linux Mint, Elementary OS y derivados, el comando sería:

sudo apt install speedtest-cli

En Arch Linux, Manjaro, Antergos y otras basadas en Arch, primero asegúrate de tener el repositorio community habilitado en /etc/pacman.conf (quitando la almohadilla de la línea correspondiente). Luego instala con:

sudo pacman -S speedtest-cli

En CentOS, RHEL, Fedora y derivados, puedes usar:

sudo yum install speedtest-cli -y

En openSUSE, bastaría con:

sudo zypper install speedtest-cli

Y para el resto de distros que ya tengan Python y pip instalados, siempre queda la vía genérica:

pip install speedtest-cli

Medir el ancho de banda de red con iperf3 en Linux

Speedtest está muy bien para comprobar tu conexión a Internet, pero si lo que necesitas es medir el rendimiento real de tu red local, de un túnel VPN o de un enlace entre dos servidores que controlas, la herramienta clave es iperf3.

Iperf3 permite medir el ancho de banda máximo alcanzable entre un cliente y un servidor, tanto con TCP como con UDP o SCTP, y funciona con IPv4 e IPv6. Es perfecta para saber de lo que es capaz tu tarjeta de red en condiciones controladas, sin depender de terceros.

La filosofía es sencilla: en un extremo ejecutas iperf3 en modo servidor y en el otro en modo cliente. El cliente envía tráfico al servidor durante un tiempo determinado y iperf3 te muestra, en tiempo real, tasas de transferencia y bitrates para cada intervalo de la prueba.

Para instalar iperf3 en Debian/Ubuntu, basta con:

sudo apt install iperf3

En RHEL, CentOS, Fedora, Rocky o AlmaLinux:

sudo yum install iperf3

En Gentoo:

sudo emerge -a net-misc/iperf

En Arch Linux:

sudo pacman -S iperf3

Una vez instalado, inicia el modo servidor en la máquina que va a recibir las pruebas:

iperf3 -s

En otra terminal (o en otro equipo) lanza el modo cliente. Para un test local, por ejemplo contra 127.0.0.1, podrías usar:

iperf3 -c 127.0.0.1 -f K

La opción -f K indica que quieres ver los resultados en kilobytes o kilobits, según la configuración. En la ventana del servidor verás cómo se van actualizando los intervalos con la tasa de transferencia y el bitrate logrados.

Entre la información que muestra iperf3 puedes encontrar:

  • Intervalo de tiempo de cada medición.
  • Cantidad de datos transmitidos en ese intervalo.
  • Bitrate (Mbit/s o similar) promedio en cada tramo.
  • En pruebas UDP, información de pérdida de paquetes y jitter.

El servidor permanecerá a la escucha de nuevos clientes hasta que detengas el proceso. También puedes especificar un puerto concreto con:

iperf3 -s -p NUM_PUERTO

En el lado cliente, si te interesa el tamaño de la ventana TCP o el buffer de socket, puedes ajustarlo con la opción -w:

iperf3 -c 127.0.0.1 -f K -w 256K

En la máquina servidor verás los resultados con el tamaño de ventana aplicado. Esta opción es útil para comprobar cómo influye la ventana TCP en enlaces de alta latencia y gran ancho de banda.

Modos avanzado, reverso y bidireccional en iperf3

Una de las grandes ventajas de iperf3 frente a otras herramientas es que permite probar el enlace en varios sentidos y con múltiples flujos paralelos, acercándose mucho a situaciones reales de carga.

El modo inverso hace que sea el servidor quien envíe tráfico y el cliente quien reciba. Se activa añadiendo la opción -R en el cliente:

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

En la salida del cliente verás la etiqueta “Reverse mode” indicando que el tráfico fluye en sentido opuesto al habitual. Esta prueba es clave cuando sospechas que la subida y la bajada no se comportan igual en un enlace determinado.

El modo bidireccional (opción -d) permite medir el ancho de banda en ambas direcciones de forma simultánea:

  6 Mejores Webs Para Ganar Dinero Jugando

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

Al finalizar verás un resultado con dos bloques diferenciados, uno para cada sentido, lo que ayuda a detectar asimetrías o problemas cuando hay tráfico en ambas direcciones al mismo tiempo.

Si quieres probar con varios clientes paralelos para simular cargas más realistas, puedes usar la opción -P seguida del número de flujos:

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

En el servidor, iperf3 mostrará las métricas por intervalo y un resumen agregando todos los flujos. Esto resulta muy útil para ver qué capacidad total tiene el enlace cuando hay varias conexiones activas a la vez.

Finalmente, si quieres que el cliente reciba también el resultado detallado que se genera en el servidor, puedes añadir la opción:

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

Así tendrás en una sola consola toda la información mas detallada, sin necesidad de revisar la sesión del servidor por separado.

Además de usar iperf3 entre máquinas propias, existen servidores iperf3 públicos que permiten hacer pruebas de subida (y en algunos casos de bajada) contra Internet, aunque hay que tener en cuenta que muchas veces tu cortafuegos o NAT impedirán las pruebas bidireccionales puras. Algunos ejemplos que suelen citarse son:

  • 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

Úsalos con cabeza, ya que son servicios compartidos y conviene no saturarlos sin motivo.

Probar descarga y subida usando wget, curl y servidores públicos

Además de Speedtest e iperf3, otra forma muy directa de comprobar el rendimiento de tu conexión en Linux es utilizar wget o curl contra servidores públicos que ofrecen archivos de prueba de gran tamaño.

Esta técnica es útil cuando quieres, por ejemplo, saturar tu enlace para ver si realmente alcanza el caudal contratado, o cuando necesitas reproducir una carga de descarga o subida prolongada. Eso sí, conviene elegir servidores conocidos y no abusar.

Para medir tu IP pública antes de empezar (y estar seguro de qué línea estás probando si tienes varias), puedes 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 tests de descarga, muchos proveedores ofrecen ficheros de 100 MB, 500 MB o incluso 1 GB. Unos ejemplos habituales:

  • CacheFly (Canadá):
    wget -O /dev/null http://cachefly.cachefly.net/100mb.test
  • SoftLayer (EE. UU. y 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 (EE. UU., Reino Unido, Japón):
    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 (EE. UU. y Holanda):
    wget -O /dev/null http://mirror.nl.leaseweb.net/speedtest/1000mb.bin
  • OVH (Francia):
    wget -O /dev/null http://proof.ovh.net/files/100Mb.dat

La clave está en enviar la salida a /dev/null si no quieres llenar el disco en un momento. Wget y curl muestran la velocidad media de descarga, con lo que puedes hacerte una buena idea del caudal.

Con curl incluso puedes automatizar el cálculo en Mb/s usando la variable %{speed_download} y jugando con bc. Por ejemplo:

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 pruebas de subida, además de iperf/iperf3, puedes encontrar servidores FTP o HTTP que acepten upload, aunque aquí sí que conviene extremar la precaución y usar solo aquellos destinados específicamente a pruebas.

En cualquier caso, ya sea con wget, curl, speedtest o iperf3, el objetivo es siempre el mismo: saber de verdad qué velocidad de red tienes en Linux, tanto a nivel local como hacia Internet, y contar con datos objetivos para diagnosticar problemas o validar que tu infraestructura y tu proveedor están rindiendo como deben.

Con todas estas herramientas a tu alcance —desde ethtool para ver la velocidad negociada de la interfaz, pasando por speedtest-cli y Speedtest CLI oficial para medir tu conexión a Internet, hasta iperf3, wget y curl para exprimir al máximo tus enlaces— es relativamente sencillo dejar de guiarte por sensaciones y empezar a trabajar con cifras reales, identificando dónde se pierde rendimiento y qué parte de la red está limitando tu sistema Linux en cada caso.