문제 : 포트 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
그러면 포트가 해제됩니다.
이 프로세스가 원사와 연결되어 있다고 생각하지만 원사를 제거해도 자동으로 해결되지 않았습니다.