Estou no OSX Mountain Lion 10.8.3 e reinicializei meu Mac recentemente.
Quero iniciar um serviço (como o Apache na porta 80), mas já existe algo acontecendo com a porta 80:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Espere, eu ouvi você dizer, você pode encontrar isso com lsof ou netstat. Exceto que não há nada lá
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
Então, pelo que sei sobre sistemas unix, acho que deve ser uma regra de encaminhamento de pacotes? Ou seja, os pacotes estão sendo encaminhados da porta de entrada 80 para outra coisa, que está escutando nesse serviço.
ipfw show
65535 0 0 allow ip from any to any
Hmm, nada de anormal lá
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
Nada incomum lá
Minha pergunta é: como posso exibir regras de encaminhamento de pacotes ... No Linux, eu posso apenas executar o iptables -L -t NAT ou o iptables -L. Ou, como alternativa, algum especialista em OSX pode me ajudar a diagnosticar esse problema?
lsof
grep que você usou retornaria em branco; números de porta são mapeados para /etc/services
nomes. Tente lsof -i | grep http
...
-i :port
formato, somente se você grep. O que vai ser um problema é que lsof
privs necessidades de raiz para ver os processos de outros usuários, então você deve usar sudo lsof -i :80
(e eu experimentá-lo sem o grep
, só para ter certeza ...)
lsof -i :80
enquanto ainda estava conectado nessa sessão Telnet? E além de tentar http: // localhost / , talvez digitar algo no prompt do Telnet revele algo ...? (Mais uma vez, eu sei: mesmo se você descobrir isso dessa forma, não seria a resposta à sua pergunta ...)