Localizar processo associado ao launchd

3

A porta TCP 5901 está aberta na minha máquina e está causando algum dano, e quero saber qual processo está abrindo. Quando eu corro lsof -i -P Eu vejo que o launchd é o processo que abriu a porta.

Existe uma maneira rápida de determinar qual arquivo plst do launchd está sendo usado para abrir essa porta? Eu prefiro não ter que passar por cada plist mencionado por lista launchctl .

tifkin
fonte

Respostas:

3

Primeiro, isso está sendo aberto pelo sistema launchd (ID do processo 1, em execução como root) ou pelo usuário launchd (em execução como usuário)? Se é o sistema iniciado, você está procurando um LaunchDaemon; se for um usuário iniciado, você está procurando um LaunchAgent.

Supondo que seja o launchd do sistema, você pode procurar pelo LaunchDaemon relevante assim:

grep 5901 {,/System}/Library/LaunchDaemons/*

(nota: se a porta 5901 estivesse listada em / etc / services, você também teria que procurar por nome e número. Mas não é, então você não precisa se preocupar com isso.)

Também é possível que seja um LaunchDaemon que foi carregado de algum outro lugar; rastrear isso seria confuso, então comece com a verificação fácil primeiro.

Gordon Davisson
fonte
Impressionante grep lá. Nice generalização em / etc / services também.
bmike
1

A porta 5901 é usada para VNC ( Compartilhamento de tela da área de trabalho remota no OS X ) e pelo design launchd lê todos os arquivos de configuração que são carregados no seu Mac e então escutam as portas em vez de iniciar o programa que eventualmente receberá comunicações naquela porta.

Neste caso, desde que você veja apenas o launchd e não um screensharingd ou ScreensharingAgent processo você pode apenas ser capaz de concluir que o launchd está escutando como um proxy para outro processo que não está sendo executado no momento (ou talvez ainda para ser executado).

Você pode testar isso desabilitando as configurações de compartilhamento de tela nas Preferências do Sistema ou desinstalando qualquer outro software de servidor VNC remoto que você tenha e, em seguida, reexaminando lsof.

bmike
fonte
Portanto, não temos nenhum software VNC que eu saiba que esteja instalado no computador. Além disso, o compartilhamento de tela e todos os serviços de gerenciamento remoto foram desativados, mas a porta ainda está aberta. Eu sei que algum processo está associado a essa porta, porque quando eu me conecto a ele através do netcat ele trava minha máquina.
tifkin
Hmm - Eu não consigo pensar em outro atalho diferente do que você quer evitar - descobrir qual plist está fazendo o launchd ouvir no 5901. Eu não tenho nenhum sistema escutando naquela porta - então espero que seja algo inocente e não malware.
bmike