OSX Mountain Lion 10.8.3を使用していますが、Macを再起動しました。
サービス(ポート80のApacheなど)を開始したいのですが、ポート80で既に何かが進行しています:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
待って、私はあなたが言うことを聞く、あなたはlsofまたはnetstatでそれを見つけることができます。そこに何もないことを除いて
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
だから私はUnixシステムについて知っていることから、これはパケット転送ルールでなければならないと思いますか?すなわち、パケットはインバウンドポート80から、そのサービスをリッスンしている他の何かに転送されています。
ipfw show
65535 0 0 allow ip from any to any
うーん、そこに異常なものは何もない
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
珍しいことはありません
私の質問は、どのようにパケット転送ルールを表示できますか?Linuxでは、iptables -L -t NATまたはiptables -Lを実行するだけです。または、OSXの専門家がこの問題の診断を手伝ってくれますか?
lsof
grepは空白に戻ります。ポート番号は/etc/services
名前にマップされます。試してみてくださいlsof -i | grep http
...
-i :port
、grep を使用する場合にのみ、形式を使用する場合は問題になりません。何が問題になることはつまり、lsof
あなたが使用する必要がありますので、他のユーザのプロセスを確認するために、ルートPRIVSを必要とするsudo lsof -i :80
(と私はせずに、それを試してみたgrep
、念のため...)
lsof -i :80
そのTelnetセッションで接続したままにしてみましたか?そして、http:// localhost /を試すこととは別に、Telnetプロンプトで何かを入力すると何かが明らかになるかもしれません...?(繰り返しますが、そのように理解しても、それはあなたの質問に対する答えではありません...)