인증서 피닝 해제
일부 앱은 인증서 피닝을 사용합니다. 프록시를 켜는 순간 아예 연결되지 않습니다. 인증서 피닝 해제는 이런 앱이 이 검사를 잠시 멈추고 프록시 인증서를 신뢰하게 하여, 정상적으로 연결되고 캡처·복호화될 수 있게 합니다.
1. 무엇을 해결하나
섹션 제목: “1. 무엇을 해결하나”- 인증서 피닝을 쓰는 앱은 프록시 캡처 중에 네트워크 접속이 끊깁니다. 자체 내장 인증서만 신뢰하고 프록시의 인증서를 받아들이지 않기 때문입니다.
- 해당 앱을 선택하고 인증서 피닝을 잠시 멈추면 정상적으로 네트워크에 접속할 수 있어, 그 HTTPS를 프록시로 경유시켜 복호화할 수 있습니다.
중요: 피닝 해제는 평문을 읽는 것과 다릅니다. 이는 단지 앱이 “프록시 인증서를 기꺼이 신뢰”하게 만들 뿐, 그 자체로 내용을 복호화하지는 않습니다. 복호화는 여전히 프록시가 수행합니다. “프로그램 내부에서 평문을 직접 읽는” 것을 원한다면 그건 다른 이야기이며, 본 기기 앱 계층 캡처를 참고하세요.
2. 지원하는 대상
섹션 제목: “2. 지원하는 대상”세 가지 대상 유형이 각각 자체 탭에서 조작됩니다.
- 본 기기 프로그램: 로컬 프로세스를 나열하며, 다중 선택과 이름 또는 PID로 필터링을 지원합니다.
- iOS 앱: 기기를 선택한 뒤 앱을 나열하거나(개발 인증서로 재서명이 필요한 앱), bundle id를 수동으로 입력합니다.
- Android 앱: 기기를 선택한 뒤(루팅 필요) 앱을 나열하거나, 패키지 이름 / 프로세스 이름 / PID를 수동으로 입력합니다.
두 가지 스위치
섹션 제목: “두 가지 스위치”- 자식 프로세스 자동 처리(기기): 일부 애플리케이션은 자식 프로세스에서 네트워크 요청을 주고받으므로, 함께 처리하면 캡처 누락을 피할 수 있습니다.
- 대상 재시작: 앱을 먼저 재시작한 뒤 처리하여, 시작 초기의 요청까지 포괄합니다.

3. 포괄 범위와 솔직한 한계
섹션 제목: “3. 포괄 범위와 솔직한 한계”- 포괄됨: 대다수 주요 앱의 인증서 피닝 방식으로, 각종 일반적인 네이티브 암호화 컴포넌트와 Android에서 흔한 피닝 프레임워크를 포함합니다.
- 결과 실시간 피드백: 성공하면 몇 개의 대상 / 프로세스가 처리되었는지 알려주고, 앱이 아직 지원하지 않는 흔치 않은 네트워크 컴포넌트를 쓴다면 하염없이 기다리게 두지 않고 명확히 알려줍니다.
- 적용되지 않는 몇 가지 경우: Go나 Rust로 작성된 프로그램, 또는 데스크톱 Java 프로그램은 대개 피닝 해제에 적합하지 않습니다. 이들이 시스템 인증서를 읽는다면 시스템 / 자체 신뢰 저장소에 인증서를 설치하기만 하면 되며, 피닝을 해제할 필요가 없습니다.
4. 언제 쓰나
섹션 제목: “4. 언제 쓰나”- 캡처하려는 앱이 인증서 피닝을 사용해 프록시를 켜는 순간 네트워크 접속이 끊길 때, 그 앱을 선택해 프록시 세션 안에서 피닝을 해제합니다.
- 앱 시작 초기의 요청을 캡처하려면: “대상 재시작”을 체크합니다.
- 다중 프로세스 데스크톱 애플리케이션: “자식 프로세스 자동 처리”를 켜 둡니다.
프록시 캡처로 돌아가기 · 관련: 인증서 관리 및 설치 · 본 기기 앱 계층 캡처