문제 : 포트 8080에서 무언가 듣고 있습니다
- Safari로 페이지를로드하면 빈 페이지가 나타납니다 (페이지는 흰색이지만 “개발 → 페이지 소스 표시”가 회색으로 표시됨)
-
포트 8080에 텔넷으로 연결하면 응답이 있습니다
$ 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을 열 수 있습니다
-
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에 액세스하여 알 수없는 프로세스에 연결
- 바람둥이로 포트를 엽니 다
- 포트 8080에 액세스하면 바람둥이로 가고 모든 것이 정상입니다.
- 포트를 닫습니다 (톰캣 종료)
- 포트가 사용되지 않은 것으로 표시됩니다 (위 참조)
- 포트 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요청에 반응하지 않습니다)
답변
Macbook에서이 문제가 발견되었습니다. 일부 테스트에 포트 8080을 사용하려고했는데 다른 프로세스가 이미 수신하고 있다는 오류를 받았습니다. nmap사용 여부에 따라 호출 결과가 다르게 나타납니다 sudo. 이것은 나에게 이해가되지 않았다.
나는 프로세스가 무엇을 사용 하여이 포트에서 듣고 있었는지 알 수 없을 때 정말로 걱정했습니다 sudo lsof -P -n -iTCP | grep LIST. 이로 인해 악의적 인 소프트웨어가 의도적으로 숨겨져 있다고 믿게되었습니다.
파일을 /Library/LaunchDaemons/범인으로 좁힐 때까지 파일을 제거 했습니다. 이 모든 열린 포트를 담당하는 애플리케이션은 Cisco AnyConnect Secure Mobile Client였습니다. 불행히도이 Cisco VPN 클라이언트가 작동하려면 이러한 모든 포트가 열려 있어야합니다. 분명히,로보고 한 방화벽 규칙 추가에 대한 책임도 있습니다 ipfw show.
여전히 어떤 프로세스가 열린 포트를 담당하는지 보여주지 않는 이유가 여전히 마음에 들지 않습니다 lsof. 이 방법을 사용하여 응용 프로그램이 나열되는 것을 피할 수 없습니다. 아마도 프로세스가 나열되지 않은 이유는 다른 스택 교환 질문에 답변 될 것입니다.
답변
오늘 아침이 문제가 발생하여 Twitter에서 불만을 제기 했으며 최신 버전의 Any Connect에서 문제가 해결 되었다고 들었습니다 . 새 버전으로 업그레이드했는데 더 이상 포트 8080에 바인딩되는 미스테리 프로세스가 없습니다. 지금까지는 좋았습니다.
답변
제 경우에는 lsof에서 이것을 얻었습니다.
GeneralSe 57613 root 8u IPv6 0x2ffc9f7c6daebd5b 0t0 TCP *:8080 (LISTEN)
LaunchDaemon을 파고 들자이 파일들을 찾아서 삭제했습니다.
com.GeneralSearchSignDaemon.plist
com.GeneralSearchSignP.plist
그러면 포트가 해제됩니다.
이 프로세스가 원사와 연결되어 있다고 생각하지만 원사를 제거해도 자동으로 해결되지 않았습니다.