BPROT Global
2108 N ST #10529 Sacramento, CA, 95816, USA

El Berkeley Packet Filter es un lenguaje que vive en el núcleo del sistema. Su trabajo es descartar el tráfico irrelevante antes de que sature la CPU.
Un filtro se compone de identificadores acompañados de estos calificadores:
Type: ¿Qué es el ID? (host, net, port).
Dir: ¿Hacia dónde va? (src, dst).
Proto: ¿Qué protocolo usa? (tcp, udp, ip, icmp).
Ejemplos de BPF:
host 1.1.1.1 (Solo tráfico de esa IP).
src net 192.168.1.0/24 (Solo tráfico originado en esa red).
port 443 (Solo tráfico HTTPS).
Lógica: (host A or host B) and not port 22.

Mientras que BPF elige los paquetes, las flags modifican cómo tcpdump captura y muestra esos datos.
| Flag | Nombre | ¿Para qué sirve? |
-i | Interface | Elige la tarjeta de red (ej. -i eth0 o -i any). |
-n | No-resolve | Fundamental. No traduce IPs a nombres. Es mucho más rápido. |
-s 0 | Snaplen | Captura el paquete completo (sin recortes). Obligatorio para análisis profundo. |
-A | ASCII | Muestra el contenido del paquete en texto legible. Útil para HTTP/APIs. |
-X | Hex/ASCII | Muestra el contenido en Hexadecimal y Texto. Ideal para protocolos binarios. |
-v | Verbose | Muestra detalles técnicos extra (TTL, Flags TCP, ID de IP). |
-w | Write | Guarda la captura en un archivo .pcap para abrirlo en Wireshark. |
-r | Read | Lee un archivo .pcap capturado previamente. |
Aquí es donde ocurre la magia. Así es como se ve un comando profesional en la terminal:

A. Diagnóstico de tráfico Web en tiempo real
tcpdump -ni eth0 -s 0 -A port 80
Explicación: «Escucha en eth0 (-i), no resuelvas nombres (-n), captura el paquete entero (-s 0), muéstramelo en texto plano (-A) y solo si es del puerto 80 (port 80)».

B. Captura silenciosa para analizar en Wireshark
tcpdump -ni any -s 0 -w captura_red.pcap host 10.0.0.50
Explicación: «Escucha en todas las interfaces, no resuelvas nombres, captura todo el paquete y guárdalo en un archivo (-w) filtrando solo lo que toque a la IP 10.0.0.50″.

C. «Cirugía» de red: Ver solo inicios de conexión (SYN)
tcpdump -nn 'tcp[tcpflags] & (tcp-syn) != 0'
Explicación: Usa BPF avanzado para mirar dentro del byte de las banderas TCP y mostrar solo los intentos de conexión nueva.
Si el tráfico es muy pesado, usa siempre -n y -nn. Si no lo haces, el motor intentará preguntar al servidor DNS por cada IP que vea, generando más tráfico de red y haciendo que la pantalla se congele o vaya con lag.