Je suis sur OSX Mountain Lion 10.8.3 et j'ai récemment redémarré mon Mac.
Je souhaite démarrer un service (comme Apache sur le port 80), mais il se passe déjà quelque chose avec le port 80:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Attendez, je vous entends dire, vous pouvez trouver cela avec lsof ou netstat. Sauf qu'il n'y a rien là
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
Donc, d'après ce que je sais des systèmes Unix, je suppose que cela doit alors être une règle de transmission de paquets? Par exemple, des paquets sont transférés du port entrant 80 vers un autre moyen, qui écoute sur ce service.
ipfw show
65535 0 0 allow ip from any to any
Hmm, rien d'inhabituel là
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
Rien d'inhabituel là-bas
Ma question est la suivante: comment puis-je afficher les règles de transfert de paquets? Sous Linux, je peux simplement faire iptables -L -t NAT ou iptables -L. Ou encore, des experts en OSX peuvent-ils m'aider à diagnostiquer ce problème?
lsof
grep que vous avez utilisé reviendrait vide; les numéros de port sont mappés aux /etc/services
noms. Essayez lsof -i | grep http
...
-i :port
format, mais seulement si vous utilisez grep. Ce qui sera un problème, c'est qu'il lsof
faut des privilèges root pour voir les processus des autres utilisateurs, vous devriez donc utiliser sudo lsof -i :80
(et je l'essayerais sans le grep
, histoire de m'assurer ...)
lsof -i :80
tout en restant connecté dans cette session Telnet? Et en plus d’essayer http: // localhost / , taper quelque chose à cette invite de Telnet révèle quelque chose ...? (Encore une fois, je sais: même si vous le comprenez de la sorte, ce ne serait pas la réponse à votre question ...)