Log de filtro de pacotes

Log de filtro de pacotes

Estou executando o OS X Mavericks e uso o firewall "filtro de pacotes". No entanto, parece que “pflogd” não está disponível.

Descobri que você pode criar uma interface chamada pflog0 e então usar o tcpdump para ver os pacotes que o pf descartou. No entanto, gostaria de ter um arquivo de log.

Minha solução foi fazer um launchd plist e criar essa interface na inicialização, iniciar o tcpdump (como root) e registrar tudo em /var/pf.log; funciona perfeitamente.

No entanto, estou um pouco preocupado em ter o tcpdump rodando o dia todo no modo root em segundo plano, devo?

Obrigado

Responder1

Não conheço o OS X Mavericks, mas testei-o no OS X Mountain (não na inicialização):

Editar arquivo/etc/sudoers

Adicione o seguinte para evitar a solicitação de senha:

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

Inicie o tcpdump em segundo plano e registre o arquivo de captura (o ponto principal aqui é o &que faz o comando ser executado em segundo plano):

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

Para parar o tcpdump, mate-o recuperando seu ID de processo:

ps -ef
sudo kill pid

Para abrir o arquivo de captura:

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

Responder2

Descobri que o tcpdump não requer sudo ao ouvir em uma interface (sem opções especiais), pensei que sim ...

De qualquer forma, posso simplesmente criar a interface com um script em /Library/LaunchDaemons e iniciar o tcpdump com outro script em ~/Library/LaunchAgents e ativar o log. Tudo funciona bem :)

informação relacionada