1. Introducción
En esta práctica aprenderemos a utilizar Wireshark, una herramienta de análisis de protocolos que permite examinar los paquetes de datos que circulan por una red.
Trabajaremos tanto con tráfico generado por nosotros como con archivos de captura previamente guardados, de extensión .pcap o .pcapng.
Al finalizar podremos identificar direcciones IP, puertos, protocolos, consultas DNS, conexiones TCP y parte del contenido de determinadas comunicaciones.
La práctica se realizará únicamente sobre tráfico propio, del laboratorio o expresamente autorizado.
2. Objetivos
Al terminar la actividad, el alumno deberá saber:
- Instalar e iniciar Wireshark.
- Seleccionar una interfaz de red.
- Capturar y guardar paquetes.
- Interpretar las columnas de una captura.
- Aplicar filtros de visualización.
- Identificar tráfico ICMP, DNS, TCP, HTTP y TLS.
- Examinar conversaciones entre dos equipos.
- Seguir una comunicación TCP.
- Analizar un archivo PCAP y documentar los resultados obtenidos.
3. Preparación del laboratorio
8
Paso 1. Instalar Wireshark
Descargar Wireshark desde su página oficial:
En Windows, durante la instalación, aceptar también la instalación de Npcap, que permite capturar paquetes de red.
En Kali Linux, comprobar si ya está instalado:
wireshark --version
Si no aparece, instalarlo:
sudo apt update
sudo apt install wireshark -y
Si se pregunta si los usuarios no administradores pueden capturar paquetes, seguir la configuración autorizada por el profesor. En instalaciones Debian/Kali, puede configurarse el grupo wireshark para permitir la captura sin ejecutar toda la aplicación como root.
Paso 2. Conocer la interfaz
Al ejecutar Wireshark, veremos las interfaces de red disponibles. Por ejemplo:
- Ethernet: conexión por cable.
- Wi-Fi: conexión inalámbrica.
- Adaptadores virtuales: interfaces de VirtualBox, VMware o VPN.
Una vez abierta una captura, Wireshark muestra tres zonas fundamentales:
Esquema didáctico de las tres zonas de análisis de Wireshark.
| Zona | Función |
|---|---|
| 1. Lista de paquetes | Presenta los paquetes capturados |
| 2. Detalles | Descompone cada paquete en protocolos y campos |
| 3. Bytes | Muestra los datos en hexadecimal y representación ASCII |
4. Primera captura de tráfico
Paso 3. Iniciar la captura
- Seleccionar la interfaz conectada a la red.
- Hacer doble clic sobre ella.
- Comprobar que empiezan a aparecer paquetes.
- Dejar Wireshark capturando.
Comprobación: el contador de paquetes debe aumentar cuando existe actividad de red.
Paso 4. Generar tráfico ICMP
Abrir una terminal y ejecutar:
ping -c 4 1.1.1.1
En Windows:
ping -n 4 1.1.1.1
Esto envía cuatro solicitudes ICMP Echo Request, habitualmente utilizadas para comprobar conectividad.
Volver a Wireshark y detener la captura mediante el botón rojo.
En la barra de filtros, escribir:
icmp
Pulsar Intro.
Si la red permite las respuestas ICMP y la captura se ha realizado en la interfaz correcta, aparecerán paquetes de solicitud y respuesta.
Preguntas para el alumno: ¿Cuál es la dirección IP de origen? ¿Cuál es la de destino? ¿Qué diferencia existe entre Echo Request y Echo Reply?
5. Aprender a filtrar paquetes
Los filtros de visualización permiten ocultar temporalmente los paquetes que no cumplen determinadas condiciones, sin eliminarlos del archivo.
Consultor de filtros de WiresharkSelecciona qué tráfico quieres examinar
Solo peticiones HTTP
Filtro Copiar
http.requestSolicitudes HTTP detectadas
El alumno debe probar los filtros y observar cómo cambia la lista de paquetes.
Importante: tcp.port == 80 es un filtro de visualización, no una orden de captura ni una instrucción para abrir un puerto.
6. Analizar consultas DNS
Paso 5. Generar una consulta DNS
DNS permite traducir nombres de dominio a direcciones IP.
En la terminal, ejecutar:
nslookup example.com
Si estamos capturando tráfico en Wireshark, aplicamos el filtro:
dns
Seleccionar uno de los paquetes de la consulta.
En el panel de detalles, desplegar Domain Name System y buscar:
- Transaction ID.
- Queries.
- Nombre de dominio solicitado.
- Tipo de registro, por ejemplo A o AAAA.
- Respuestas recibidas, cuando existan.
Si no aparecen consultas, comprobar qué servidor DNS está utilizando el equipo y si el sistema utiliza DNS cifrado. Otra posibilidad es que la consulta se haya resuelto previamente desde caché.
Actividad: identificar el dominio consultado y las direcciones IP devueltas. Anotar también la dirección del servidor DNS que respondió.
7. Analizar una comunicación HTTP
En esta sección crearemos nuestro propio servidor web local para observar cómo viajan los datos cuando se utiliza HTTP sin cifrado.
Paso 6. Crear una página web sencilla
En Linux o Kali:
mkdir practica-wireshark
cd practica-wireshark
nano index.html
Introducir el siguiente contenido:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Laboratorio Wireshark</title>
</head>
<body>
<h1>Laboratorio de análisis de red</h1>
<p>Esta página se transmite mediante HTTP.</p>
<p>Mensaje de prueba: ASIR2026</p>
</body>
</html>
Guardar el archivo.
Paso 7. Iniciar un servidor HTTP
Desde el mismo directorio, ejecutar:
python3 -m http.server 8000
El servidor quedará escuchando en el puerto 8000.
Ahora abriremos Wireshark y seleccionaremos la interfaz de loopback, normalmente lo en Linux, para capturar las conexiones locales.
Comenzar la captura y, desde otra terminal, ejecutar:
curl http://127.0.0.1:8000/
Esta petición evitará que tengamos que depender del comportamiento del navegador.
En Wireshark, introducir:
tcp.port == 8000
Deberán aparecer los segmentos TCP de la conexión.
Paso 8. Examinar la comunicación
Seleccionar un paquete TCP de la conexión y utilizar:
Clic derecho → Follow → TCP Stream
Wireshark reconstruirá los datos intercambiados en esa conexión.
Ejemplo simplificado de una conversación HTTP
CLIENTE → SERVIDOR
GET / HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: curl
SERVIDOR → CLIENTE
HTTP/1.0 200 OK
Content-Type: text/html
<h1>Laboratorio de análisis de red</h1>
<p>Esta página se transmite mediante HTTP.</p>
Representación resumida. Las cabeceras y el contenido exacto dependerán de la versión de Python y de la petición realizada.
Buscar el mensaje ASIR2026.
¿Por qué podemos leerlo? Porque HTTP, en este ejemplo, transmite los datos sin cifrado. Cualquier persona que tenga acceso legítimo a una captura de esa comunicación podrá interpretar su contenido.
8. Comprender el funcionamiento de TCP
TCP permite establecer conexiones y transmitir información de forma ordenada y fiable.
En nuestra captura anterior, buscar el establecimiento de conexión.
Establecimiento de conexión TCP: Three-way handshake
El establecimiento de la conexión se realiza normalmente mediante tres segmentos:
- SYN: el cliente solicita establecer una conexión.
- SYN, ACK: el servidor acepta y confirma la solicitud.
- ACK: el cliente confirma, completando el establecimiento.
Utilizar el filtro:
tcp.flags.syn == 1
Examinar los paquetes y localizar los segmentos SYN y SYN, ACK. Para identificar más fácilmente el inicio de una conexión concreta, también puede emplearse:
tcp.flags.syn == 1 && tcp.flags.ack == 0
Actividad: localizar los tres segmentos del establecimiento de la conexión HTTP y anotar los puertos de origen y destino.
9. Comparar HTTP con HTTPS
Paso 9. Visitar una página HTTPS
Iniciar otra captura en la interfaz de red utilizada para acceder a Internet.
Desde una terminal, ejecutar:
curl -v https://example.com/
Detener la captura y aplicar:
tls
Cuando la conexión utilice TLS sobre TCP y Wireshark lo reconozca, se podrán examinar mensajes del protocolo TLS.
En una comunicación HTTPS normal podemos observar las direcciones IP, puertos y determinada información de la negociación, pero no leer directamente el contenido de las peticiones y respuestas HTTP cifradas.
No todas las comunicaciones HTTPS utilizan TCP: algunas emplean HTTP/3 sobre QUIC, basado en UDP. En esta práctica usamos curl para facilitar la observación de una conexión concreta.
Actividad: comparar lo que puede verse de la página web local HTTP con lo que se puede observar de una conexión HTTPS.
10. Guardar y abrir archivos PCAP
Paso 10. Guardar una captura
En Wireshark, seleccionar:
File → Save As
Guardar con el nombre:
practica-wireshark.pcapng
El formato PCAPNG permite almacenar paquetes y determinados metadatos adicionales de la captura.
Para volver a abrirla:
File → Open → practica-wireshark.pcapng
Paso 11. Examinar las estadísticas
Dentro de Wireshark, abrir las siguientes opciones:
| Menú | Qué permite analizar |
|---|---|
| Statistics → Protocol Hierarchy | Distribución de protocolos detectados |
| Statistics → Conversations | Comunicaciones entre pares de direcciones y puertos |
| Statistics → Endpoints | Equipos y extremos presentes en la captura |
| Statistics → I/O Graphs | Evolución del tráfico a lo largo del tiempo |
Comprobar qué protocolos aparecen y cuáles generan mayor cantidad de tráfico.
11. Ejercicio final: análisis de un PCAP desconocido
Realiza el anális del archivo pcap:
Deberá responder:
- ¿Cuántos paquetes contiene la captura?
- ¿Qué protocolos aparecen?
- ¿Qué direcciones IP participan?
- ¿Se observan consultas DNS? ¿Qué nombres de dominio se consultan?
- ¿Existen conexiones TCP? ¿Qué puertos utilizan?
- ¿Hay tráfico HTTP sin cifrar? ¿Es posible identificar alguna página o recurso?
- ¿Se puede reconstruir alguna conversación TCP?
- ¿Qué información relevante puede obtenerse de la captura y qué información no es posible determinar?
No debe suponerse que todos los archivos contendrán tráfico de todos los protocolos. El alumno debe distinguir entre evidencias observadas e hipótesis.














![1.2 – [Herramientas] – Postman](https://laaventuradeaprender.com/wp-content/uploads/2026/01/Is-Apidog-Better-Than-Postman-27.webp)
![1.3 – [Herramientas] – Qué es curl](https://laaventuradeaprender.com/wp-content/uploads/2026/01/image.webp)
![1.3.1 [Reto] – curl como herramienta de auditoría](https://laaventuradeaprender.com/wp-content/uploads/2026/01/Auditoria-Seguridad-web.webp)