NorfiPC
NorfiPC » Redes » Usar el comando ping

Como usar el comando ping desde cmd, ejemplos prácticos

Comandos para probar conectividad a internet, disponibilidad, medir la latencia (lejanía), conocer la dirección IP, fragmentación, monitorear servidor y otras tareas de una red.
Como usar el comando PING en conexiones de redes

Ping.exe es una pequeña aplicación disponible en todos los sistemas Windows, que se ejecuta con el comando PING mediante la consola de CMD.
Es usada para probar la conectividad de redes informáticas.
Es uno de las más sencillas y útiles herramientas para ejecutar cualquier diagnostico ante conflictos en la red o simplemente para estar seguros de la funcionalidad de cualquier conexión.
Ping comprueba la conexión enviando paquetes de solicitud de eco y de respuesta, muestra si se ha recibido una respuesta del destino y cuánto tiempo se ha tardado en recibirla.
Si se produce un error en la entrega muestra un mensaje de error.
Es un mecanismo similar al empleado por submarinos y otras naves al utilizar el sonar, en este caso el medio de transmisión no es el agua, sino las redes informáticas.
En este artículo detallamos como usar el comando PING, con varios ejemplos prácticos.


Usos prácticos del comando PING


Ping es posible utilizarlo en infinidad de tareas en el trabajo en redes, algunos de los usos prácticos más empleados son los siguientes:
« Comprobar la conectividad de una red.
« Medir la latencia o tiempo que tardan en comunicarse dos puntos remotos.
« En internet conocer la dirección IP utilizada por un nombre de dominio.
« Scripts que permiten llevar un registro de la disponibilidad de un servidor remoto.
« Scripts que permiten conocer cuando existe conexión en un equipo.
« En los archivos batch es empleado ocasionalmente para retrasar la ejecución de comandos un tiempo determinado.

¿Cómo ejecutar el comando PING?


Para ejecutar el comando ping en su forma más elemental utiliza: PING dirección_ip
Por ejemplo:
ping 127.0.0.1
Es posible insertar la petición a ping en la consola de cmd o directamente en el cuadro de Inicio o Ejecutar, en estos últimos casos al completarse el comando se cerrará la ventana de cmd y no podremos ver los resultados.
Para ejecutarlo insertándolo en el cuadro de Inicio y lograr que permanezca abierta la ventana con el resultado utiliza:cmd /k ping dirección_ip y presiona la tecla Enter.
Por ejemplo:
cmd /k ping 127.0.0.1
Un ejemplo puede verse en la siguiente imagen
Ejecutar comandos en el cuadro de Inicio
Al ejecutar ping sin parámetros, de forma predeterminada se enviarán 4 solicitudes de eco, con el tiempo de espera de 1 segundo, el tamaño de 32 bytes y con la fragmentación permitida.
Para usar otras opciones es necesario especificar los parámetros de acuerdo a la necesidad.
La respuesta obtenida en el caso anterior será algo similar a lo siguiente:
Haciendo ping a dirección_ip con 32 bytes de datos:

Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms TTL=128
Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms TTL=128
Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms TTL=128
Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms TTL=128
TTL= es el tiempo de vida del paquete enviado y su valor óptimo es 128
En la respuesta obtenida de ping pueden aparecer algunos de los siguientes errores:
"Red de destino inaccesible" significa que no existe ninguna ruta al destino.
"Ha terminado el tiempo de espera para esta solicitud" indica errores en la conexión.


Opciones y parámetros más utilizados con el comando PING


Modificador Uso
-nDetermina el número de solicitudes de eco que se van a enviar. El valor predeterminado es 4.
-wPermite ajustar el tiempo de espera (en milisegundos). El valor predeterminado es 1.000 (tiempo de espera de un 1 segundo).
-lPermite ajustar el tamaño del paquete de ping. El tamaño predeterminado es 32 bytes.
-fNo fragmentar en paquetes. De manera predeterminada, el paquete ping permite la fragmentación.
-aResolver direcciones en nombres de host
-iTiempo de vida o TTL
-rRegistrar la ruta de saltos de cuenta.


Usar el comando PING para probar la conectividad en una red


A pesar de su aparente simpleza es muy efectivo el uso del comando ping para el diagnóstico, detección de fallos y comprobación de la disponibilidad de cualquier red.
A continuación ejemplo de pruebas que se pueden efectuar en una red local para verificar el funcionamiento y para identificar y aislar cualquier error presente.
La supuesta red de ejemplo posee los siguientes parámetros:

Dirección IP del equipo: 192.168.137.3
Dirección IP de otra PC en la misma red: 192.168.137.5
Puerta de enlace (equipo en la red con conexión a internet): 192.168.137.1

Las direcciones IP anteriores es posible conocerlas utilizando el comando IPCONFIG
1- Hacer ping a 127.0.0.1, es la dirección localhost o dirección de loopback de nuestro mismo equipo, en caso de tener éxito demuestra que el protocolo TCP/IP está instalado y funcionando de forma correcta. De no ser así es necesario reinstalarlo.
Para reinstalar el protocolo TCP/IP utiliza:
En Windows XP: netsh int ip reset resetlog.txt
En Vista y Windows 7: netsh interface ipv4 reset
2- Hacer ping a la dirección IP del equipo: ping 192.168.137.3.
De tener éxito demuestra que la tarjeta o adaptador de red funciona correctamente, de no ser así desinstala el dispositivo y reinicia Windows para reinstalarlo automáticamente.
Para desinstalar el dispositivo es necesario acceder al Administrador de dispositivos, para eso introduce en Inicio o Ejecutar devmgmt.msc y oprime Enter.
3- Hacer ping a la dirección IP del otro equipo en red: ping 192.168.137.5
De tener éxito demuestra que las conexiones físicas entre ellos son correctas.
4- Hacer ping a la dirección IP de la puerta de enlace: ping 192.168.137.1
De tener éxito demuestra que existe conexión con el equipo que suministra internet.
5- Hacer ping a la dirección IP de un sitio en internet: ping 209.190.61.3 (Dirección IP de este sitio web).
De tener éxito demuestra que la conexión a internet funciona.
6- Por ultimo hacer ping a un dominio en internet: ping google.com
De tener éxito demuestra que existe conexión a internet y los servidores DNS configurados en la conexión funcionan correctamente.


Ejemplos prácticos del uso del comando PING


Son múltiples las tareas en las que se puede emplear el comando ping y no solo para diagnosticar la conectividad, para la cual es una magnifica herramienta.
A continuación se irán agregando sucesivamente aplicaciones prácticas en las cuales es posible utilizarlo.

Usar el comando ping para medir la latencia en la red (lejanía de un servidor)

La Latencia es la cantidad de tiempo que demora en transmitirse, una pieza de datos de una localización a otra.
Depende de la distancia física entre dos puntos de internet y del número de saltos entre las distintas redes para establecer la conexión.
Ping permite medir la latencia entre nuestra ubicación y un servidor de internet.
Para eso usa su dirección IP si es posible, por ejemplo:
Ping 47.8.4.67
O mejor aun:
Ping 47.8.4.67 -n 10
El promedio del tiempo de respuesta que se muestra en: "Tiempos aproximados de ida y vuelta en milisegundos" debe ser no mayor de 300ms.
Ojo. Si un sitio de internet usa un servicio CDN, al hacer ping al dominio o su dirección IP asociada, la latencia no será la real.
Para eso es necesario hacerlo a la dirección IP del servidor original.

Usar el comando PING para conocer la dirección IP

Para conocer la dirección IP que corresponde a un dominio utiliza:
ping -a norfipc.com


Usar el comando ping para saber la dirección IP de un email

Para conocer la dirección IP desde donde se ha enviado un correo electrónico o email utiliza:
ping mail.dominio
Sustituye dominio por el utilizado en la dirección electrónica de la cual quieres conocer la dirección IP.
Por ejemplo, el correo fué enviado desde alejandro@fernandez.es, utiliza:
ping mail.fernandez.es

Usar el comando ping para comprobar disponibilidad de dominios

Para comprobar dominios utiliza:
PING -w 7500 dominio |find "TTL=" && ECHO dominio encontrado
PING -w 7500 dominio |find "TTL=" || ECHO dominio no encontrado

Usar el comando ping para comprobar si existe fragmentación en la conexión

Para comprobar si existe desfragmentación en paquetes enviados, usando el valor MTU predeterminado utiliza:
ping google.com -f -l 1472
ping google.com -f -l 576 (conexiones dialup)


Usar el comando ping para monitorear disponibilidad de un servidor

Código para crear un archivo batch que permite monitorear la conexión a un sitio web (ejemplo.com) cada 20 segundos. Util para monitorear la disponibilidad de un servidor con multiples caidas. Puede ser utilizado también para comprobar el servicio suministrado por tu ISP (Proveedor de acceso a internet), solo reemplaza ejemplo.com por la dirección IP correspondiente.
@echo off

echo Realizando ping, usa CTRL-C para detenerlo
:start
ping -n 1 ejemplo.com | find "TTL=" >>%userprofile%\Desktop\pingtest.txt
echo 
ping -n 16 127.0.0.1>nul
goto start

Usar el comando ping para conocer si hay conexión a internet

Código para crear un archivo batch que comprueba cada 30 segundos si existe conexión a internet en el equipo local. Se logra el retraso de 30 segundos haciendo ping a una dirección IP 1.1.1.1 inexistente con el parámetro -w 30000 y posteriormente se repite el ciclo.
@echo off

color 0E
mode con cols=70 lines=8
: START
SET CONNECT=SI
PING 72.14.204.147 | FIND "TTL=" > NUL
IF NOT ERRORLEVEL 1 GOTO SI
IF ERRORLEVEL 1 SET CONNECT=NO
ECHO %CONNECT% tienes conexion a internet en este momento
PING 1.1.1.1 -n 10 -w 30000 >NUL
CLS
GOTO START
pause>nul
EXIT
:SI
ECHO Estas conectado a internet
PING 1.1.1.1 -n 1 -w 30000 >NUL
CLS
GOTO START
pause>nul


Usar el comando ping para pausar la ejecución de un comando

Código para pausar la ejecución de un segundo comando en un archivo batch durante 60 segundos.
@echo off

echo Esperando 60 segundos...
PING -w 10000 -n 1  1.1.1.1>NUL
echo OK ha transcurrido 1 minuto
pause

Comprobar conectividad en redes con Powershell


En Windows podemos usar la moderna consola de Powershell para realizar tareas similares a la que tradicionalmente hacíamos con la consola de Cmd.
A continuación, dos ejemplos de como usarla para comprobar la conectividad de un servidor de internet y conocer su latencia o tiempo de respuesta.
Parar comprobar la conectividad de una computadora remota en internet, abre la consola de Powershell, pega el siguiente comando y presiona la tecla F5:
Test-Connection -ComputerName norfipc.com -Count 3
El valor del parámetro "-Count" indica número de pruebas.
Si deseas hacer ping a varios servidores al mismo tiempo, introduce el siguiente script, teniendo la lista de direcciones en el archivo de texto llamado "IPlist.txt".
Start-Transcript -Path "resultado.txt" 
$complist = Get-Content "IPlist.txt"
foreach($comp in $complist){    
    $pingtest = Test-Connection -ComputerName $comp -Count 1 
   $pingtest 
} 
Stop-Transcript 
En dicho archivo se pueden agregar direcciones IP o nombres de dominio ya que son traducidos automáticamente.
El resultado lo podrás ver tanto en la consola, como en el archivo de texto llamado: "resultado.txt"
También es posible copiar las dos instrucciones anteriores a un archivo de texto con la extensión de archivo: ps1 y ejecutarlo como hacemos con un archivo batch.

Páginas relacionadas