Невідоме прослуховування процесу в порту 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
    $
    
  • Я можу відкрити порт 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

Встановлено LittleSnitch: він не повідомив нічого про доступ до localhost: 8080.
Маттео

Відповіді:


20

Я помітив цю проблему на своєму Macbook. Я намагався використовувати порт 8080 для деяких тестувань, і я отримав помилку, що інший процес уже слухав його. Моє виклик nmapповертав різні результати залежно від того, використовував я sudoчи ні. Це для мене не мало сенсу.

Я був дуже стурбований, коли не міг зрозуміти, які процеси слухають ці порти, використовуючи sudo lsof -P -n -iTCP | grep LIST. Це змусило мене повірити, що зловмисне програмне забезпечення навмисно приховується.

Я завершив видалення файлів, /Library/LaunchDaemons/поки не звузив їх до винуватця. Програмою, відповідальною за всі ці відкриті порти, був клієнт Cisco AnyConnect Secure Mobile. На жаль, для того, щоб клієнт Cisco VPN працював, він повинен відкрити всі ці порти. Мабуть, він також відповідає за додаток до правила брандмауера, про який ви повідомили ipfw show.

Він все ще замислюється над тим, чому він не показує, який процес відповідає за відкриті порти під час використання lsof. Жодна програма не повинна мати змогу уникнути її переліку за допомогою цього методу. Можливо, причина того, що процес не буде вказаний, відповість в іншому питанні обміну ставками.


Спасибі! У мене фактично встановлено Cisco AnyConnect ... AnyConnect також встановлює розширення Kernel, що, швидше за все, є причиною неможливості бачити жоден процес.
Маттео

У мене така ж точна проблема, але з портом 80: apple.stackexchange.com/questions/99068/… . Чому Cisco не виділив інший порт ??
амфібій

У мене фактично не було встановлено клієнта Cisco, але я був раніше . Це я дізнався, відправивши запити на порт 8080, який sudo lsof -i -P | grep 8080показав, що я ifconfig | grep thatпереходжу до одного ip, якого я не впізнав, і показав, що це інтерфейс en4. Цей інтерфейс був чимось налаштований Cisco VPN, і він був там, хоча Cisco VPN вже видалено.
ейс


1

У моєму випадку я отримав це від lsof.

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

Тож після заглиблення в LaunchDaemon я знайшов ці файли та видалив їх.

com.GeneralSearchSignDaemon.plist
com.GeneralSearchSignP.plist

Тоді порт стає вільним.

Я думаю, що цей процес пов'язаний з пряжею, але він не був вирішений автоматично, навіть я видалив пряжу.


Привіт, ласкаво просимо! Що ви зробили, знайшовши файл, що порт став вільним?
ankii

Вибачте за відсутність важливої ​​інформації ;; Я її зняв. Бажаю, щоб ви вже вирішили проблему ..
nicejin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.