domingo, 28 de octubre de 2012

Tracerouteando con PING!

Boas a todxs,

Hoxe imos a falar dun par de comandos de rede, concretamente das aplicacións ping e traceroute. Basicamente imos entender como funcionan e aprender a "traceroutear" con ping.

Que é ping (Packet Internet Groper)? É un programa que se emprega polo xeral para medir a latencia ou tempo de resposta na comunicación entre dous puntos remotos. Isto faise enviando paquetes de control (ICMP, Internet Control Message Protocol), construidos no nivel de capa de rede, estes paquetes o que fan é notificar cando existe un erro para un servicio determinado ou cando un router ou host non se dan localizado. O comando ping implementa unha request de resposta para ese paquete puidendo así recibir a información desaxada coma o tempo de resposta ou a cantidade de hosts polas que pasa.

Que é traceroute? É un programa que se emprega para saber pola cantidade de host que pasan os nosos paquetes até chegar ao host destino. Do mesmo xeito que ping funciona enviando paquetes de control pero aproveitandose da cabeceira TTL (Time to Live) que é unha cabeceira que se emprega para que os paquetes teñan un tempo de vida limitada na rede. Polo xeral, cada vez que pasa por un host ou router até chegar ao host destino é necesario elimiar unha destas cabeceiras.

Unha das opcións, que nos permite PING é modificar o TTL deste xeito, cambiando o valor deste de un en un, poderemos enviar un paquete a unha dirección destino e mirar o tempo de respostas do primeiro router ou host polo que pasa, do segundo, terceiro e así sucesivamente até que a IP destino coincida coa IP de resposta, non sei se me explico. Sería algo así:
ping -c 1 -t 1 direcciondestino
-c: Número de paquetes a enviar
-t: TTL

Como podedes ver, se variamos de xeito recursivo o valor de -t até que a IP destino coincida coa IP de resposta conseguiremos traceroutear.

Coa aplicación traceroute sería tan sinxelo de facer como isto:
traceroute direcciondestino

Non é gran cousa mais agardo vos gustase :P. Como xa teño comentado estou dándolle a bash e teño en mente facer un script que automatice isto, cando o teña compartoo.

Saúde!

No hay comentarios:

Publicar un comentario