lsof e portas de escuta

45

Estou tentando obter todos os processos para uma conexão de rede no Mac OS X. netstat não tem a opção -p e estou tentando com o lsof

lsof -i -sTCP:LISTEN

me dá uma lista justa de processos de escuta, mas não todos. Eu posso, por exemplo, telnet para a porta 10080, onde eu tenho um processo de escuta de uma conexão, mas isso não é mostrado na saída de lsof . O que estou perdendo?

$ telnet localhost 10080
Trying ::1...
Connected to localhost.
Escape character is '^]'.
^]
telnet> Connection closed.

mas

$ sudo lsof -n -i | grep 10080
$
    
por Matteo 15.12.2011 / 12:19

2 respostas

61
sudo lsof -iTCP -sTCP:LISTEN
sudo lsof -iTCP -sTCP:LISTEN -P
sudo lsof -iTCP -sTCP:LISTEN -P -n
sudo lsof -iTCP -sTCP:LISTEN -n

Todos retornam as mesmas 32 entradas ( ... | wc -l ) no meu Lion MBP altamente usado.

-P -n impede que lsof faça a resolução de nomes e não bloqueia. Faltando qualquer um desses, pode ser muito lento.

Para UDP: sudo lsof -iUDP -P -n | egrep -v '(127|::1)' . Sem -n e -P , demora muito tempo.

Lembrete: isso não inclui as configurações do firewall.

    
por 29.12.2011 / 06:25
-1
  1. Primeiro, descubra o Id do Processo (pid) que ocupou a porta necessária (por exemplo, 5434):

    ps aux | grep 5434
    
  2. Mate esse processo:

    kill -9 <pid>
    
por 31.07.2015 / 13:58

Tags