Guia pràctica: Anàlisi de trànsit amb Wireshark
Wireshark és l'analitzador de protocols de codi obert més utilitzat per capturar i inspeccionar el trànsit d'una xarxa. Aquesta guia en presenta l'ús pràctic — on capturar, com filtrar, i com identificar atacs habituals a la xarxa local — amb un èmfasi especial en els atacs contra el servei DHCP, per completar el que ja s'ha vist a Ciberseguretat DHCP amb l'evidència real que es veu en una captura.
Origen d'aquesta guia
Adaptada i resumida a partir de la guia "Análisis de tráfico con Wireshark" (INTECO-CERT, autor Borja Merino Febrero, febrer 2011), publicada sota llicència Creative Commons Reconeixement-NoComercial-CompartirIgual 3.0 Espanya. S'hi han actualitzat noms de menús i s'ha reduït l'abast als continguts rellevants per al mòdul.
1. On capturar el trànsit
Un switch aïlla el trànsit en dominis de col·lisió separats: si connectem Wireshark directament a un port, només veurem el trànsit adreçat a la nostra pròpia màquina i les difusions broadcast. Per capturar el trànsit d'altres equips cal recórrer a una d'aquestes tècniques:
| Mètode | Idea | Quan usar-lo |
|---|---|---|
| Hub | Mitjà compartit: tot el trànsit connectat al hub és visible per a tothom. | Entorns de laboratori senzills. |
| Port Mirroring / SPAN (o VACL) | El switch duplica el trànsit d'un o diversos ports cap al port on hi ha Wireshark. | La millor opció si es té accés d'administració al switch. |
| Mode Bridge | Un equip amb dues targetes de xarxa es col·loca físicament entre el switch i l'objectiu (MitM a nivell físic). | Quan no hi ha accés al switch però sí accés físic al cablatge. |
| ARP Spoof | S'enverina la memòria cau ARP de les víctimes perquè envien el trànsit a través del nostre equip. | Últim recurs: és una tècnica intrusiva, només en entorns no crítics i autoritzats. |
| Remote Packet Capture (RPCAP) | Un dimoni (rpcapd, inclòs amb WinPcap/Npcap) al servidor remot exposa la captura a un client Wireshark. |
Quan es pot instal·lar programari a l'equip a monitoritzar però no es té accés físic. |

2. La interfície de Wireshark
En iniciar una captura (Capture › Interfaces, seleccionant la interfície corresponent), la finestra es divideix en quatre àrees:

- Barra de filtres: on s'escriuen els filtres de visualització.
- Llista de paquets: cada fila és un paquet capturat, amb origen, destí, protocol i informació resumida.
- Detall de capçaleres: desglossa per capes el paquet seleccionat a la zona 2.
- Volcat hexadecimal: el paquet tal com s'ha transmès per la xarxa, en cru.
La captura de l'exemple anterior ja mostra, de fet, un indici d'atac: una quantitat anormal de trànsit ARP és un símptoma típic d'un ARP Spoof en curs (un equip preguntant repetidament per la MAC del gateway i del servidor per, tot seguit, enviar respostes ARP falses associant totes dues IPs a la seva pròpia MAC).
3. Filtres de captura i de visualització
Wireshark distingeix dos tipus de filtres:
- Filtres de captura: es defineixen abans de començar a capturar i s'apliquen amb la sintaxi de
libpcap(la mateixa quetcpdump), de manera que només s'emmagatzemen els paquets que hi coincideixen. - Filtres de visualització: s'apliquen després de capturar, sobre paquets ja emmagatzemats, amb la sintaxi pròpia de Wireshark (molt més expressiva). Els botons Filter i Expression, al costat de la barra de filtres, ajuden a construir-los sense conèixer tota la sintaxi de memòria.
Alguns exemples útils de filtres de visualització:
# Concessions DHCP ACK d'un servidor concret que no siguin el gateway/DNS legítims
bootp.option.value == 05 && (frame[309:6] != 03:04:c0:a8:fe:fe || frame[315:6] == 06:04:c0:a8:fe:d3)
# Missatges d'error ICMP típics d'atacs de tall de connexió
(icmp.type == 3 && icmp.code == 2) || (icmp.type == 4 && icmp.code == 0)
# Amagar retransmissions i ACKs duplicats per netejar la captura
not tcp.analysis.duplicate_ack and not tcp.analysis.retransmission
# Cercar contrasenyes viatjant en text clar
(pop contains "PASS") || (http contains "password")
# Peticions HTTP que continguin "login" seguit en algun moment de "=user"
http.request.uri matches "login.*=user"
# Cookies de sessió sense xifrar en trànsit HTTP cap a un domini concret
http.cookie and http.host contains "twitter"
# Classificar objectes descarregats per HTTP segons el seu tipus de contingut
http.content_type
Operadors útils
contains cerca una cadena literal dins d'un protocol o trama (frame contains "cmd"); matches admet expressions regulars (PCRE), útils per a cerques més flexibles com login.*=user.
4. Atac DHCP: reconèixer-lo amb Wireshark
El protocol DHCP no incorpora cap mecanisme d'autenticació, de manera que res impedeix que un atacant respongui a peticions DHCPDISCOVER amb ofertes falses (vegeu els detalls de l'atac a Ciberseguretat DHCP § Rogue DHCP Server). Wireshark permet detectar-ho de dues maneres complementàries:
a) Filtrant les respostes DHCPACK que no provenen del gateway/DNS legítims (vegeu el filtre bootp.option.value == 05... de l'apartat anterior). En una xarxa compromesa, el resultat mostra ofertes acceptades des d'una IP diferent de la del servidor autoritzat:

b) Detectant DHCP Exhaustion (esgotament del pool): un flood de DHCPDISCOVER amb MACs origen aleatòries per esgotar totes les adreces disponibles es reconeix de seguida per l'elevadíssima freqüència de paquets DHCP Discover en un interval molt curt:

AC0375/02/06 — Miniactivitat
RA2 · CA2g, RA sobre ciberseguretat
Genera (en un entorn de laboratori controlat) trànsit DHCPDISCOVER amb el teu servidor DHCP en marxa i captura'l amb Wireshark. Aplica el filtre de l'apartat 3 i documenta, amb captures de pantalla pròpies, què esperaries veure en cas d'un DHCP Exhaustion real.
5. Follow TCP Stream
Una de les funcionalitats més útils per depurar una connexió o analitzar programari maliciós és reconstruir tot el flux d'una sessió TCP: seleccioneu un paquet de la sessió, botó dret i Follow › TCP Stream. Wireshark obre una finestra amb el contingut complet de la conversa, distingint per colors cada sentit de la comunicació, i permet representar-la en ASCII, Hex Dump, C Arrays o Raw.

Aquesta eina és especialment útil per a l'anàlisi de malware: des de File › Export Objects › HTTP es pot llistar i descarregar tot allò que s'ha transferit per HTTP durant la captura (útil per aïllar un fitxer sospitós i analitzar-lo, per exemple, amb VirusTotal) — sense obrir-lo mai directament a l'equip de treball.
6. Expert Infos
Analyze › Expert Info (o el cercle de color a la part inferior esquerra de la finestra) obre un registre d'anomalies que Wireshark detecta automàticament, molt útil en captures grans on no se sap exactament què es busca. Cada entrada té una criticitat:
| Nivell | Color | Significat |
|---|---|---|
| Chat | Gris | Informació normal (p. ex. un segment TCP amb el flag SYN). |
| Note | Cian | Situació destacable però no necessàriament greu (p. ex. un HTTP 404). |
| Warning | Groc | Requereix atenció: pot ser un intent d'atac. |
| Error | Vermell | Problema greu, com paquets mal formats. |
Una llista buida no vol dir que tot vagi bé
Expert Infos és una eina de suport, no un substitut de l'anàlisi manual: la quantitat d'informació que mostra depèn molt del protocol (TCP/IP en dona molta; d'altres, gairebé cap).
7. Gràfics per interpretar el rendiment
-
Statistics › Flow Graph: representa gràficament, amb fletxes, l'origen i el destí de cada paquet d'una conversa. És l'eina ideal per detectar visualment un atac DDoS/SYN Flood: es veu de seguida un allau de segments
SYNdes d'una mateixa IP sense resposta del servidor.
-
Statistics › TCP Stream Graph › Time-Sequence (Stevens): relaciona temps i número de seqüència d'una sessió TCP. En una connexió sana la línia creix de manera constant; els talls o salts solen indicar retransmissions per segments perduts.
- Statistics › I/O Graph: permet comparar diversos filtres alhora (per exemple, trànsit SMB, broadcast i el trànsit total d'un servidor) en una mateixa gràfica per veure'n la proporció.
- Statistics › Protocol Hierarchy: dona un resum percentual de l'ús de cada protocol dins la captura.
8. Altres atacs habituals a xarxes d'àrea local
Aquesta taula resumeix, a mode de referència ràpida, com es reconeixen a Wireshark els atacs de capa 2/3 més freqüents (a banda del DHCP, ja tractat a l'apartat 4):
| Atac | Símptoma a Wireshark | Mitigació |
|---|---|---|
| ARP Spoof | Gran quantitat de trànsit ARP; una mateixa MAC responent per múltiples IPs (gateway i víctima). | Dynamic ARP Inspection (DAI), eines com Arpwatch. |
| Port Flooding (CAM overflow) | Multitud de trames amb adreces MAC origen aleatòries i sovint "malformades" (eines com Macof no respecten l'especificació TCP). | Port Security (límit de MACs per port). |
| DDoS / SYN Flood | Allau de segments TCP amb el flag SYN actiu des d'una mateixa IP, sense resposta del servidor. | tcp_syncookies, hashlimit a iptables, mitigació a nivell d'ISP. |
| VLAN Hopping (doble etiquetat) | Trames amb dues capçaleres VLAN (doble encapçalament 802.1Q) capturades a la VLAN de l'atacant. | Configurar la VLAN nativa dels ports trunk diferent de la dels ports d'accés. |
9. Eines externes complementàries
Quan el volum de trànsit és massa gran per a una anàlisi manual, Wireshark es pot combinar amb:
- Snort: IDS basat en signatures. Es pot executar sobre un fitxer
.pcapja capturat (snort -r captura.pcap -c snort.conf -A console) per generar alertes que orientin després l'anàlisi manual a Wireshark. - Scripts a mida (Python, per exemple amb Scapy): útils per a tasques molt concretes, com localitzar patrons d'injecció SQL en peticions GET/POST capturades.
- P0f: fingerprinting passiu del sistema operatiu a partir d'una captura, útil per identificar escanejos (p. ex. amb Nmap).
- Xplico / NetworkMiner: reconstrueixen sessions completes (trucades VoIP, correus, fitxers descarregats) a partir d'un
.pcapmassiu.
Referències
- Documentació oficial de Wireshark
- Wireshark Display Filter Reference
- RFC 2131 — Dynamic Host Configuration Protocol
- Guia original: "Análisis de tráfico con Wireshark", INTECO-CERT (Borja Merino Febrero, 2011) — llicència CC BY-NC-SA 3.0 ES