未知进程在端口8080上侦听


14

问题:某些端口正在监听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
    $
    
  • 我可以通过编程方式(例如,通过Web服务器)打开端口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可提供与未知进程的连接
    • 我用tomcat打开端口
    • 访问端口8080转到tomcat,一切正常
    • 我关闭端口(退出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请求)

安装Little Snitch,然后重试步骤。我不确定它是否适用于侦听过程,也许其他人可以确认这一点。
duci9y 2012年

安装了LittleSnitch:它没有报告有关访问localhost:8080的任何信息。
Matteo

Answers:


20

我在Macbook上注意到了这个问题。我试图使用端口8080进行测试,但收到错误消息,表明另一个进程已经在监听它。我的调用nmap返回的结果取决于我是否使用过sudo。这对我来说没有意义。

当我无法弄清楚什么进程正在使用这些端口监听时,我真的很担心sudo lsof -P -n -iTCP | grep LIST。这使我相信,有恶意软件故意隐藏了自己。

我最终删除了文件,/Library/LaunchDaemons/直到将其缩小到罪魁祸首。负责所有这些打开的端口的应用程序是Cisco AnyConnect安全移动客户端。不幸的是,为了使该Cisco VPN客户端正常工作,必须打开所有这些端口。显然,它还负责与您一起报告的防火墙规则ipfw show

它仍然让我感到困惑,为什么在使用时不显示哪个进程负责打开的端口lsof。没有应用程序应该能够避免使用此方法列出。可能未列出进程的原因可能会在另一个stackexchange问​​题中得到回答。


谢谢!我实际上已经安装了Cisco AnyConnect ... AnyConnect还安装了一个内核扩展,这很可能是无法看到任何进程的原因。
Matteo

我遇到了同样的问题,但端口为80: apple.stackexchange.com/questions/99068/…。思科为什么不分配另一个端口?
2013年

我实际上没有安装Cisco客户端,但是以前曾经安装。我通过将请求发送到端口8080来sudo lsof -i -P | grep 8080发现,该请求显示为我不认识的一个ip,并ifconfig | grep that显示为接口en4。该接口是Cisco VPN设置的接口,即使已卸载Cisco VPN,也存在该接口。
eis 2015年


1

就我而言,我是从lsof获得的。

GeneralSe 57613  root  8u  IPv6 0x2ffc9f7c6daebd5b  0t0  TCP *:8080 (LISTEN)

因此,在深入研究LaunchDaemon之后,我找到了这些文件并将其删除。

com.GeneralSearchSignDaemon.plist
com.GeneralSearchSignP.plist

然后端口变为免费。

我认为此过程与Yarn有关,但是即使删除了Yarn,也无法自动解决。


你好欢迎 !找到端口变为可用的文件后,您怎么办?
ankii

抱歉,缺少重要信息;我删除了 希望您已经解决了这个问题
。.– nicejin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.