Как быстро найти, какой процесс открывает скрытый порт 5353 (mDNS) без вашего ведома

Как быстро найти, какой процесс открывает скрытый порт 5353 (mDNS) без вашего ведома

Вы сидите за компьютером, смотрите в монитор — и вдруг замечаете, что порт 5353 активен. Он не должен быть открыт. Вы ничего не запускали. Ни iTunes, ни AirPlay, ни принтеры, ни умные устройства — ничего. Но порт всё равно работает. И вы понимаете: что-то тихо, без вашего ведома, пытается общаться по mDNS. И это тревожно.

Порт 5353 — это мост для mDNS (multicast DNS). Он нужен, чтобы устройства в локальной сети находили друг друга без DNS-сервера. Например, ваш MacBook находит принтер, а iPhone — Apple TV. Но если вы не используете такие функции, а порт открыт — это красный флаг. Возможно, это вредоносное ПО, бэкдор, или просто незнакомая служба, которую вы забыли отключить.

Ваша задача — не просто закрыть порт. Ваша задача — найти, кто его открыл. И сделать это быстро. Без лишней паники. Без перезагрузки и сброса системы. Просто и точно.

Шаг 1: Проверьте, действительно ли порт открыт

Первое, что нужно сделать — убедиться, что порт 5353 действительно слушает соединения. Иногда вы видите его в мониторе сети, а на самом деле это ложное срабатывание.

Откройте терминал (macOS/Linux) или командную строку от имени администратора (Windows).

Для macOS и Linux введите:

lsof -i :5353

Для Windows:

netstat -ano | findstr :5353

Если вывод пуст — порт не открыт. Значит, это был артефакт мониторинга. Проверьте, не включён ли у вас сетевой анализатор вроде Wireshark или GlassWire — они могут показывать «попытки» как активные соединения.

Если вы видите что-то вроде:

com.apple.mDNSResponder  1234  user   12u  IPv4 0x1234567890     0t0  UDP *:5353

или

udp    0    0 0.0.0.0:5353    0.0.0.0:*    1234

— значит, процесс с PID 1234 активно слушает порт. Теперь вы знаете, что искать.

Шаг 2: Определите, что за процесс

Теперь, когда вы знаете PID (например, 1234), нужно понять, что это за программа.

На macOS и Linux:

ps -p 1234 -o pid,ppid,comm,cmd

На Windows:

tasklist /FI "PID eq 1234"

Вот что вы можете увидеть:

  • com.apple.mDNSResponder — легитимный процесс macOS. Он отвечает за AirPlay, AirPrint, обнаружение устройств в локальной сети. Если вы используете эти функции — это нормально.
  • avahi-daemon — аналог mDNS на Linux. Обычно используется в средах с принтерами, медиасерверами, умными устройствами. Если вы не настраивали сеть для автоматического обнаружения — это подозрительно.
  • skype, teams, zoom — некоторые версии этих приложений используют mDNS для поиска устройств в сети. Проверьте, не запущены ли они.
  • java, python, node — если вы видите, что Java или Node.js слушает порт 5353 — это тревожный признак. Такие процессы не должны использовать mDNS без явной причины.
  • unknown или svchost.exe с неизвестным DLL — это красный флаг. Возможно, это вредоносное ПО, маскирующееся под системный процесс.

Если вы видите что-то вроде:

svchost.exe    1234   1234   C:\Windows\System32\svchost.exe -k DcomLaunch

— это не всегда плохо. svchost.exe — системный хост для служб. Но если вы не знаете, какая именно служба внутри него использует 5353, нужно копать глубже.

Шаг 3: Узнайте, какая служба стоит за svchost.exe (Windows)

На Windows svchost.exe — это обёртка для нескольких служб. Чтобы понять, какая именно из них слушает порт 5353, выполните:

netstat -ano | findstr :5353
tasklist /FI "PID eq 1234"

Потом — найдите, какая служба работает под этим PID:

sc queryex type= service state= all | findstr "1234"

Или используйте PowerShell — он точнее:

Get-WmiObject Win32_Service | Where-Object {$_.ProcessId -eq 1234} | Select Name, DisplayName, State

Возможные виновники на Windows:

  • Function Discovery Provider Host — отвечает за обнаружение устройств. Может быть включён по умолчанию.
  • Function Discovery Resource Publication — тоже связан с обнаружением сетевых устройств.
  • SSDP Discovery — протокол UPnP. Часто работает вместе с mDNS.

Если вы не используете принтеры, медиасерверы или умные устройства — эти службы можно отключить. Но не выключайте их сразу — сначала убедитесь, что они не нужны.

Шаг 4: Сравните легитимные и подозрительные процессы

Вот что может слушать порт 5353 — и что делать с этим:

Процесс / Служба Где встречается Легитимный? Что делать
com.apple.mDNSResponder macOS Да Оставьте, если используете AirPlay, AirPrint, HomeKit. Иначе — отключите через sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
avahi-daemon Linux Да (если настроено) Проверьте, не запускали ли вы медиасервер (Plex, Jellyfin) или принтер. Если нет — sudo systemctl stop avahi-daemon && sudo systemctl disable avahi-daemon
skypeforlinux Linux/macOS/Windows Да Закройте Skype. Если не используете — удалите или отключите функцию «Обнаружение устройств» в настройках.
java -jar some-app.jar Любая ОС Нет (если не знаете, что это) Немедленно завершите процесс. Проверьте, откуда взялся .jar-файл. Сканируйте систему антивирусом.
svchost.exe (Function Discovery) Windows Да (если есть устройства) Отключите службы «Function Discovery Provider Host» и «Function Discovery Resource Publication» через services.msc, если не используете сетевые принтеры и медиасерверы.
unknown.exe Любая ОС Нет Завершите процесс. Сканируйте систему. Проверьте автозагрузку. Это почти всегда вредоносное ПО.

Если вы видите unknown.exe или java без понятного происхождения — не ждите. Это вредоносное ПО. Оно может быть встроенное в «легальные» программы (например, в пиратские версии софта), или пришло через фишинг.

Шаг 5: Что делать, если виновник — легитимный процесс?

Допустим, вы нашли com.apple.mDNSResponder — и поняли, что это macOS. Но вы не используете AirPlay, не подключаете принтеры по сети, не используете HomeKit. Зачем тогда порт открыт?

Ответ: потому что macOS включает его по умолчанию. И он не вреден. Но если вы хотите его отключить — можно.

На macOS:

  1. Откройте терминал.
  2. Введи: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
  3. Перезагрузите компьютер.

После этого порт 5353 исчезнет. Но вы потеряете:

  • Обнаружение AirPrint-принтеров
  • Подключение к Apple TV по сети
  • Доступ к HomeKit-устройствам через локальную сеть

Если вы не используете эти функции — это безопасно. Многие системные администраторы отключают mDNS на корпоративных Mac, чтобы снизить поверхность атаки.

На Linux с avahi-daemon:

  1. Остановите службу: sudo systemctl stop avahi-daemon
  2. Отключите автозапуск: sudo systemctl disable avahi-daemon
  3. Проверьте: sudo netstat -tuln | grep :5353 — ничего не должно возвращаться.

На Windows:

  1. Нажмите Win + R, введите services.msc
  2. Найдите: «Function Discovery Provider Host»
  3. Кликните правой кнопкой → «Свойства»
  4. Измените тип запуска на «Отключена»
  5. Сделайте то же самое с «Function Discovery Resource Publication» и «SSDP Discovery»
  6. Перезагрузитесь.

Частые ошибки

  • Закрываю порт — и всё. Не помогает. Процесс просто перезапустится. Нужно найти и отключить источник.
  • Удаляю всё подряд. Вы можете отключить системные службы, которые нужны для работы принтера или медиасервера. Проверяйте, что именно вы отключаете.
  • Игнорирую java/node/unknown.exe. Это самые частые векторы атаки. Если вы не знаете, что это — не ждите, пока что-то сломается. Действуйте немедленно.
  • Полагаюсь на антивирус. Многие вредоносные программы используют легитимные порты и процессы, чтобы обойти защиту. Антивирус может не увидеть, что java-процесс слушает 5353 — потому что сам java-процесс легитимен.
  • Проверяю только на локальном хосте. mDNS работает в локальной сети. Проверьте, не слушает ли порт 5353 на внешнем IP. Если да — это критическая уязвимость. Используйте: nmap -sU -p 5353 ваш_внешний_ip (если у вас есть доступ к внешнему сканированию).

Что выбрать — в зависимости от ситуации

  • Вы дома, используете AirPlay и принтеры по Wi-Fi — оставьте mDNS включённым. Просто проверьте, что это именно com.apple.mDNSResponder или avahi-daemon. Не трогайте.
  • Вы в офисе, работаете на Mac без принтеров и Apple TV — отключите mDNS. Это снизит риск несанкционированного обнаружения ваших устройств в сети.
  • Вы видите java или node.js на порту 5353 — немедленно завершите процесс. Проверьте автозагрузку. Сканируйте систему ClamAV (Linux/macOS) или Malwarebytes (Windows).
  • Вы на Linux, не настраивали сеть для устройств — отключите avahi-daemon. Это стандартная практика для серверов.
  • Вы в Windows, не используете UPnP, принтеры, медиасерверы — отключите три службы: Function Discovery Provider Host, Function Discovery Resource Publication, SSDP Discovery. Это не повлияет на работу интернета, браузера или офисных программ.

Как лучше сделать — практические рекомендации

  1. Сразу после обнаружения порта 5353 — не паникуйте. Сначала найдите PID. Без него вы ничего не сможете сделать.
  2. Проверяйте не только, что слушает порт, но и откуда запущен процесс. Путь к исполняемому файлу важнее имени. Например, /tmp/somefile — это всегда подозрительно. А /usr/bin/avahi-daemon — нормально.
  3. Проверьте автозагрузку. На macOS: launchctl list. На Windows: msconfig или taskmgr → вкладка «Автозагрузка». На Linux: systemctl list-unit-files --type=service | grep enabled.
  4. Если вы не уверены — сделайте скриншот процесса и его пути. Загрузите его в VirusTotal (для файла) или спросите в сообществе. Не удаляйте ничего, пока не уверены.
  5. Проверьте, не запущены ли у вас подозрительные программы. Особенно: пиратские версии софта, «утилиты для ускорения системы», «бесплатные VPN» — они часто вшивают mDNS-клиенты для сканирования сети.
  6. Настройте брандмауэр. Даже если вы не знаете, что за процесс — заблокируйте порт 5353 наружу. На macOS: sudo pfctl -f /etc/pf.conf (с правилом block out on en0 proto udp from any to any port 5353). На Windows: через «Брандмауэр Windows» → «Дополнительные параметры» → «Правила для исходящего трафика».

Итог: что делать прямо сейчас

Вы обнаружили порт 5353. Вот что делать:

  1. Откройте терминал / командную строку.
  2. Выполните lsof -i :5353 (macOS/Linux) или netstat -ano | findstr :5353 (Windows).
  3. Запишите PID.
  4. Выполните ps -p [PID] -o pid,comm,cmd (macOS/Linux) или tasklist /FI "PID eq [PID]" (Windows).
  5. Сравните результат с таблицей выше.
  6. Если это известный и нужный процесс — оставьте. Если неизвестный или подозрительный — завершите процесс, проверьте автозагрузку, просканируйте систему.
  7. Если вы не используете сетевые устройства — отключите mDNS-службы навсегда.
  8. Настройте брандмауэр, чтобы блокировать исходящие UDP-пакеты на порт 5353.

Порт 5353 — не вирус. Он — инструмент. Как молоток. Он может строить дом — или выбивать стекло. Ваша задача — понять, кто его держит.

Если вы сделаете эти шаги — вы не только закроете порт. Вы узнаете, кто скрывается в вашей сети. И больше не будете гадать.

Информация в этой статье носит ознакомительный характер. Если вы не уверены в действиях — обратитесь к специалисту по кибербезопасности. Неправильное отключение системных служб может нарушить работу сети или оборудования.

Оцените статью
PEFile — Безопасность и технологии простым языком