tcpdump - Captura de paquetes
Resumen
tcpdump es la herramienta de captura de Linux que trae el BIG-IP. Sirve para ver qué pasa realmente con el tráfico: si llega el cliente, a qué miembro va, con qué IP SNAT sale, si el servidor responde, dónde aparece un reset. La captura se puede ver en pantalla o guardar en un
.pcappara abrirla en Wireshark. Es best effort: con el equipo muy cargado puede perder paquetes y además le suma carga, así que hay que filtrar bien y capturar poco tiempo.
Opciones principales
| Opción | Qué hace |
|---|---|
-i 0.0 | Todas las interfaces/VLANs |
-i external / -i internal / -i 1.1 | Una VLAN o interfaz concreta |
-i 0.0:nnn | Agrega información de TMM (VS, flujo) a cada paquete |
-i 0.0:nnnp | Además incluye el flujo del otro lado (cliente ↔ servidor) |
-w archivo.pcap | Guarda en binario para Wireshark |
-r archivo.pcap | Lee una captura |
-nn | No resuelve nombres ni puertos |
-s0 | Captura el paquete completo |
-c 1000 | Se detiene tras N paquetes |
-v / -X / -A | Más detalle / contenido en hex / en texto |
| Filtros | host 10.10.101.103, port 443, tcp, and, or, not |
Ejemplos
Ver en pantalla el tráfico de un cliente:
tcpdump -ni 0.0:nnn host 172.16.101.5
Lado servidor hacia un miembro concreto:
tcpdump -ni internal host 10.10.101.103 and port 80
Guardar ambos lados de una conversación para Wireshark:
tcpdump -ni 0.0:nnnp -s0 -w /var/tmp/caso1.pcap host 172.16.101.5
Ver solo resets y SYN:
tcpdump -ni 0.0 'tcp[tcpflags] & (tcp-rst|tcp-syn) != 0' and host 172.16.101.20
Ver ARP en la VLAN interna:
tcpdump -ni internal arp
Leer la captura:
tcpdump -nn -r /var/tmp/caso1.pcap
Copiar a tu PC:
scp root@192.168.121.11:/var/tmp/caso1.pcap .
Filtros útiles en Wireshark
| Filtro | Para |
|---|---|
http | Peticiones y respuestas HTTP |
http.response.code >= 400 | Errores HTTP |
tcp.flags.reset == 1 | Resets |
tcp.analysis.retransmission | Retransmisiones (pérdida) |
tcp.analysis.zero_window | Receptor saturado |
tls.handshake.type == 1 | ClientHello |
Limitaciones
Antes de capturar en producción
- Es best effort: con mucha carga pierde paquetes.
- Suma carga de CPU y disco: filtra, usa
-cy guarda en/var/tmp.- El tráfico acelerado por hardware (FastL4 + PVA) no pasa entero por TMM: la captura sale incompleta.
- El tráfico cifrado no se lee sin descifrar (en versiones recientes existe
--f5 sslcon la variabletcpdump.sslprovider).
Errores comunes
La captura sale vacía
- Causa: interfaz equivocada, filtro demasiado estricto o tráfico acelerado por PVA.
- Solución: prueba con
-i 0.0y un filtro más amplio.
Solo veo un lado de la conversación
- Causa: capturaste en una VLAN.
- Solución: usa
-i 0.0:nnnp.
El disco se llenó
- Causa: captura sin filtro ni límite.
- Solución: usa
-c, filtros y borra los.pcapal terminar.