This is an old revision of the document!
Introducción
Wireshark es una herramienta analizadora de protocolos de red (sniffer) ampliamente utilizada para capturar y examinar el tráfico que circula por una red informática.
Permite a administradores, estudiantes y profesionales visualizar en detalle los paquetes de datos que se envían y reciben, mostrando la información de cabeceras y contenido de múltiples protocolos de comunicación.
Comenzaremos con una breve introducción teórica de los protocolos más relevantes que analizaremos (ICMP, TCP, HTTP, etc.), seguida de instrucciones paso a paso en una serie de prácticas secuenciales.
El objetivo:
- capturar y analizar un ping (ICMP)
- observar el three-way handshake de TCP
- aplicar filtros para aislar una conexión
- Localizar una contraseña enviada en texto plano por un sitio web no seguro.
- Cómo aplicar distintos filtros de visualización
- Cómo seguir flujos TCP completos
- Cómo extraer datos útiles de las capturas.
ICMP (Internet Control Message Protocol)
El Protocolo de Mensajes de Control de Internet (ICMP) es un protocolo de la capa de red utilizado principalmente para enviar mensajes de error y diagnósticos en una red IP.
ICMP no se usa para transportar datos de aplicaciones como tal, sino para comunicar información sobre problemas en la transmisión o sobre la accesibilidad de dispositivos. Por ejemplo, si un paquete IP no puede entregarse a su destino (host inalcanzable, tiempo excedido, etc.), se envía un mensaje ICMP de error de vuelta al remitente.
Una de las utilidades más conocidas que emplea ICMP es el comando ping. El ping envía mensajes ICMP de tipo Echo Request (solicitud de eco) a un host destino, el cual debe responder con mensajes Echo Reply (respuesta de eco). De esta forma se puede comprobar rápidamente si un host está en la red y el tiempo que tardan los paquetes en ir y volver (latencia).
ICMP proporciona un mecanismo estándar para verificar la conectividad y notificar errores de entrega en redes IP TCP (Transmission Control Protocol)
El Protocolo de Control de Transmisión (TCP) es un protocolo de transporte orientado a conexión, responsable de la transferencia confiable y ordenada de datos entre dos extremos en la red.
TCP garantiza que los datos lleguen íntegros y en secuencia, para lo cual establece primero una conexión lógica entre cliente y servidor mediante un proceso de handshake de tres vías (three-way handshake).
En el handshake de tres vías de TCP, se intercambian tres mensajes para iniciar la comunicación:
- El cliente envía un segmento SYN (sincronizar) al servidor para solicitar una conexión.
- El servidor responde con un segmento SYN-ACK (sincronizar + acuse de recibo) confirmando la recepción del SYN del cliente e indicando su disposición a conectar.
- El cliente envía un ACK final (acuse de recibo) al servidor.
Tras este intercambio (SYN → SYN+ACK → ACK), la conexión queda establecida.
Cada segmento TCP contiene números de secuencia y acuse que permiten ordenar los datos y confirmar recepciones. Nº Origen (IP) Destino (IP) Flags Seq (Número de secuencia) Ack (Número de acuse) Longitud de datos 1 192.168.1.10 93.184.216.34 SYN 0 — 0 2 93.184.216.34 192.168.1.10 SYN, ACK 0 1 0 3 192.168.1.10 93.184.216.34 ACK 1 1 0 4 192.168.1.10 93.184.216.34 PSH, ACK 1 1 517 5 93.184.216.34 192.168.1.10 ACK 1 518 0 6 93.184.216.34 192.168.1.10 PSH, ACK 1 518 1350 7 192.168.1.10 93.184.216.34 ACK 518 1351 0
