Un escritor de XDA esta semana argumentó a favor de omitir Wireshark en Windows 11 y comenzar con pktmon, el monitor de paquetes integrado. Ese enfoque coincide con una realidad más amplia con la que viven la mayoría de los operadores: el equipo que necesitamos inspeccionar rara vez es el equipo en el que estamos sentados. Podría ser un contenedor Docker, un VPS no administrado, una Raspberry Pi en un armario o un router OPNsense con solo SSH abierto. Ese es el problema de captura sin interfaz gráfica, y la interfaz gráfica de Wireshark no es la respuesta. Lo que necesitamos es una CLI que funcione a través de SSH, escriba un pcap rotatorio sin supervisión y lea filtros BPF de la misma manera que lo hace el motor de captura de Wireshark. Probamos siete herramientas que hacen exactamente eso, en hosts Windows y Linux, y las clasificamos por fortaleza.
Qué buscar en una herramienta de captura de paquetes sin interfaz gráfica
Una captura remota tiene restricciones diferentes a una de escritorio. Seis cosas marcan la diferencia:
- Soporte de filtros BPF. La misma sintaxis
tcp port 443 and host 10.0.0.1debe funcionar; un filtro que falla en la captura no se puede recuperar después. - Binario pequeño, pocas dependencias. Las imágenes Alpine y Debian reducidas no deben requerir X11 solo para grabar tráfico.
- Rotación y escritura a pcap. Las capturas nocturnas llenan discos; un búfer circular a través de
-C,-Go una bandera equivalente es más importante que cualquier característica de GUI. - Operación sin root cuando sea posible.
setcap cap_net_rawnos permite descartar root en cuadros compartidos. - Salida consciente del protocolo. Cuando la respuesta es “¿es esa solicitud DNS malformada”, una línea decodificada vence un volcado hexadecimal.
- Compatible con SSH. Salida segura de TTY, sin bloqueos ncurses, sin suposiciones sobre una terminal de 200 columnas.
Ese es el checklist. Ahora las herramientas.
Comparación rápida
| Herramienta | Mejor para | Plataformas | Plan gratuito | Precio inicial/mes | Calificación |
|---|---|---|---|---|---|
| TShark | Disectores completos de Wireshark en la línea de comandos | Windows, macOS, Linux | Sí | Gratuito | 5/5 |
| tcpdump | Capturas sin interfaz gráfica ubicuas en Linux y BSD | Linux, macOS, BSD | Sí | Gratuito | 5/5 |
| pktmon | Capturas de Windows sin instalar nada | Windows 10, 11, Server 2019+ | Sí | Gratuito | 4/5 |
| tcpflow | Reconstrucción de flujos TCP en archivos | Linux, macOS | Sí | Gratuito | 4/5 |
| ngrep | Coincidencia de patrones estilo grep sobre el alambre | Linux, macOS, Windows | Sí | Gratuito | 4/5 |
| Zeek | Convirtiendo paquetes en registros buscables | Linux, macOS, BSD | Sí | Gratuito | 4.5/5 |
| Termshark | Interfaz gráfica de Wireshark dentro de una sesión SSH | Linux, macOS, Windows, BSD | Sí | Gratuito | 4/5 |
Las herramientas
1. TShark, para disectores completos de Wireshark en la línea de comandos
TShark se envía con Wireshark y ejecuta el motor disector exacto, menos la GUI. Cada protocolo que Wireshark decodifica, TShark lo decodifica en stdout, y cada filtro de pantalla que conocemos de Wireshark funciona textualmente (-Y "http.request.method == POST"). Apúntalo a una interfaz con -i eth0, agrega -w capture.pcap para escribir, agrega -b duration:600 -b files:24 para rotar cada hora durante un día completo, y tenemos captura y análisis desatendidos en un binario.
Dónde falla: en Windows necesita la instalación completa de Wireshark para recoger Npcap; en imágenes Linux reducidas extrae las bibliotecas disector, que no son pequeñas. La descifración TLS en directo aún necesita un archivo keylog, igual que la GUI.
Precio: Gratuito, código abierto, GPLv2.
Plataformas: Windows, macOS, la mayoría de distribuciones Linux, BSD.
Descargar: Fundación Wireshark
Conclusión: el valor predeterminado cuando queremos el cerebro de Wireshark sin la ventana de Wireshark.
2. tcpdump, para capturas sin interfaz gráfica en Linux y BSD
tcpdump es la herramienta que ya tiene todo host Unix, o está a un paquete de distancia de tener. tcpdump -i eth0 -w /var/log/capture.pcap -G 3600 -C 200 'tcp port 443' registra en un pcap rotatorio que podemos descargar más tarde y abrir en Wireshark, TShark o cualquiera de las herramientas siguientes. Su sintaxis de filtro BPF coincide exactamente con los filtros de captura de Wireshark, y el binario pesa menos de 2 MB en la mayoría de las distribuciones.
Dónde falla: sin filtros de pantalla, sin decodificación de protocolo más allá del modo -vvv integrado. En macOS Big Sur y posterior, algunas interfaces están bloqueadas sin permisos adicionales.
Precio: Gratuito, código abierto, BSD de 3 cláusulas.
Plataformas: Linux, macOS, FreeBSD, OpenBSD, NetBSD.
Descargar: Grupo Tcpdump
Conclusión: la respuesta refleja en cualquier cuadro Unix que funcione sin interfaz gráfica.
3. pktmon, para capturas de Windows sin instalar nada
pktmon es el Packet Monitor que Microsoft envía con Windows 10, Windows 11 y Windows Server 2019 y posterior. pktmon start --capture --pkt-type all --file-size 200 registra en un archivo ETL que convertimos con pktmon pcapng (o, en compilaciones anteriores, pktmon etl2txt) y abrimos en Wireshark o TShark en otro lugar. Para un cuadro Server Core, o una computadora portátil endurecida donde instalar un sniffer es un tiquete de cambio, pktmon realiza la captura con herramientas ya en el disco.
Dónde falla: la CLI es verbosa, su sintaxis de filtro usa ID de componentes en lugar de BPF, y el paso ETL-a-pcap es un movimiento adicional que nos vincula a una máquina Windows para la conversión.
Precio: Gratuito, se envía con Windows.
Plataformas: Windows 10, Windows 11, Windows Server 2019+.
Descargar: Microsoft Learn
Conclusión: la respuesta cuando el host es Windows y tocar el inventario de software no es.
4. tcpflow, para reconstrucción de flujos TCP en archivos
tcpflow captura tráfico en directo (o lee un pcap) y escribe cada flujo TCP reconstruido en su propio archivo, una dirección por archivo. A menudo es lo que realmente queremos cuando la pregunta es “¿qué envió este cliente a ese servidor” y navegar por paquetes en Wireshark es la altitud incorrecta. Se envía en Debian, Ubuntu, Fedora y Homebrew, y su lenguaje de filtro es BPF puro.
Dónde falla: UDP es un ciudadano de segunda clase; TLS y otros flujos cifrados volcan ciphertext igual que tcpdump. Los archivos reconstruidos también crecen rápidamente en capturas largas.
Precio: Gratuito, código abierto, GPLv3.
Plataformas: Linux, macOS.
Descargar: Simson Garfinkel en GitHub
Conclusión: la opción cuando el entregable es “el cuerpo HTTP”, no “el seguimiento de paquetes”.
5. ngrep, para coincidencia de patrones estilo grep sobre el alambre
ngrep aporta un patrón de estilo POSIX familiar al tráfico en directo y a archivos pcap. ngrep -q -W byline -d eth0 'GET|POST' 'tcp port 80' imprime solo paquetes cuya carga coincide con la regex, con el filtro BPF circundante estrechando el lado de la interfaz. Para preguntas rápidas como “¿envía el cliente el encabezado Host incorrecto” o “¿contiene la respuesta esa cadena de error”, ngrep supera la gimnasia de filtros de pantalla.
Dónde falla: no entiende TLS o encuadre HTTP/2, por lo que todo lo cifrado vuelve como ruido. Su ciclo de lanzamiento se ha ralentizado, y aunque la mayoría de las distribuciones todavía lo empaquetan, algunas no.
Precio: Gratuito, código abierto, BSD revisado.
Plataformas: Linux, macOS, Windows a través de WSL.
Descargar: ngrep en GitHub
Conclusión: el que hay que alcanzar cuando nuestro primer instinto es grep.
6. Zeek, para convertir paquetes en registros buscables
Zeek, anteriormente Bro, se sitúa entre captura sin procesar y un IDS completo. En lugar de pcap, escribe registros estructurados por protocolo (conn.log, dns.log, http.log, ssl.log, x509.log y docenas más) que podemos grep, enviar a Splunk o Loki, o alimentar a un SIEM. En un laboratorio casero o un router con un puerto espejo, Zeek nos da semanas de datos de comportamiento en un volumen que pcap no podría tocar.
Dónde falla: no es una instalación de cinco minutos; espere un paso de compilación o un paquete de distro más un pase de configuración ligero. La curva de aprendizaje es real, y el valor aparece el segundo día, no el día cero.
Precio: Gratuito, código abierto, BSD revisado.
Plataformas: Linux, macOS, FreeBSD.
Descargar: Proyecto Zeek
Conclusión: la opción cuando queremos responder preguntas semanas después, no mirar paquetes hoy.
7. Termshark, para la interfaz gráfica de Wireshark dentro de una sesión SSH
Termshark es un front-end de terminal para TShark. Abre un pcap o conéctate a una interfaz en directo y obtenemos una lista de paquetes familiar, árbol de protocolos y panel hex, todo renderizado en la terminal ya abierta. Funciona sobre SSH, sobre tmux, sobre una consola serial en una VM sin interfaz gráfica, donde sea que TTY sea todo lo que tenemos.
Dónde falla: a 80 columnas, el diseño se vuelve estrecho, y las capturas en directo en enlaces con velocidad de paquete muy alta pueden quedar rezagadas en la UI. Es un visor, no un reemplazo para la colección programada.
Precio: Gratuito, código abierto, MIT.
Plataformas: Linux, macOS, Windows, FreeBSD.
Descargar: Termshark
Conclusión: lo más cercano que llegamos a Wireshark en un cuadro que nunca tendrá pantalla.
Cómo elegir
- Si el host es un cuadro Windows moderno que no poseemos: pktmon. Nada que instalar, nada que explicar a seguridad.
- Si el host es Linux o BSD y lo poseemos: tcpdump para captura, TShark para análisis en nuestra propia estación de trabajo.
- Si la captura tiene que suceder dentro de un contenedor o una imagen Alpine: tcpdump, o un complemento TShark delgado. tcpflow cuando los flujos TCP son el entregable real.
- Si necesitamos una vista en forma de Wireshark pero solo tenemos SSH: Termshark. Es la forma más rápida de obtener una interfaz familiar en una máquina ajena.
- Si la pregunta es “¿contiene algún paquete la cadena X”: ngrep. Indique el patrón, obtenga los paquetes.
- Si nos importa el comportamiento durante semanas, no los últimos cinco minutos: Zeek. Convierte la red en un conjunto de datos consultable.
- Si estamos haciendo análisis forense en un pcap capturado por otra persona: TShark en la línea de comandos, tcpflow cuando los artefactos importan más que el orden del cable.
Preguntas frecuentes
¿Cuál es la mejor herramienta de captura de paquetes sin interfaz gráfica para un servidor Windows?
pktmon en Windows Server 2019 y posterior. Se envía con el SO, captura en la capa ETW, se rotea por sí solo y genera pcapng directamente en compilaciones actuales. Cuando necesitamos los disectores de Wireshark, convertimos el archivo y lo abrimos en TShark en una estación de trabajo.
¿Podemos ejecutar TShark o tcpdump sin root?
Sí en Linux, con setcap cap_net_raw,cap_net_admin+eip en el binario. Eso otorga privilegios de captura a un ejecutable específico sin darle al llamador root completo. En BSD, agregue el usuario al grupo que posee los dispositivos bpf. En Windows, TShark necesita Administrador para hablar con Npcap.
¿Cómo rotamos capturas para que una sesión de larga duración no llene el disco?
tcpdump usa -G <seconds> para rotación basada en tiempo y -C <MB> para basada en tamaño, combinada con -W <count> para limitar cuántos archivos se conservan. TShark expone lo mismo a través de -b duration: y -b filesize:. pktmon se limita con --file-size y su modo de registro circular. Zeek rota sus registros en un horario fijo por sí solo.
¿Es el lenguaje de filtro de pantalla de Wireshark el mismo que la sintaxis de tcpdump?
No. El filtro de captura de tcpdump y TShark (-f) usa sintaxis BPF (tcp port 443 and host 10.0.0.1). El filtro de pantalla de Wireshark y TShark (-Y) es un lenguaje diferente (tcp.port == 443 && ip.addr == 10.0.0.1). Ambos valen la pena aprender; el filtro del lado de la captura se ejecuta a velocidad del kernel, el del lado de la pantalla se ejecuta sobre paquetes ya capturados.
¿Puede pktmon reemplazar completamente a Wireshark?
No. pktmon es una herramienta de captura, no un analizador. Registra en ETL, convierte a pcapng en compilaciones más nuevas, y se detiene. Para decodificar protocolos de enlace TLS, flujos HTTP/2 o QUIC, todavía abrimos el pcap resultante en Wireshark o TShark. Los dos son complementos, no sustitutos.
¿Es seguro ejecutar estas herramientas en un host de producción?
Sí con el cuidado razonable. La captura de paquetes es pasiva y no modifica el tráfico, pero el costo de CPU en un enlace ocupado no es cero, y los archivos pcap pueden crecer rápidamente. Limita el disco con una política de rotación, reduce el filtro BPF para limitar la CPU y prefiere un puerto espejo o grifo a captura en línea donde el perfil de riesgo importa.