Si eres administrador de redes y trabajas con Fortinet, el comando diagnose sniffer packet es tu mejor amigo. Es la herramienta de línea de comandos (CLI) que te permite capturar y analizar el tráfico que atraviesa el firewall en tiempo real, sin necesidad de instalar software externo.
En este artículo, desglosamos desde la sintaxis básica hasta los escenarios de troubleshooting más complejos.
1. La Sintaxis y sus Parámetros
El comando sigue una estructura lógica que debes conocer para no perderte en un mar de datos:
diagnose sniffer packet <interface> '<filter>' <level> <count> <tsformat>
Desglose de Parámetros:
- Interface: Nombre de la interfaz (ej.
port1,internal,wan1). Si ponesany, verás el tráfico en todas las interfaces, ideal para ver cómo un paquete «atraviesa» el equipo. - Filter: Expresiones de filtrado (IPs, puertos, protocolos). Debe ir entre comillas simples
' '. - Level (Verbosity): El grado de detalle de la captura (del 1 al 6).
- Count: Número de paquetes a capturar. Si pones
0, capturará hasta que pulsesCtrl+C. - tsformat: Formato de la hora.
apara hora absoluta (UTC) olpara hora local del sistema.
2. El Corazón del Sniffer: Niveles de Verbosity (Detalle)
Elegir el nivel de detalle adecuado es la diferencia entre solucionar un problema en 5 minutos o perderse en código hexadecimal.
| Nivel | Cabecera IP | Payload (Hex) | Cabecera Ethernet (MAC) | Interfaz (In/Out) |
| 1 | ✅ | ❌ | ❌ | ❌ |
| 2 | ✅ | ✅ | ❌ | ❌ |
| 3 | ✅ | ✅ | ✅ | ❌ |
| 4 | ✅ | ❌ | ❌ | ✅ |
| 5 | ✅ | ✅ | ❌ | ✅ |
| 6 | ✅ | ✅ | ✅ | ✅ |
¿Cuál elegir según el caso?
- Nivel 1: Para confirmar si hay tráfico básico (ej. «llegan los paquetes, sí o no»).
- Nivel 4 (Recomendado): Es el más útil para el día a día. Te dice por qué interfaz entra el paquete y por cuál sale. Si ves que entra por la LAN pero no sale por la WAN, ya sabes que el problema está en el Firewall (políticas o NAT).
- Nivel 3 o 6: Úsalos solo si necesitas ver direcciones MAC (problemas de capa 2/ARP) o si quieres exportar el texto a un archivo
.pcappara abrirlo en Wireshark.
3. Filtros Comunes: Ejemplos de Uso Real
Los filtros utilizan una sintaxis similar a tcpdump. Aquí tienes los más utilizados:
Filtrar por IP (Host)
diagnose sniffer packet any 'host 192.168.1.100' 4 0 l
Muestra todo el tráfico que tenga esa IP como origen o destino.
Filtrar por Puerto (Servicio)
diagnose sniffer packet any 'port 443' 4 0 l
Ideal para diagnosticar problemas de navegación web SSL.
Combinar filtros (AND / OR)
diagnose sniffer packet any 'host 10.1.1.5 and port 80' 4
Solo tráfico HTTP de ese host específico.
Excluir tráfico (NOT)
diagnose sniffer packet any 'not port 22' 4
Evita ver tu propia sesión de SSH en los resultados.
4. Troubleshooting Avanzado: Escenarios Reales
A. ¿Por qué no funciona el Ping?
Usa el filtro icmp para ver si los paquetes de respuesta (Echo Reply) están volviendo:
diagnose sniffer packet any 'icmp' 4
B. Detectar retransmisiones TCP (Problemas de rendimiento)
Si buscas problemas de conexión, puedes filtrar por flags TCP:
diagnose sniffer packet any 'tcp[tcpflags] & tcp-syn != 0' 4
Esto mostrará solo los intentos de establecer conexión (paquetes SYN).
C. Análisis de VPN IPsec
Si el túnel está arriba pero no pasa tráfico, verifica si los paquetes entran en la interfaz virtual:
diagnose sniffer packet <nombre_vpn> '' 4
5. Consejos de Seguridad y Rendimiento
- Cuidado con el tráfico masivo: Nunca ejecutes un
sniffer anysin filtros en un equipo en producción con mucho tráfico. Podrías elevar la CPU al 100% y perder la gestión del equipo. - Verificación de Políticas: Si el sniffer muestra que el paquete entra (
in) pero nunca sale (out), el siguiente paso es usardiagnose debug flowpara ver qué política de seguridad específica lo está bloqueando. Aquí ya hicimos un artículo donde explicábamos su uso. - Finalización: Acostúmbrate a definir un
count(ej. 100) en lugar de 0 para que la captura se detenga sola si te olvidas de ella.
