애플리케이션 계층 캡처
어떤 프로그램은 프록시로도 NIC로도 닿지 못합니다. 인증서 피닝을 쓰거나, 프록시를 완전히 무시하거나, 자체 암호화를 씁니다. 애플리케이션 계층 캡처는 다른 길을 택합니다. 프로그램 내부에서 직접 평문을 읽습니다. 인증서를 설치하지 않고, 프록시를 설정하지 않고, NIC를 캡처하지 않으므로, 그 모든 “방어”가 그저 적용되지 않으며, 그럼에도 그것이 실제로 무엇을 주고받는지 볼 수 있습니다. 이것은 일반 캡처 도구에게 가장 대표적인 사각지대이며, 바로 이 모드의 필살기입니다.
1. 남들이 평문을 얻지 못하는 것도, 이것은 얻는다
섹션 제목: “1. 남들이 평문을 얻지 못하는 것도, 이것은 얻는다”| 대상 프로그램의 “방어” | 프록시 캡처 | NIC 캡처 | 애플리케이션 계층 캡처 |
|---|---|---|---|
| 인증서 피닝 | ❌ 연결 불가 / 오류 | 🔒 암호문만 | ✅ 평문 |
| 시스템 프록시 무시 | ❌ 캡처 불가 | 🔒 암호문만 | ✅ 평문 |
| 자체 / 비표준 암호화 | ❌ 복호화 불가 | 🔒 암호문만 | ✅ 평문 |
원리는 단순합니다. 프로그램 내부에서 직접 평문을 읽으며, 중간자가 없고 인증서를 건드리지 않으므로, “중간자”와 “인증서”를 겨냥한 그 모든 방어가 그저 적용되지 않습니다.

2. 커버리지가 얼마나 넓은가
섹션 제목: “2. 커버리지가 얼마나 넓은가”암호화 라이브러리나 기술 스택을 가리지 않습니다. 프로그램 내부에서 평문을 읽는 방식은 프록시나 NIC보다 훨씬 많은 프로그램을 아우릅니다.
- 프로그램이 주류든 잘 알려지지 않은 암호화 라이브러리든, 평문은 내부에서 읽을 수 있습니다.
- 네이티브 프로그램이든 다양한 크로스 플랫폼 프레임워크로 작성한 앱(데스크톱 클라이언트, 크로스 플랫폼 앱…)이든, 똑같이 처리할 수 있습니다.
- 운영체제 내장 암호화로 통신하는 프로그램까지 아우르며, 여기에는 .NET / PowerShell을 비롯해 Windows 시스템 네트워크 스택을 쓰는 프로그램이 포함됩니다. 이들은 다른 도구가 가장 애를 먹는 사각지대인 경우가 많지만, 여기서는 여전히 내부에서 평문을 읽습니다.
- 요컨대 브라우저, 데스크톱 클라이언트, 네이티브 프로그램… 다른 곳에서는 “암호문만” 나오는 많은 대상이 바로 여기서는 평문입니다.
3. 더 까다로운 경우도 다룰 수 있다
섹션 제목: “3. 더 까다로운 경우도 다룰 수 있다”가장 어려운 프로그램을 위해 두 가지 수단이 더 있습니다.
- “소켓 트래픽”, 더 낮은 계층의 방편: 군더더기를 덜어내거나, 심볼을 제거했거나, 더 새로운 기술 스택(예: 순수 Go, Rust, 또는 Windows 시스템 네트워크 스택 사용)으로 작성된 프로그램에서, 일반적인 방식으로 암호화/복호화 진입점을 찾을 수 없을 때, 이 스위치를 켜면 더 낮은 계층의 경로를 택해 데이터를 잡아 여전히 평문을 얻습니다. 프로그램의 암호화/복호화 진입점을 찾아낼 수 있는지에도, NIC에도 의존하지 않습니다. 다른 도구가 완전히 막혀 버리는 많은 프로그램을 이 방식으로 다룰 수 있습니다.
- “시작하는 순간” 캡처: 많은 인증과 핸드셰이크는 프로그램이 처음 시작하는 찰나에 일어납니다. 먼저 프로그램을 닫고 도구가 실행하게 하면, 이 시작 초기 트래픽까지 캡처되어, 그 결정적인 첫 요청을 놓치지 않습니다.

4. 캡처 후: 이해하고, 디코딩하기
섹션 제목: “4. 캡처 후: 이해하고, 디코딩하기”내부에서 읽은 평문은 다른 모든 캡처 방식과 동일한 처리를 거칩니다.
- 여러 조회 방식: 구조화, 정돈된 텍스트, 16진수, 자동 감지. 방향별로 독립적으로 전환할 수 있습니다. 자세한 내용은 검사와 디코딩을 참고하세요.
- 자동 압축 해제와 감지: gzip / brotli / deflate / zstd(여러 겹으로 쌓인 것 포함)를 자동으로 압축 해제하고, JSON, XML, 폼, protobuf / gRPC 등을 자동 감지해 정돈합니다.
- 커스텀 코덱: 사설 / 자체 소켓 프로토콜에 대해서는 짧은 스크립트를 작성해 읽는 법을 가르칩니다. 자세한 내용은 커스텀 프로토콜 디코딩을 참고하세요.
5. 적용 범위와 경계
섹션 제목: “5. 적용 범위와 경계”- 가장 적합한 대상: 인증서 피닝을 쓰거나, 프록시를 무시하거나, 자체 / 비표준 암호화를 써서, 프록시로도 NIC로도 평문을 얻을 수 없는 프로그램.
- 실행 중인 프로그램에 바로 동작: 실행 중인 프로그램을 선택해 그 내부에서 평문을 그 자리에서 읽으며, 재시작하거나 설정을 바꿀 필요가 없습니다(프로그램 경로를 입력해 도구가 대신 실행하게 할 수도 있습니다).
- 선택한 프로그램만 겨냥: 기본적으로 프로그램의 모든 자식 프로세스로 자동 확장하지 않습니다. 다중 프로세스 / 다중 창 프로그램은 개별적으로 선택해야 할 수 있습니다.
- 시스템 수준 캡처로 넘길 때: macOS 시스템 내장 앱과, 특히 다루기 까다롭고 깊이 숨겨진 앱은 모든 외부 개입을 거부하여 이 모드가 들어갈 수 없습니다. 그런 대상은 시스템 수준 캡처(프로그램 내부로 들어가지 않고 시스템의 더 낮은 계층에서 관찰)로 전환하세요.
6. 네 가지 로컬 캡처 방식 중 고르기
섹션 제목: “6. 네 가지 로컬 캡처 방식 중 고르기”| 나의 상황 | 무엇을 쓸까 |
|---|---|
| 이미 실행 중이거나 / 인증서 피닝을 쓰거나 / 프록시를 무시하거나 / 자체 암호화를 쓰는 프로그램 | 애플리케이션 계층 캡처(이 페이지) |
| 명령으로 실행할 수 있는 일반 프로그램(브라우저 / 스크립트 / CLI) | 프로세스별 캡처(더 수고가 적음) |
| 머신의 모든 트래픽, 또는 비 HTTP 트래픽을 보고 싶다 | NIC 캡처 |
| macOS 시스템 내장 앱 / 다루기 까다로운 앱 | 시스템 수준 캡처 |