NetMute

Mac에서 apsd란 무엇인가? Apple Push Notification Daemon 설명

거의 모든 Mac 사용자는 네트워크에서 기기가 하는 일을 자세히 들여다보면 apsd를 만나게 된다. Activity Monitor에서 작은 데이터 흐름으로 계속 자리 잡고 있으며, Wi-Fi가 다시 연결될 때마다 방화벽 로그에 다시 나타나고, 이름은 아무것도 드러내지 않는다. 이 조합 — 지속적이고, 설명할 수 없으며, 시스템 수준 — 은 의심스럽지 않지만 의심스러워 보이는 무언가의 모습과 정확히 일치한다. 여기 apsd가 무엇인지, 왜 그런 행동을 하는지, Mac에 있는 복사본이 Apple의 것인지 어떻게 확인하는지, 그리고 차단했을 때 실제로 어떤 일이 일어나는지 설명한다.

7분 읽기업데이트

apsd가 실제로 무엇인지

apsd는 Apple 푸시 알림 서비스 데몬입니다. 이것은 macOS의 표준 구성 요소로, Apple이 배포하고 코드 서명한 것이며, Mac이 Apple의 푸시 알림 네트워크(APNs)와의 연결을 유지하는 역할을 합니다. 이것은 악성 소프트웨어도 아니고, 선택적 부가 기능도 아니며, 사용자가 설치한 것도 아닙니다.

그 역할은 좁지만 핵심적입니다: Apple의 푸시 서버와의 연결을 열어두어, Mac으로 보내진 메시지가 전송되는 즉시 도착할 수 있도록 하는 것입니다. 어떤 앱이 메시지를 확인하기를 기다리지 않고 말이죠. Apple의 인프라가 기기에 무언가를 보내야 할 때, 그것을 그 연결을 통해 밀어내고, apsd는 그것을 시스템의 어느 부분에든 전달합니다.

놀랍게도, macOS의 상당 부분이 그 하나의 파이프에 의존하고 있습니다. iMessage와 FaceTime은 신호 전달에 이를 사용하여 메시지나 수신 전화가 즉시 도착하게 합니다. Mail은 푸시 전달을 지원하는 계정에 대해 이를 사용합니다. Find My도 그것에 의존합니다. Calendar, Contacts, Reminders는 다른 기기에서 무언가 변경되었음을 알기 위해 이를 사용합니다. App Store와 서드파티 앱 알림도 이를 통해 전달됩니다. 모바일 기기 관리에 등록된 Mac에서는 MDM 명령도 같은 방식으로 전달되며, 이것이 apsd가 관리된 환경에서 필수적인 이유입니다.

그래서 네트워크에서 apsd가 활성화된 것을 보면, 보통은 곧 받을 알림의 배관을 보고 있거나, 시스템이 조용히 새로운 것이 없음을 확인하는 것과 관련이 있습니다.

왜 apsd는 항상 연결되어 있는가

apsd가 모든 네트워크 모니터에 나타나는 이유는 우연이 아니라 구조적입니다. 푸시 알림은 수신 기기가 도달 가능해야만 작동하며, Apple이 기기를 도달 가능하게 만드는 방법은 기기와 Apple 서버 간에 장기 연결을 열어두고 유지하는 것입니다. 이 연결은 대부분 유휴 상태로 유지되며, 작은 keep-alive 트래픽을 교환하여 양쪽 모두 여전히 연결이 유효함을 확인합니다.

이 설계는 의도적으로 효율적입니다. 대안은 — 알림을 보내고자 하는 모든 앱이 자체 연결을 열고 업데이트를 폴링하는 것인데, 이는 수십 개의 소켓, 수십 번의 깨어남, 배터리 수명과 대역폭에 측정 가능한 영향을 미칠 것입니다. 대신 시스템 전체에 하나의 공유 채널이 있으며, 개별 앱은 Mac에서 직접 알림 백엔드와 통신하지 않습니다. 그들은 메시지를 Apple의 서비스에 넘기고, Apple은 그것을 apsd가 유지하는 하나의 연결을 통해 밀어냅니다.

이 연결은 네트워크가 변경될 때마다 다시 설정되어야 합니다. 잠에서 깨어나거나, Wi-Fi에서 Ethernet으로 전환하거나, 다른 네트워크에 접속하거나, VPN에 연결 또는 연결 해제할 때마다 기존 소켓이 종료되고, apsd는 즉시 새 소켓을 만듭니다. 네트워크 간 이동 시 연결 로그를 보면, apsd가 매번 가장 먼저 재연결하는 프로세스 중 하나임을 알 수 있습니다.

이들이 통신하는 엔드포인트는 Apple이 운영하는 푸시 및 택배 서버이며, APNs 트래픽은 일반적으로 TCP 포트 5223을 통해 전달되며, 제한된 네트워크에서는 해당 포트가 사용 불가할 때 대체 경로가 사용됩니다. 데이터 양은 보통 적으며, 많은 연결, 짧은 교환, 많은 데이터가 아닙니다. 이 프로필 — 높은 가시성, 낮은 바이트 —은 apsd가 모니터링 도구에서 눈에 띄게 만드는 이유입니다, 실제로 무거운 것이 아니더라도.

apsd는 안전한가요, 그리고 직접 확인하는 방법

apsd는 안전합니다. 이것은 애플의 1차 파티 데몬으로, macOS에 수년간 포함되어 있으며, 그 네트워크 행동은 수행하는 작업으로 완전히 설명됩니다. 합리적인 우려는 실제 apsd가 위험한지 여부가 아니라, 그 이름으로 실행되는 프로세스가 진짜인지 여부입니다 — 공정한 질문입니다, 맬웨어에 지루한 시스템 사운드 이름을 주는 것은 오래된 속임수이기 때문입니다.

특별한 도구 없이도 이를 확인할 수 있습니다. Activity Monitor에서 네트워크 또는 CPU 탭에서 apsd를 찾아 더블 클릭하여 검사기를 열어보세요. 진짜 데몬은 root로 실행되며, 홈 폴더, Applications 또는 Downloads 디렉터리 대신 읽기 전용 시스템 볼륨 내에 존재하며, launchd에 의해 시작됩니다. 사용자 폴더 어딘가에 apsd의 복사본이 있다면 그것은 이상 현상으로 간주되어 추적할 가치가 있습니다.

더 강력한 검사는 코드 서명입니다. 애플의 시스템 바이너리는 애플이 서명하며, 최신 macOS에서는 시스템 볼륨이 암호화되어 있기 때문에, 변조되거나 교체된 시스템 데몬은 일반 소프트웨어가 조용히 처리할 수 없는 일입니다. 명확히 확인하고 싶다면, macOS는 어떤 바이너리의 서명 권한을 보고하는 명령줄 도구를 제공하며, apsd의 경우 그 권한은 애플이어야 합니다.

또한 apsd가 아닌 것이 무엇인지도 주목할 만합니다. 이것은 메시지나 문서를 애플에 콘텐츠로 보내는 것이 아닙니다. 푸시 채널은 알림 페이로드와 위에서 설명한 서비스의 신호를 전달하며, iMessage와 같은 종단 간 암호화 서비스의 경우 전달 경로일 뿐, 읽을 수 있는 콘텐츠가 저장되는 곳이 아닙니다. apsd가 계속 연결되어 있는 것을 보면 알림 시스템이 작동하고 있다는 것뿐입니다.

apsd를 차단해야 할까요?

정직한 답변은 아니오이며, 그 이유를 구체적으로 설명하는 것이 가치가 있습니다. 왜냐하면, 그 결과는 하나의 프로세스에 대해 매우 광범위하기 때문입니다.

apsd를 차단하면 하나의 시끄러운 앱만 조용히 하는 것이 아닙니다. 맥에 도착하는 모든 푸시 알림이 통하는 채널을 차단하는 것입니다. iMessage는 다른 방법으로 동기화될 때까지 나타나지 않으며, FaceTime 통화는 울리지 않게 됩니다. Find My는 신속하게 응답하는 능력을 잃게 됩니다. 푸시에 의존하는 메일 계정은 주기적 검사로 돌아가거나 업데이트를 멈춥니다. 캘린더, 연락처, 알림은 다른 기기에서 변경된 내용을 듣지 못하게 됩니다. 서드파티 앱 알림은 단순히 도착하지 않습니다. 관리된 맥에서는 IT의 MDM 명령이 전달되지 않으며, 이는 보통 지원 티켓으로 전환될 뿐 해결책이 아닙니다.

더 나쁘게는, 실패 모드는 명확하지 않고 혼란스럽습니다. 푸시가 차단되었다는 오류 메시지가 표시되지 않습니다. 그냥 조용히 제때 도착하지 않게 되고, 몇 주 후에는 왜 메시지가 iPhone에는 도착하는데 맥에는 도착하지 않는지 디버깅하게 됩니다.

기본 목표가 알림 수를 줄이는 것이라면, 적합한 도구는 그것을 위해 만들어진 것들입니다. 시스템 환경설정에서는 앱별로 알림을 끌 수 있으며, 집중 모드에서는 맥락이나 일정에 따라 알림을 억제할 수 있습니다 — 둘 다 방해를 멈추면서 전달은 유지합니다. 만약 배경 트래픽을 줄이는 것이 목표라면, apsd는 잘못된 대상입니다: 이동하는 바이트 수로 보면, 일반 맥에서 가장 적은 통신량을 사용하는 프로세스 중 하나입니다. 데이터를 실제로 이동시키는 프로세스는 보통 동기화 클라이언트, 백업 에이전트, 업데이트 프로그램, 그리고 분석 또는 광고 SDK가 포함된 앱이며, 이들이 주목할 만한 대상입니다.

apsd가 높은 CPU 또는 네트워크를 사용할 때와 전체적인 그림

가끔 apsd가 진짜로 오작동하는 경우가 있는데, 그 증상은 거의 항상 동일하다: 지속적인 CPU 사용과 조용한 keep-alive 패턴을 훨씬 넘어서는 연결 시도들이 이어진다. 보통은 재연결 루프를 보고 있는 것인데 — 데몬이 연결을 시도하고, 실패하거나 끊기면 다시 시도하는 반복이다.

일반적인 원인들을 차례로 살펴보는 것이 좋다. 불안정하거나 제한적인 네트워크가 가장 흔한 원인이다: 포트 필터링이 되는 포획 포털, APNs가 사용하는 포트를 필터링하는 기업 네트워크, 또는 불안정한 VPN이 apsd가 연결을 완료하지 못하게 만들 수 있다. 오래된 자격 증명도 원인인데 — 만료된 인증이 있는 Mail 또는 iCloud 계정은 종종 명확한 오류 대신 푸시 충돌로 나타나며, 계정을 로그아웃 후 다시 로그인하면 해결된다. 푸시 연결에 관련된 인증서에 영향을 주는 키체인 문제도 같은 패턴을 만든다. 만약 이 모든 것이 해당되지 않는다면, 재시작이 이 루프들을 놀랍도록 많이 해소한다. 또한 루프가 특정 네트워크를 따르는지 확인하라; 집에서는 정상이고 사무실에서 반복된다면 네트워크 문제를 의심할 수 있다.

더 넓은 관점은 바로 이 글을 읽게 만든 핵심이다. apsd는 macOS가 묻지 않고 실행하는 많은 데몬 중 하나이며, 대부분 네트워크와 통신한다 — 모두 정상이고 기본적으로 불투명하다. macOS는 어떤 데몬이 어디와 연결되는지 거의 보여주지 않기 때문에, 이름이 낯선 일반 프로세스가 위협적으로 보일 수 있다.

이 가시성 부족을 NetMute가 메운다. 실시간으로 앱별, 프로세스별 트래픽을 보여주어, apsd가 Mac의 다른 모든 것과 함께 무엇을 하고 있는지 알 수 있다. 도메인 수준의 로그는 각 프로세스가 어떤 도메인에 접속했고, 언제, 얼마나 많은 데이터를 주고받았는지 기록하여, 애매한 의심을 구체적인 답변으로 바꾼다. 정말로 통신해서는 안 되는 것이 있다면, 앱별 방화벽이 한 번의 클릭으로 차단하며, 일시적 규칙은 테스트 목적으로 차단이 문제를 일으키는지 확인할 때 유용하다. 네트워크 프로필은 규칙이 현재 연결된 네트워크에 따라 적용되도록 하고, Tracker Shield는 1,100개 이상의 알려진 트래커 도메인을 차단한다. 목표는 더 차단하는 것이 아니라 — apsd가 보여주듯 대부분의 백그라운드 트래픽은 정당하다 — 차이점을 구별하는 것이다.

apsd에 관한 자주 묻는 질문

Mac이 어디에 연결하는지 정확히 보기

NetMute는 Mac의 모든 프로세스를 실시간으로 보여주고, 각 프로세스가 접속하는 도메인을 기록하며, 통신해서는 안 되는 것을 차단할 수 있다. Mac App Store에서 무료이며, 프리미엄은 일회성 인앱 구매로 제공된다. 구독 없음.

NetMute 다운로드