問題:ポート8080で何かがリッスンしている
- Safariでページをロードすると、空白のページが表示されます(ページは白ですが、「開発→ページのソースを表示」はグレー表示されます)
ポート8080にtelnetすると、応答が返されます
$ telnet 127.0.0.1 8080 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'.
だが
lsof
ポート8080でリッスンしているプロセスは表示されません$ sudo lsof -iTCP -sTCP:LISTEN -P -n | grep 8080 $
netstat
ポート8080を使用するプロセスは表示されません$ netstat -n | grep 8080 $
ポート8080をプログラムで(たとえば、Webサーバーを使用して)開くことができます。使用中のポートに関するエラーはありません。
nmap
使用されているポートをリストしませんsudo nmap 127.0.0.1 Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-03 16:16 CEST Nmap scan report for localhost (127.0.0.1) Host is up (0.000081s latency). Not shown: 990 closed ports PORT STATE SERVICE 22/tcp open ssh 631/tcp open ipp 1023/tcp open netvenuechat 3283/tcp open netassistant 3306/tcp open mysql 3689/tcp open rendezvous 5001/tcp open commplex-link 5003/tcp open filemaker 5432/tcp open postgresql 50003/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 10.92 seconds
ポート80でも同じことが起こりますが、他のポート(81や8081など)では起こりません。
質問他のプロセスがポートを開いていないときに、どのポートがこのポートに応答していますか?この動作の目的はどれですか?
編集
プログラムでポートを開くと、ポートは通常どおり使用できます。ポートが閉じられると、奇妙な動作が再び現れます。例:
- ポート8080へのアクセスにより、未知のプロセスへの接続が提供されます
- tomcatでポートを開きます
- ポート8080へのアクセスはtomcatに行き、すべてがOKです
- ポートを閉じます(tomcatを終了します)
- ポートは未使用としてリストされます(上記を参照)
- ポート8080へのアクセスにより、未知のプロセスへの接続が提供されます
ファイアウォールルールは、ポートがブロックされていないことを示しています
$ sudo ipfw show 00001 926004 100891783 allow ip from me to any dst-port 80,8080,3128,5001,5003,443 65535 125057043 94341114828 allow ip from any to any
編集2
- リスニングプログラムがHTTPサーバーではない(つまり、
GET index.html HTTP/1.0
リクエストに反応しない)