Sono su OSX Mountain Lion 10.8.3 e ho appena riavviato il mio Mac.
Voglio avviare un servizio (come Apache sulla porta 80), ma c'è già qualcosa da fare con la porta 80:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Aspetta, ti sento dire, puoi trovarlo con lsof o netstat. Tranne che non c'è niente lì
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
Quindi, da quello che so sui sistemi unix, immagino che questa debba essere una regola di inoltro di pacchetti allora? Vale a dire che i pacchetti vengono inoltrati dalla porta di ingresso 80 a qualcos'altro, che è in ascolto su quel servizio.
ipfw show
65535 0 0 allow ip from any to any
Hmm, niente di insolito lì
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
Niente di insolito lì
La mia domanda è: come posso visualizzare le regole di inoltro dei pacchetti ... Su Linux potrei semplicemente fare iptables -L -t NAT o iptables -L. O in alternativa, alcuni esperti OSX possono aiutarmi a diagnosticare questo problema?
lsof
grep che hai usato sarebbe tornato vuoto; i numeri di porta sono associati ai /etc/services
nomi. Prova lsof -i | grep http
...
-i :port
formato, solo se si grep. Quale sarà un problema è che ha lsof
bisogno dei privilegi di root per vedere i processi di altri utenti, quindi dovresti usarlo sudo lsof -i :80
(e lo proverei senza grep
, solo per essere sicuro ...)
lsof -i :80
mentre eri ancora connesso in quella sessione Telnet? E a parte provare http: // localhost / , forse digitare qualcosa al prompt di Telnet rivela qualcosa ...? (Ancora una volta, lo so: anche se lo capissi in quel modo, non sarebbe la risposta alla tua domanda ...)