Что такое 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 безопасен. Это daemon первого уровня Apple, он входит в состав macOS уже много лет, и его сетевое поведение полностью объясняется его задачами. Разумная озабоченность заключается не в том, опасен ли настоящий apsd, а в том, не является ли процесс с этим именем на вашем Mac подделкой — честный вопрос, ведь дать вредоносному ПО скучное системное имя — старый трюк.
Это можно проверить без специальных инструментов. В Activity Monitor найдите apsd во вкладке Сеть или CPU и откройте инспектор двойным щелчком. Настоящий daemon работает от имени root, расположен внутри только для чтения системного тома, а не в вашей домашней папке, Applications или папке Downloads, и запускается launchd, а не каким-либо другим приложением. Копия apsd, находящаяся где-то в вашей пользовательской папке, — это аномалия, которую стоит преследовать.
Более надежная проверка — это подпись кода. Системные бинарные файлы Apple подписаны Apple, а в современных версиях macOS системный том криптографически запечатан, поэтому подделка или замена системного daemon невозможна без следа. Если хотите проверить это явно, macOS поставляется с командной строкой инструментов, которая сообщает о доверенности подписи любого бинарного файла, и для apsd эта доверенность должна быть от Apple.
Также стоит помнить, чем apsd не является. Он не пересылает ваши сообщения или документы в Apple как содержимое. Канал push передает уведомления и сигналы для описанных выше служб, а для сквозных зашифрованных сервисов, таких как iMessage, он — это путь доставки, а не место, где хранится читаемый контент. Постоянное подключение apsd говорит о том, что система уведомлений работает, и больше ничего.
Стоит ли блокировать apsd?
Честный ответ — нет, и стоит подробно объяснить, почему: последствия необычно широки для одного процесса.
Блокировка apsd не заглушает выборочно одно шумное приложение. Она разрывает единственный канал, через который приходят все push‑уведомления на Mac. iMessage перестаёт показывать сообщения, пока что‑нибудь другое не инициирует синхронизацию. FaceTime‑звонки перестают звонить. Find My теряет возможность своевременно реагировать. Почтовые учётные записи, использующие push, переходят на периодическую проверку или вовсе перестают обновляться. Календарь, Контакты и Напоминания перестают получать сведения об изменениях на ваших других устройствах. Уведомления сторонних приложений просто не приходят. На управляемом Mac MDM‑команды от IT перестают доставляться, что обычно превращается в обращение в службу поддержки, а не в исправление.
Хуже то, что режим отказа вводит в заблуждение, а не очевиден. Нигде не отображается ошибка о блокировке push. Всё просто тихо перестаёт быть своевременным, и через несколько недель вы начинаете разбираться, почему сообщения приходят на iPhone, но не на Mac.
Если базовая цель — сократить количество уведомлений, правильные инструменты — это встроенные средства. В Системных настройках можно отключать уведомления для отдельных приложений, а режимы Focus позволяют подавлять их по контексту или по расписанию — оба варианта прекращают прерывания, сохраняя доставку. Если же цель — уменьшить фоновой трафик, apsd вовсе не лучший объект: по объёму передаваемых данных он один из самых «лёгких» на типичном Mac. Процессы, которые действительно передают данные, обычно — клиенты синхронизации, агенты резервного копирования, обновляторы и приложения с аналитикой или рекламными SDK; их и стоит рассматривать.
Когда apsd использует высокий CPU или сеть, и общая картина
Иногда apsd действительно ведет себя неправильно, и симптом почти всегда один и тот же: постоянное использование CPU и поток попыток соединения, значительно превышающих тихий режим keep-alive. Обычно вы наблюдаете цикл повторных подключений — демон пытается установить соединение, попытка не удается или прерывается, и он снова пытается, бесконечно.
Общие причины стоит рассматривать по порядку. Нестабильная или ограничительная сеть — самая частая: каптивные порталы, корпоративные сети, фильтрующие порты, используемые APNs, или нестабильный VPN могут оставить apsd неспособным завершить соединение, пока он продолжает попытки. Следующая причина — устаревшие учетные данные — учетная запись Mail или iCloud, у которой истек срок аутентификации, часто проявляется как постоянные попытки отправки push-уведомлений, а не явная ошибка, и выход из учетной записи и повторный вход решают проблему. Проблемы с Keychain, влияющие на сертификаты, участвующие в push-соединении, вызывают ту же картину. Если ничего из этого не подходит, перезагрузка устраняет удивительное количество таких циклов. Также проверьте, следует ли цикл определенной сети; apsd, который работает идеально дома и зацикливается в офисе, указывает на проблему с сетью, а не с вашим Mac.
Общий смысл — это тот, который привел вас сюда. apsd — один из множества демонов, которые macOS запускает без вашего ведома, и большинство из них взаимодействуют с сетью — всё это нормально, всё по умолчанию скрыто. macOS практически не дает вам видимости, с кем и куда они подключаются, поэтому обычный процесс с незнакомым именем кажется тревожным.
Этот пробел в видимости закрывает NetMute. Он показывает трафик в реальном времени для каждого приложения и процесса, чтобы вы могли видеть, что делает apsd рядом со всем остальным на вашем Mac. Логирование на уровне доменов фиксирует, к каким доменам обращался каждый процесс, когда и сколько данных было передано, превращая смутное подозрение в конкретный ответ. Когда что-то действительно не должно общаться, встроенный брандмауэр для приложений блокирует это одним кликом, с временными правилами, которые автоматически истекают, если вы хотите проверить, не сломает ли блокировка что-либо. Профили сети позволяют правилам следовать за сетью, к которой вы подключены, а Tracker Shield охватывает более 1 100 известных доменов трекеров. Цель не в том, чтобы блокировать больше — как показывает apsd, большинство фонового трафика легитимно — а в том, чтобы различать их.