Registro de filtro de paquetes

Registro de filtro de paquetes

Estoy ejecutando OS X Mavericks y uso el firewall de "filtro de paquetes". Sin embargo, parece que "pflogd" no está disponible.

Descubrí que puedes crear una interfaz llamada pflog0 y luego usar tcpdump para ver los paquetes que pf ha descartado. Sin embargo, me gustaría tener un archivo de registro.

Mi solución fue hacer un plist de lanzamiento y crear esta interfaz al arrancar, iniciar tcpdump (como root) y registrar todo en /var/pf.log; Funciona perfectamente.

Sin embargo, estoy un poco preocupado por tener tcpdump ejecutándose todo el día en modo raíz en segundo plano, ¿debería hacerlo?

Gracias

Respuesta1

No conozco OS X Mavericks pero lo probé en OS X Mountain (no en el arranque):

Editar archivo/etc/sudoers

Agregue lo siguiente para evitar solicitar la contraseña:

youruser ALL=(ALL) NOPASSWD: /usr/sbin/tcpdump

Inicie tcpdump en segundo plano e inicie sesión para capturar el archivo (el punto principal aquí es &que hace que el comando se ejecute en segundo plano):

sudo tcpdump -i pflog0 -s 0 -B 524288 -w ~/Desktop/myfile.pcap &

Para detener tcpdump, elimínelo recuperando su ID de proceso:

ps -ef
sudo kill pid

Para abrir el archivo de captura:

tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/myfile.pcap

Respuesta2

Descubrí que tcpdump no requiere sudo cuando escucha en una interfaz (sin opciones especiales), pensé que sí...

De todos modos, puedo crear la interfaz con un script en /Library/LaunchDaemons e iniciar tcpdump con otro script en ~/Library/LaunchAgents y habilitar el registro. Todo funciona bien :)

información relacionada