포트 8080에서 수신 대기중인 알 수없는 프로세스 표시하지 않습니다 $ netstat -n

문제 : 포트 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

그러면 포트가 해제됩니다.

이 프로세스가 원사와 연결되어 있다고 생각하지만 원사를 제거해도 자동으로 해결되지 않았습니다.


답변