jueves, 13 de junio de 2013

Como usar el comando PING en conexiones de redes

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 mediante la consola de CMD. Es 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.
Como usar el comando PING en conexiones de redes

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.


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.
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<br">Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms="" ttl="128<br">Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms="" ttl="128<br">Respuesta desde 127.0.0.1: bytes=32 tiempo= <10 ms="" ttl="128</div">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


ModificadorUso
-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 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 conocer la dirección IP


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

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

Usar el comando ping para comprobar si existe fragmentación en la conexiónPara 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

No hay comentarios:

Publicar un comentario