Como usar el comando Ping en conexiones de Redes [Ejemplos prácticos]


Como utilizar el comando PING para probar la conectividad, el funcionamiento, la disponibilidad de una red, saber el tiempo de respuesta en una conexión y conocer la dirección IP correspondiente a un dominio en internet, entre otras tareas posibles.

Ping.exe es una pequeña aplicación disponible en todos los sistemas Windows, que se ejecuta con el comando PING, usada para probar la conectividad de redes.
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 si no las redes informáticas.

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.

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

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

-n Determina el número de solicitudes de eco que se van a enviar. El valor predeterminado es 4.
-w Permite ajustar el tiempo de espera (en milisegundos). El valor predeterminado es 1.000 (tiempo de espera de un 1 segundo).
-l Permite ajustar el tamaño del paquete de ping. El tamaño predeterminado es 32 bytes.
-f No fragmentar en paquetes. De manera predeterminada, el paquete ping permite la fragmentación.
-a Resolver direcciones en nombres de host
-i Tiempo de vida o TTL
-r Registrar 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

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 192.168.137.1
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 comprobar disponibilidad de dominios
Para comprobar dominios utiliza:

PING -w 7500 dominio |find "TTL=" && ECHO dominio encontradoPING -w 7500 dominio |find "TTL=" || ECHO dominio no encontrado

Usar el comando ping para conocer la dirección IP
Para conocer la dirección IP que corresponde a un dominio utiliza:

ping -a gratisprogramas.orgPara conocer la dirección IP desde donde se ha enviado un correo electrónico o email utiliza: ping mail.dominio y oprime Enter, 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 conocer la lejanía de un servidor
Para conocer la lejanía de un servidor web determinado utiliza:

PING servidor -n 10El promedio del tiempo de respuesta que se muestra en: “Tiempos aproximados de ida y vuelta en milisegundos” debe ser no mayor de 300ms.

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 1472ping 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%Desktoppingtest.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