====== 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 útile**s 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. {{:redes:tabla01.png?600|}} {{:redes:extabla01.png?600|}} Una vez establecida la conexión, **ambos extremos pueden transmitir datos confiablemente**; TCP se encarga de retransmitir paquetes perdidos, controlar el flujo para no saturar al receptor, y realizar un cierre de conexión ordenado cuando termina el intercambio (mediante un proceso similar de FIN/ACK de cuatro vías para terminar la conexión).