Problem: coś nasłuchuje na porcie 8080
- Jeśli załaduję stronę za pomocą Safari, otrzymam pustą stronę (strona jest biała, ale „Opracuj → Pokaż źródło strony” jest wyszarzone)
Jeśli telnet do portu 8080 dostanie odpowiedź
$ telnet 127.0.0.1 8080 Trying 127.0.0.1... Connected to localhost (127.0.0.1). Escape character is '^]'.
Ale
lsof
nie pokazuje żadnego procesu nasłuchującego na porcie 8080$ sudo lsof -iTCP -sTCP:LISTEN -P -n | grep 8080 $
netstat
nie pokazuje żadnego procesu korzystającego z portu 8080$ netstat -n | grep 8080 $
Mogę otworzyć program 8080 programowo (np. Z serwerem WWW) bez żadnego błędu dotyczącego używania portu
nmap
nie wyświetla użytego portusudo 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
To samo dzieje się w przypadku portu 80, ale nie dotyczy innych portów (np. 81 lub 8081).
Pytanie Który proces odpowiada na te porty, gdy żaden inny proces ich nie otwiera? Jaki jest cel tego zachowania?
Edytować
jeśli otworzę port za pomocą programu, można go normalnie użyć. Po zamknięciu portu pojawia się ponownie dziwne zachowanie. Przykład:
- dostęp do portu 8080 zapewnia połączenie z nieznanym procesem
- Otwieram port za pomocą tomcat
- dostęp do portu 8080 przechodzi do tomcat i wszystko jest w porządku
- Zamykam port (zakończ tomcat)
- port jest wymieniony jako nieużywany (patrz wyżej)
- dostęp do portu 8080 zapewnia połączenie z nieznanym procesem
reguły zapory pokazują, że port nie jest zablokowany
$ 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
Edytuj 2
- program nasłuchujący nie jest serwerem HTTP (tzn. nie reaguje na
GET index.html HTTP/1.0
żądanie)