Mac OS X 10.7 は localhost に ping/telnet できません

Mac OS X 10.7 は localhost に ping/telnet できません

私はMac OS X 10.7でdjango/postgresqlを使って開発していますが、突然テストサーバーにアクセスできなくなりました。http://localhost:8000/0.0.0.0:8000 で listen するようにすれば動作します...

その後、SABnzbdの起動に問題があることに気付きました。起動しようとすると、すぐに停止してしまいます。ログには次のように表示されます。

IOError: Port 8080 not bound on '127.0.0.1'

実行すると、netstat -an | grep 8080ポート 8080 で実際にリッスンしているものは何もないことがわかります。

次に、telnet と localhost への ping を試しました。どちらも機能しません。telnet を実行すると、次のメッセージが表示されます。

$ telnet localhost
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...

そしてそれはただそこにぶら下がっているだけです。

ping を実行しようとすると、次のメッセージが表示されます。

$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2

奇妙なことに、ポート 80 に telnet すると動作します。

$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.

私の/etc/hostsファイルは正常なようです:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

この問題を解決する方法はありますか? それとも、消去してやり直すのが一番簡単ですか?

答え1

現在、ほとんどのファイアウォールは ping 要求をブロックしており、私の OSX Lion インストールでもデフォルトでその動作が行われました。

ブラウズしてみてくださいhttp://ローカルホスト:80ポート 80 に接続できる場合は、そのポートで何が実行されているかを確認してください。また、共有設定も確認してください。以前は Web サイト共有機能がありましたが、それがポート 80 を使用している可能性があります。

また、localhost:8080 に telnet して、接続できるかどうかを確認してください (接続できる場合は、別のアプリがそのポートを使用しています)。

開いてみるhttp://localhost:8080ブラウザで、そのポートで実行されているプログラムを調べてみてください。

答え2

場合によっては、これはテキストエンコーディングの問題によって発生します。/etc/hosts は問題ないように見えますが、実際にはエンコーディングが間違っています。Mac OS X Mountain Lion は localhost に ping/telnet できません。間違ったパブリック IP を指定しています

関連情報