GhostAcademy logo GhostAcademy
🦀 Rust · Networking · CLI
gping
// Ping, pero con un gráfico.

Herramienta de monitorización de latencia visual en tiempo real. Grafica el tiempo de ping para múltiples hosts simultáneamente en la terminal.

ping visual multi-host --cmd IPv4 · IPv6 colores Windows · macOS · Linux Rust / Cargo Docker

¿Qué es gping?

gping es un reemplazo visual del comando ping clásico. En lugar de mostrar líneas de texto, dibuja un gráfico de latencia en tiempo real directamente en la terminal, permitiendo monitorizar múltiples hosts a la vez.

LATENCY GRAPH — LIVE PREVIEW
0s10s20s30s
google.com
cloudflare.com
8.8.8.8

Características principales

  • ▸ Grafica el tiempo de ping para varios hosts simultáneamente
  • ▸ Grafica el tiempo de ejecución de comandos con el flag --cmd
  • ▸ Colores personalizados por host
  • ▸ Soporte en Windows, macOS y Linux
  • ▸ Escrito en Rust — rápido y sin dependencias en tiempo de ejecución

Instalación por Sistema Operativo

🍎 macOS (Homebrew)
Homebrew
brew install gping
🍎 macOS (MacPorts)
MacPorts
sudo port install gping
🪟 Windows (Scoop)
Scoop
scoop install gping
🪟 Windows (Chocolatey)
Chocolatey
choco install gping
🐧 Arch Linux
Pacman
sudo pacman -S gping
🏔️ Alpine Linux
APK
apk add gping
🐧 Ubuntu/Debian
APT (≥ Ubuntu 23.10 / Debian 13)
sudo apt install gping

Instalación Universal — Rust / Cargo

Si tienes Rust instalado (versión 1.67.0 o superior), puedes instalar gping con Cargo:

bash
cargo install gping

Si no tienes Cargo, puedes instalarlo desde los repositorios de Ubuntu:

bash
sudo apt install cargo
sudo apt install gping

¿APT o rustup?

Repositorios APT
Alternativa
  • Fácil: sudo apt install rustc cargo
  • Ubuntu 24.04 incluye Rust 1.75+ (≥ requisito 1.67)
  • Puede estar desactualizado respecto a la última versión estable

Instalar Rust con rustup

La forma más limpia y recomendada de obtener Rust y Cargo es a través de rustup:

1
Instalar curl (si no lo tienes)
bash
sudo apt install curl -y
2
Instalar rustup
bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Presiona 1 para la instalación estándar.
3
Cargar el entorno en la terminal actual
bash
source "$HOME/.cargo/env"
Solo necesario en la terminal actual. Se aplica automáticamente en nuevas terminales.
4
Instalar gping con Cargo
bash
cargo install gping

Instalación con Docker

También puedes ejecutar gping dentro de un contenedor Docker sin instalar nada en el sistema host:

bash
docker run --rm -ti --network host ghcr.io/orf/gping:gping-v1.15.1 google.com
ℹ️ --network host es obligatorio: gping necesita acceso directo a la red del host para enviar paquetes ICMP (ping). Sin esta opción, no podrá alcanzar los destinos.

Uso Básico

EJEMPLO 1
Ping básico a un host
Ejecuta gping seguido del host o dirección IP. Se abrirá el gráfico en tiempo real.
bash
gping google.com
EJEMPLO 2
Múltiples hosts simultáneos
Cada host aparece como una línea de color distinto en el gráfico.
bash
gping google.com cloudflare.com 8.8.8.8
EJEMPLO 3
Graficar ejecución de comandos
Con --cmd, grafica cuánto tarda en ejecutarse un comando de shell.
bash
gping --cmd "curl -sI http://www.google.com"

Opciones Comunes

OpciónDescripciónEjemplo
-n
--watch-interval
Define el intervalo entre monitoreos en segundos (admite decimales). gping -n 0.5 google.com
-b
--buffer
Cuántos segundos de datos se muestran en el gráfico (por defecto 30s). gping -b 60 google.com
-4 / -6 Fuerza la resolución del host a IPv4 o IPv6. gping -4 google.com
-c
--color
Asigna un color específico a una entrada del gráfico. gping -c red google.com
--cmd Grafica el tiempo de ejecución de un comando en lugar de un ping. gping --cmd "curl -sI http://..."
--clear Limpia el gráfico de la terminal al cerrar el programa. gping --clear google.com

Colores disponibles

red
green
blue
yellow
magenta
cyan
white

Ejemplos de Pruebas

DescripciónComando
Local vs. LAN — comparar loopback con tu VM (ej. 192.168.1.41) gping 127.0.0.1 192.168.1.41
Comparación de DNS — Google DNS vs. Cloudflare DNS gping 8.8.8.8 1.1.1.1
Sitios globales — latencia a grandes plataformas gping google.com facebook.com
Comparación geográfica — misma marca, diferente dominio gping bbc.co.uk bbc.com
Ping + comando externo — latencia de red junto a ejecución de ping gping 1.1.1.1 --cmd "ping -c 5 8.8.8.8"
Prueba completa — mix de IPs y dominios gping 127.0.0.1 192.168.1.41 8.8.8.8 google.com
💡 Buffer de tamaño de paquete: Usa el flag -b para ajustar el tamaño del buffer. Por ejemplo, gping -b 1000 8.8.8.8 enviará un paquete de 1000 bytes para probar el impacto de la carga en la conexión.

--cmd Avanzado

La opción --cmd es única en gping: en lugar de medir la latencia de ping ICMP, grafica el tiempo de ejecución de cualquier comando de shell. Útil para monitorizar el rendimiento de tareas recurrentes o comparar tiempos de respuesta HTTP.

bash
# Graficar latencia HTTP de Google
gping --cmd "curl -sI http://www.google.com"

# Combinar ping normal + ejecución de comando
gping 1.1.1.1 --cmd "ping -c 5 8.8.8.8"
ℹ️ -c 5 en Linux vs Windows: Al usar ping dentro de --cmd, recuerda que -c 5 en Linux significa enviar 5 paquetes (Count), mientras que en Windows se usa -n 5 para lo mismo.

Al ejecutar gping 1.1.1.1 --cmd "ping -c 5 8.8.8.8" verás:

  • ▸ La latencia de 1.1.1.1 en el gráfico principal (línea de ping ICMP)
  • ▸ El tiempo total de ejecución de ping -c 5 8.8.8.8 como segunda línea, actualizado tras cada ciclo