Documente Academic
Documente Profesional
Documente Cultură
Ping (Packet Internet Groper – Buscador de paquetes en Internet) es una herramienta de comandos incluida
por defecto en los sistemas operativos con la cual tendremos la posibilidad de verificar el estado de una
conexión a un equipo local o remoto y esto es bastante útil para comprobar si una determinada dirección IP o
equipo es accesible o no y de esta manera tomar acciones administrativas.
De este modo cuando la respuesta del ping es rápida indica que la conectividad es buena pero
cuando dicha respuesta es errónea o lenta indica que algo en el trayecto está operando con error,
ya sea un router, modem, etc, y de este modo tendremos la oportunidad de analizar en qué parte
está el fallo para tomar medidas correctivas.
Aunque en la mayoría de las veces usamos el comando Ping de forma sencilla (ping (Dirección IP),
existen una serie de parámetros que pueden ser agregados para incrementar las capacidades de
Ping, esta sintaxis es
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [-w timeout] [-R] [-S srcaddr]
[-p] [-4] [-6] target [/?]
Los parámetros antes indicados cumplen los siguientes roles
-t
Usando esta opción indicamos que ping siga enviando solicitudes al equipo o dirección de destino
de forma continua, para detener el envío de peticiones usaremos la combinación de teclas Ctrl + C.
-a
Este parámetro resuelve el nombre de un host en dirección IP.
-n count (Recuento)
Este parámetro nos permite indicar el número de peticiones de eco que enviaremos a la dirección de
destino, el valor por defecto es 4.
-l size (tamaño)
Este parámetro nos permite especificar en bytes, el tamaño del campo de datos en los mensajes de
solicitud enviados. El tamaño puede estar entre 32 a 65.527 siendo 32 el valor por defecto.
-f
Al usar este parámetro evitamos que los mensajes de solicitud enviados sean fragmentados entre los
routers y el destino.
-r count
Con este parámetro tenemos la posibilidad de establecer el número de saltos entre el equipo local y
el equipo de destino que deseamos sea desplegado en pantalla, el valor máximo que podemos
establecer es 9.
-s count
Con este parámetro desplegamos la hora en el formato timestamp en el cual se recibe la solicitud y se
envía la respuesta de eco. El valor máximo a establecer es 4.
-w timeout
Este parámetro nos permite establecer el tiempo de espera que el comando ping tiene para esperar
cada respuesta de las solicitudes enviadas. Este valor se representa en milisegundos y el valor por
defecto es 4000 ms o 4 segundos.
-R
Con este parámetro establecemos la ruta de ida y vuelta de las solicitudes enviadas.
-S srcaddr
Con esta opción podemos especificar el source address o dirección de recurso.
-p
Con este parámetro hacemos ping a un proveedor de virtualización como lo es Hyper-V.
-4
Al usar este parámetro forzamos al comando ping a usar el direccionamiento IPV4 de manera
exclusiva.
-6
Con este parámetro forzamos al comando ping a hacer uso exclusivo del direccionamiento IPv6.
Target
Este valor hace referencia a la dirección o equipo de destino a donde ejecutaremos el comando ping.
/?
Este comodín despliega la ayuda del comando ping.
Nota
Es importante aclarar que los parámetros -f, -v, -r, -s, -j, y –k funcionan de manera exclusiva con
direcciones IPv4 mientras que los parámetros –R y –S funcionan con direcciones IPv6 de forma
exclusiva.
2. Resultado al ejecutar el comando PING en Windows y Linux
Paso 1
Para conocer cómo responde el comando ping hemos realizado un ping básico
ping www.solvetic.com
AMPLIAR
Paso 2
Bytes
Indica el tamaño en bytes de la respuesta.
Tiempo
Hace referencia al tiempo, en milisegundos, que ping obtuvo la respuesta por parte del equipo de
destino.
TTL
Indica el Time to Life o Tiempo de Vida indica por cuantos routers o dispositivos pasa el paquete antes de
ser rechazado.
Paquetes enviados
Indica el número de solicitudes enviadas por el comando ping.
Paquetes recibidos
Indica qué paquetes obtuvieron una respuesta correcta por parte del equipo o dirección de destino.
Paquetes perdidos
Indica cuántas solicitudes fueron incorrectas por algún fallo en el trayecto de la petición.
Paso 3
Aunque en el ejemplo descrito todos los paquetes obtuvieron una respuesta correcta en
ocasiones podemos estar frente a los siguientes mensajes:
Paso 3
AMPLIAR
ping –a 8.8.8.8
En este ejemplo le indicamos al comando ping que intente resolver el nombre del host cuya
dirección IP es 8.8.8.8 y en caso de no resolverlo ejecute el ping de forma normal . Podemos ver que
el comando ping resuelve que el nombre del host es google-public-dns-a.google.com.
AMPLIAR
ping -i www.solvetic.com
Esta opción incrementa el tiempo de envío entre cada paquete, en este ejemplo, hemos definido que
el tiempo entre paquete y paquete sea de 4 segundos.
AMPLIAR
ping localhost
Este parámetro nos permite hacer ping y comprobar la conectividad de la red del equipo local.
AMPLIAR
ping –w 6 www.solvetic.com
Con este parámetro indicamos al comando ping que envíe solicitudes durante 6 segundos y termine el
proceso de envío de forma automática.
AMPLIAR
AMPLIAR
ping –r 4 www.solvetic.com
Con el parámetro indicado permitimos que en la consola sean desplegadas la ruta en 4 saltos a la
dirección de destino.
AMPLIAR
2. No se logra ejecutar comando ipconfig de manera normal o entrar a ipconfig hacer lo siguiente:
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:
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.
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 local host o dirección de loop back 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
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.
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.
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
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
Código para pausar la ejecución de un segundo comando en un archivo batch durante 60 segundos.
@echo off
TRACERT
Este comando es una consola de diagnóstico que nos permite seguir en tiempo real la ruta de un paquete
de red desde un equipo de origen hasta un dominio o IP en particular y de esta manera detallar en que
parte de este trayecto se pueden presentar inconvenientes para tomar las medidas preventivas o correctivas del
caso.
C:\Users\Solvetic>tracert /?
Uso: tracert [-d] [-h saltos_máximos] [-j lista_de_hosts] [-w tiempo_de_espera]
[-R] [-S srcaddr] [-4] [-6] nombre_destino
Opciones:
-d No convierte direcciones en nombres de hosts.
-h saltos_máximos Máxima cantidad de saltos en la búsqueda del objetivo.
-j lista-host Enrutamiento relajado de origen a lo largo de la
lista de hosts (solo IPv4).
-w tiempo_espera Tiempo de espera en milisegundos para esperar cada
respuesta.
-R Seguir la ruta de retorno (solo IPv6).
-S srcaddr Dirección de origen para utilizar (solo IPv6).
-4 Forzar usando IPv4.
-6 Forzar usando IPv6.
Cómo podéis observar, el uso de Tracert es muy sencillo, basta con tener en cuenta la siguiente sintaxis:
Tracert destino
AMPLIAR