La herramienta Ping nos permite comprobar la conectividad de nuestro ordenador con un determinado equipo de la red (o servidor externo) y, además, mide el tiempo que tardan los paquetes en llegar, algo muy útil para ayudarnos a tener problemas en nuestra red, tanto de conectividad como de latencia. Gracias a ella es posible detectar posibles problemas de lentitud o cortes de nuestra conexión, sin embargo, por defecto esta herramienta es tan simple que no nos permite, por ejemplo, controlar nuestra conexión para ver si a lo largo del tiempo, en alguna ocasión nuestra latencia se dispara sin motivo aparente o si se pierden paquetes en la conexión. Esto es precisamente lo que busca ofrecernos el script que vamos a ver a continuación.
Este comando, por lo general, lo debemos ejecutar manualmente desde nuestra ventana de CMD o Terminal, según nuestro sistema operativo. Por defecto, para realizar una prueba de conectividad sencilla, el comando que debemos teclear es «ping 8.8.8.8«, el cual mandará una serie de 4 paquetes (en Windows) al DNS de Google y nos mostrará el tiempo que tardan en llegar.
Como hemos dicho, no es posible configurar «Ping» para que nos controle la latencia de nuestra conexión y nos avise automáticamente cada vez que esta exceda un valor concreto. Sin embargo, gracias a un usuario de Reddit, hemos encontrado un útil script que nos permite hacer precisamente esto.
Cómo controlar nuestro Ping y ver cuándo excede un límite con un sencillo script para PowerShell
Para poner en funcionamiento este script, lo único que debemos hacer es copiar el siguiente código en un archivo de texto plano, por ejemplo, con el Bloc de Notas, y guardar el archivo con el nombre que queramos y la extensión PS1.
while ($true) {
$ping = (Test-Connection 8.8.8.8 -Count 1).ResponseTime
if ($ping -gt 100) {
Write-Host "$(Get-Date -Format HH:mm) - HIGH PING ($($ping)ms)!"
}
Start-Sleep 10
}
Si analizamos por encima el script podremos ver que algunos parámetros pueden personalizarse. Por ejemplo, podemos cambiar la IP (8.8.8.8) por la del servidor al que queremos conectarnos, y cambiar el límite del script (por defecto, 100ms) por un límite mayor o menor. Por defecto, el script comprobará la conectividad cada 10 segundos, aunque cambiando el valor «Start-Stop» por otro valor podemos regular los segundos en los que se medirá la latencia.
Una vez listo nuestro script, simplemente debemos ejecutarlo con PowerShell (por ejemplo, pulsando sobre él con el botón derecho y eligiendo «Ejecutar con PowerShell«) y el script empezará a desempeñar su labor.
Cada vez que se exceda el límite que le hayamos configurado, lo registrará en la ventana mientras la tengamos abierta, como podemos ver en la siguiente captura.
De esta manera, vamos a poder saber cuándo ha aumentado demasiado el ping y podremos averiguar posibles problemas de red.
Además de para saber cuándo tenemos una latencia muy elevada, también podemos utilizar este script para que genere una actividad en la red mínima y ni el ordenador ni el router nos consideren «inactivos» y suspendan, por ejemplo, la conexión temporalmente.
¿Qué te parece este script? ¿Te gusta tener controlada la latencia de tu red para detectar posibles problemas relacionados con la conexión?