como acompanhar o pid de um processo usando mDNSResponder?

0

Eu estou procurando o caminho certo para identificar qual pid / process pedir ao mDNSResponder para resolver a consulta de DNS.

Em outros termos, quero identificar qual processo faz o dns consultar através do mDNSResponder e de alguma forma correlacioná-lo.

Em outro termo novamente eu quero saber o pid de toda consulta de DNS feita através de mDNSResponder.

Existe uma abordagem de administrador de sistema para fazer isso ou eu tenho apenas uma maneira de programador e, portanto, preciso corrigir o mDNSResponder?

boos
fonte

Respostas:

1

Para habilitar o log mDNSResponder, execute

sudo killall -USR1 mDNSResponder  # enable Warning and Notice log level
sudo syslog -c mDNSResponder -w   # enable syslog logging for warning messages

Seguido por grep DNSServiceQueryRecord /var/log/system.log para ver todas as consultas DNS:

Aug 28 19:20:11 Fourecks.local mDNSResponder[53]:  25: DNSServiceQueryRecord(api.droplr.com., AAAA) STOP PID[18](configd)

O pid no final (18 no exemplo acima) é o pid para o configd que solicitou a resolução do endereço neste caso.

Ativar o registro gera muitas entradas system.log então é provavelmente uma boa ideia usá-lo apenas se necessário. Para desligá-lo novamente, basta executar novamente sudo killall -USR1 mDNSResponder.

nohillside
fonte
Eu sei disso, mas na mensagem de log detalhado não há o pid do processo que fez a chamada, mas apenas o ID do usuário numérico que faz isso. de qualquer forma, obrigado.
boos
Tenho certeza que há, vou verificar hoje à noite quando estou de volta para casa. Qual versão do OS X você está executando?
nohillside
Estou usando o Mac OS X 10.7.2
boos
Ah, a saída pode ser diferente lá (estou em 10.8). Como o resultado do grep na minha resposta, olhe em 10.7?
nohillside
Nenhuma informação PID! pastebin.com/pzxr5n59
boos