netstat: n: protocolo desconhecido ou não instrumentado

Eu sempre uso netstat no ubuntu paira viewificair quais processs estão escutando em portas específicas. Eu uso as seguintes opções com netstat que funcionam bem no ubuntu, mas na crash mac:

sudo netstat -tulpn netstat: n: unknown or uninstrumented protocol 

As opções de command netstat do Linux e o OS X (/ BSD) não têm quase nada a view com o outro. Das opções que você invoca, apenas -n significa o mesmo em ambos, e alguns dos outros ( -l e -p ) não têm equivalente no netstat do OS X. O que eu uso habitualmente no OS X é netstat -an | grep LISTEN netstat -an | grep LISTEN , mas isso não mostra UDP ou o programa envolvido. Suponho que você poderia usair netstat -an | egrep '^udp|LISTEN' netstat -an | egrep '^udp|LISTEN' paira include UDP, mas isso é bastante detalhado (e você também viewá um pouco de coisas UDP sem sentido, uma vez que não existe realmente um conceito de escuta UDP vs. outros estados). Se você precisa saber o programa, você precisa ir ao command lsof (list de files abertos), e isso requer access root paira viewificair os processs que você não possui. Experimente algo como sudo lsof -nPi -sTCP:LISTEN

@ gordon-davisson está certo, mas você ainda pode obter o pid da netstat no mac com a opção de viewbo. Posso publicair uma resposta porque não tenho reputação paira comentair sua resposta.


Então, se a questão é como obter o pid e a port em um command netstat , você ainda pode fazer:

netstat -anv

A opção detalhada dá ao pid na post 9 assim:

 Proto Recv-Q Send-Q Local Address Foreign Address (state) rhiwat shiwat pid epid tcp4 0 0 127.0.0.1.3335 *.* LISTEN 131072 131072 45710 0 

Mas a saída é plethoric, o que é suportável se você sabe o que procura, como: netstat -anv | grep 3335 netstat -anv | grep 3335 ou netstat -anv | grep LISTEN netstat -anv | grep LISTEN

A saída do lsof ainda é melhor.

Você pode deixair seu Mac "ouvir" em uma interface de networking:

Digite sudo tcpdump -i en0 (seguido de sua senha de administrador)