Pro бесплатно на неделю: код NETMUTE
NetMute

Two ways to get NetMute

Same app either way. Pick whichever fits how you buy.

Mac App Store

The simple route

  • Updates install themselves
  • No licence key to keep
  • Apple handles payment and refunds
Open the App Store

Direct download

Version 2.3.7 · 11 MB

  • Invoice with VAT ID, ready for expenses
  • 5- and 10-seat licences for teams
  • Unlocked with a licence key
Download the .dmg

The direct build is signed with a Developer ID and notarised by Apple. It updates itself too, and the licence key can be moved to another Mac at any time.

Что такое apsd на Mac? Объяснение демона Apple Push Notification

Почти каждый пользователь Mac, который внимательно смотрит, что его компьютер делает в сети, рано или поздно сталкивается с apsd. Он сидит в Activity Monitor с небольшим, но постоянным потоком данных, снова появляется в логах брандмауэра каждый раз, когда Wi-Fi переподключается, и по его названию ничего не понять. Такое сочетание, постоянное, необъяснимое, на уровне системы, именно и выглядит подозрительно, даже если на деле им не является. Вот что такое apsd, почему он ведет себя именно так, как проверить, что копия на вашем Mac действительно принадлежит Apple, и что на самом деле происходит, если его заблокировать.

7 минут чтенияОбновлено

Что такое apsd на самом деле

apsd это демон службы Apple Push Notification service. Это стандартная часть macOS, поставляемая и подписанная Apple, и он отвечает за поддержание соединения вашего Mac с сетью push-уведомлений Apple (APNs). Это не вредоносное ПО, не дополнительный компонент и не то, что вы устанавливали.

Его задача узкая, но важная: он держит открытым соединение с серверами push Apple, чтобы сообщения, отправленные на ваш Mac, могли приходить мгновенно, а не ждать, пока какое-то приложение проверит их. Когда инфраструктура Apple имеет что-то для вашего устройства, она передаёт это через это соединение, а apsd передает это той части системы, к которой оно относится.

Удивительно, но многое в macOS зависит именно от этого канала. iMessage и FaceTime используют его для сигнализации, чтобы сообщение или входящий вызов приходили мгновенно. Mail использует его для аккаунтов с поддержкой push-доставки. Find My зависит от него. Календарь, Контакты и Напоминания используют его, чтобы узнать, что что-то изменилось на другом устройстве. Уведомления App Store и сторонних приложений проходят через него. На Mac, подключенных к управлению мобильными устройствами, команды MDM доставляются таким же образом, поэтому apsd является обязательным в управляемых парках.

Итак, когда вы видите активный apsd в сети, вы обычно смотрите на ту самую «трубу», которая стоит за уведомлением, которое вы собирались получить, или за тихим подтверждением системы, что у неё для вас ничего нового нет.

Почему apsd всегда подключён

Причина, по которой apsd появляется в каждом сетевом мониторе, скорее архитектурная, чем случайная. Push-уведомления работают только если устройство достижимо, и способ, которым Apple делает устройство достижимым, это держать открытым одно долговременное исходящее соединение с серверами Apple и поддерживать его. Соединение остается активным, в основном бездействует, обмениваясь небольшим трафиком поддержания (keep-alive), чтобы обе стороны знали, что оно всё ещё работоспособно.

Этот дизайн специально оптимизирован. Альтернатива, когда каждое приложение, которое хочет уведомить вас, открывает собственное соединение и опрашивает обновления, означала бы десятки сокетов, десятки пробуждений и заметное снижение времени работы батареи и пропускной способности. Вместо этого существует один общий канал для всей системы, и отдельные приложения никогда напрямую не связываются со своими серверами уведомлений с вашего Mac. Они передают сообщение службе Apple, а Apple доставляет его по тому единственному соединению, которое держит apsd.

Соединение также должно восстанавливаться всякий раз, когда меняется сеть под ним. Выход из спящего режима, переключение с Wi-Fi на Ethernet, подключение к другой сети, подключение или отключение VPN, каждое из этих действий разрывает существующий сокет, и apsd сразу же устанавливает новый. Если вы наблюдаете лог соединений при перемещении между сетями, apsd будет одним из первых процессов, которые восстанавливают соединение.

Конечные точки, с которыми он взаимодействует, это хосты push и courier, управляемые Apple, а трафик APNs обычно передаётся по TCP-порту 5223, с резервными вариантами, когда этот порт недоступен в ограниченной сети. Объём данных обычно невелик: много соединений, короткие обмены, небольшой суммарный объём. Такой профиль, высокая видимость, низкий объём трафика, делает apsd заметным в инструментах мониторинга, хотя сам по себе он никогда не является «тяжёлым».

Безопасен ли apsd и как проверить его самостоятельно

apsd безопасен. Это демон Apple первого уровня, он входит в состав macOS уже много лет, и его сетевое поведение полностью объясняется его задачами. Разумная озабоченность заключается не в том, опасен ли настоящий apsd, а в том, не является ли процесс с этим именем на вашем Mac подделкой. Это честный вопрос, ведь дать вредоносному ПО скучное системное имя, старый трюк.

Это можно проверить без специальных инструментов. В Мониторе активности найдите apsd на вкладке Сеть или ЦП и откройте инспектор двойным щелчком. Настоящий демон работает от имени root, расположен внутри только для чтения системного тома, а не в вашей домашней папке, папке Программы или папке Загрузки, и запускается launchd, а не каким-либо другим приложением. Копия apsd, находящаяся где-то в вашей пользовательской папке, это аномалия, которую стоит преследовать.

Более надежная проверка, это подпись кода. Системные бинарные файлы Apple подписаны Apple, а в современных версиях macOS системный том криптографически запечатан, поэтому подделка или замена системного демона невозможна без следа. Если хотите проверить это явно, macOS поставляется с командной строкой инструментов, которая сообщает о доверенности подписи любого бинарного файла, и для apsd эта доверенность должна быть от Apple.

Также стоит помнить, чем apsd не является. Он не пересылает ваши сообщения или документы в Apple как содержимое. Канал push передает уведомления и сигналы для описанных выше служб, а для сквозных зашифрованных сервисов, таких как iMessage, он это путь доставки, а не место, где хранится читаемый контент. Постоянное подключение apsd говорит о том, что система уведомлений работает, и больше ничего.

Стоит ли блокировать apsd?

Честный ответ, нет, и стоит конкретно объяснить почему, потому что последствия для одного процесса необычайно широки.

Блокировка apsd не выборочно заглушает одно шумное приложение. Она обрывает единственный канал, через который на Mac приходят все push-уведомления. iMessage перестает показывать сообщения, пока что-то другое не заставит выполнить синхронизацию. Звонки FaceTime перестают звенеть. Find My теряет способность быстро реагировать. Почтовые учетные записи, которые зависят от push, переходят на периодическую проверку или вовсе перестают обновляться. Calendar, Contacts и Reminders перестают узнавать об изменениях на ваших других устройствах. Уведомления сторонних приложений просто не приходят. На управляемом Mac команды MDM от IT перестают доставляться, и обычно это заканчивается обращением в поддержку, а не исправлением.

Еще хуже то, что сбой выглядит неочевидно, а не явно. Нигде не появляется ошибка о том, что push заблокирован. Просто все тихо перестает приходить вовремя, и через несколько недель вы начинаете разбираться, почему сообщения приходят на iPhone, но не на Mac.

Если реальная цель, это меньше уведомлений, нужны инструменты, которые для этого и созданы. В System Settings можно отключать уведомления для каждого приложения, а режимы Focus позволяют подавлять их по контексту или расписанию, оба варианта убирают отвлечение, не ломая доставку. Если цель, это меньше фонового трафика, apsd все равно не та цель: по объему передаваемых байт это один из самых легких процессов на типичном Mac. Реальные объемы данных обычно гоняют клиенты синхронизации, агенты резервного копирования, обновляторы и приложения с аналитикой или рекламными SDK, и вот на них и стоит смотреть.

Когда apsd использует высокий CPU или сеть, и общая картина

Иногда apsd действительно ведет себя неправильно, и симптом почти всегда один и тот же: постоянная загрузка CPU и поток попыток соединения, гораздо дальше тихого шаблона keep-alive. Обычно вы видите цикл переподключения: демон пытается установить соединение, попытка не удается или обрывается, и он пробует снова, без конца.

Частые причины стоит разбирать по порядку. Самая распространенная, это нестабильная или ограничительная сеть: captive portals, корпоративные сети, которые фильтруют порты, используемые APNs, или нестабильный VPN, и все это может не давать apsd завершить соединение, пока он продолжает попытки. Затем идет устаревшая учетная запись: Mail или iCloud, у которой истекла аутентификация, часто проявляется не как явная ошибка, а как постоянная суета вокруг push, и выход из этой учетной записи, а затем повторный вход решает проблему. Проблемы с Keychain, затрагивающие сертификаты, участвующие в push-соединении, дают ту же картину. Если ничего из этого не подходит, перезагрузка устраняет удивительно много таких циклов. Также проверьте, не привязан ли цикл к конкретной сети: если apsd дома работает идеально, а в офисе зацикливается, проблема в сети, а не в вашем Mac.

Более общий вывод тот же, с которого вы сюда и пришли. apsd, это один из многих демонов, которые macOS запускает без спроса, и большинство из них общаются с сетью, все нормально, все по умолчанию скрыто. macOS почти не дает вам видеть, кто куда подключается, поэтому обычный процесс с незнакомым именем выглядит тревожно.

Этот пробел в видимости закрывает NetMute. Он показывает трафик по приложениям и процессам в реальном времени, так что вы можете видеть, что делает apsd рядом со всем остальным на вашем Mac. Логирование на уровне доменов фиксирует, к каким доменам обращался каждый процесс, когда и сколько данных было передано, превращая смутное подозрение в точный ответ. Когда что-то действительно не должно общаться, встроенный брандмауэр для приложений блокирует это одним щелчком, а временные правила с автоистечением помогают, если вы просто хотите проверить, не сломает ли блокировка что-нибудь. Профили сети позволяют правилам следовать за сетью, к которой вы подключены, а Tracker Shield охватывает более 1 100 известных доменов трекеров. Цель не в том, чтобы блокировать больше, потому что, как показывает apsd, большая часть фонового трафика легитимна, а в том, чтобы различать их.

Часто задаваемые вопросы о apsd

NetMute показывает все процессы на вашем Mac в реальном времени, регистрирует домены, к которым обращается каждый из них, и позволяет блокировать все, что не должно общаться. Бесплатно в Mac App Store, с одноразовой покупкой Premium. Без подписки.

Часто задаваемые вопросы о apsd

Загрузить NetMute