콘텐츠로 이동

iOS 캡처

iPhone / iPad에서 캡처하는 일은 늘 골칫거리였습니다. 일반 도구는 보통 탈옥을 요구하거나 프록시만 설정할 수 있는데(그마저도 프로파일과 인증서를 설치해야 하고, 인증서 피닝이 걸린 앱은 여전히 캡처할 수 없습니다), iOS 캡처는 탈옥 없는 세 가지 방법을 제공합니다. “설정 없이 시스템 요청 확인”부터 “기기 전체의 전체 트래픽”, “단일 앱의 완전한 평문”까지, 그중 하나면 대상을 잡을 수 있습니다.


  • 기기 연결: 데이터 케이블로 iPhone / iPad를 컴퓨터에 연결한 뒤 기기에서 신뢰를 누릅니다.
  • 탈옥 불필요: 세 방법 모두 탈옥하지 않은 기기용입니다.
  • 최신 시스템 호환: 최신 버전 iOS(iOS 17 이상 포함)는 새로운 기기 채널로 전환했지만, 연결과 캡처가 여기서도 정상 동작합니다.
  • 같은 기기가 네트워크에도 나타난다면 그에 맞게 USB / 네트워크 항목을 선택하세요.

필요 무엇을 쓸 것인가 볼 수 있는 것 인증서 설치 / 재서명 필요?
시스템이 보낸 HTTPS 요청(주소 / 상태 / 헤더)을 빠르게 확인 시스템 레벨 캡처 일반 앱도 동작(일반 앱은 본문을 볼 수 없음) 둘 다 불필요, 진단 프로파일만 필요
기기 전체의 모든 트래픽(비 HTTP, 핸드셰이크 / SNI 포함) NIC 캡처 전체 데이터(기본은 암호문, 필요 시 복호화 가능) 암호문 보기에는 불필요, 특정 앱 복호화에만 재서명 필요
특정 앱의 완전한 평문 교환(본문 포함) 애플리케이션 레벨 캡처 단일 앱의 완전한 평문 대상 앱을 개발 인증서로 재서명해야 함

세 방법 모두 탈옥이 필요 없습니다. 시스템 레벨 캡처는 특히 번거로움이 없습니다. 일반 앱과 App Store 앱마저 어떤 HTTPS 주소로 요청하는지 볼 수 있는데, 이는 탈옥하지 않은 iPhone에서 일반 도구로는 할 수 없는 일입니다.


3. 시스템 레벨 캡처: 가장 간편하고 일반 앱도 동작

섹션 제목: “3. 시스템 레벨 캡처: 가장 간편하고 일반 앱도 동작”

인증서 설치도, 프록시 설정도, 인증서 피닝 처리도 없이 이 iPhone이 어떤 HTTPS 요청을 보냈는지 빠르게 확인하고 싶으신가요? 이것이 가장 간편한 방법입니다.

  • 시스템이 보내는 HTTP(S) 트랜잭션을 나열합니다. 요청 메서드, 전체 URL(HTTPS라도 주소는 평문), 상태 코드, 요청 헤더와 응답 헤더.
  • 설치할 CA 인증서도, 설정할 프록시도, 처리할 인증서 피닝도 없습니다.
  • 얼마나 볼 수 있는지는 시스템 진단 로그 자체에 의해 제한됩니다.
    • 일반 앱과 App Store 앱: 보통 요청 주소와 요청 헤더만 볼 수 있습니다.
    • 개발 인증서로 서명된 앱: 전체 요청 / 응답 본문을 볼 수 있습니다.

전제 조건: 해당 기기 진단 프로파일을 설치해야 합니다(한 번이면 충분).


4. NIC 캡처: 이 기기의 모든 것을 확인

섹션 제목: “4. NIC 캡처: 이 기기의 모든 것을 확인”

앱이나 프로토콜에 상관없이, 비 HTTP QUIC와 커스텀 프로토콜을 포함한 기기의 모든 네트워크 트래픽을 캡처합니다.

  • 기본으로 보이는 것: 기본은 암호문 패킷 + 메타데이터(대상 주소, 포트, TLS 핸드셰이크의 SNI 호스트명)로, “이 기기가 어떤 곳에 어떤 프로토콜로 연결했는지”를 분명히 볼 수 있습니다.
  • 평문을 원할 때: 대상 앱에 “이 프로그램 복호화”를 사용해 평문을 복호화합니다. 이때 앱이 개발 인증서로 재서명되어 있어야 합니다.

5. 애플리케이션 레벨 캡처: 단일 앱의 완전한 평문

섹션 제목: “5. 애플리케이션 레벨 캡처: 단일 앱의 완전한 평문”

단일 앱을 대상으로 그 앱이 주고받는 **완전한 평문(본문 포함)**을 얻습니다. 앱 내부에서 읽어내므로 인증서 피닝으로도 막을 수 없습니다.

  • 대상 프로그램 재시작: 앱을 먼저 종료했다가 다시 실행하여 실행 초기 트래픽까지 캡처할 수 있습니다.
  • 평문을 디코딩할 수 없을 때의 대비책으로 “소켓 트래픽” 켜기: 정적 링크 / 커스텀 라이브러리를 사용해 일반적인 방법으로 평문을 얻을 수 없는 앱의 경우, 이 스위치를 켜서 더 하위 경로로 데이터를 가져옵니다.
  • 개발 인증서로 재서명된 앱만 앱 목록에서 선택할 수 있고, 나머지는 비활성화됩니다.

전제 조건: 대상 앱은 개발 인증서로 재서명되어야 합니다. App Store 앱과 시스템 앱은 먼저 재서명해야 대상으로 사용할 수 있습니다.


6. 프록시 캡처도 사용할 수 있습니다

섹션 제목: “6. 프록시 캡처도 사용할 수 있습니다”

위 세 방법 외에도 iPhone / iPad는 프록시 캡처를 사용할 수 있습니다. 기기의 Wi-Fi 프록시를 이 기기로 향하게 하고 루트 인증서를 설치하면, 컴퓨터에서와 마찬가지로 HTTPS 평문을 캡처하고 재작성과 재전송 기능 전체를 사용할 수 있습니다. 시스템 프록시를 거치는 앱을 디버깅하거나, 모바일 요청을 규칙 기반으로 재작성 / 재전송해야 하는 상황에 적합합니다.


  • “앱이 어떤 엔드포인트로 요청했고 무엇이 반환됐는지”를 빠르게 조사하려면 시스템 레벨 캡처가 가장 쉽고, 일반 앱도 동작합니다.
  • 기기 전체의 모든 트래픽(비 HTTP 포함)을 보려면 NIC 캡처를 사용하세요.
  • 대상 앱을 재서명할 수 있고 완전한 평문 본문을 원한다면 애플리케이션 레벨 캡처를 사용하세요.
  • 보기와 편집을 동시에 하려면(모바일 요청 재작성 / 재전송) 프록시 캡처를 사용하세요.

프록시 캡처로 돌아가기 · 관련: 데이터 보기 및 디코딩 · 인증서 관리 및 설치