트래픽 기록
Cheolsu Proxy의 핵심 기능인 트래픽 기록(Recording)에 대해 설명합니다. 프록시를 통과하는 HTTP/HTTPS 트래픽을 실시간으로 캡처하고, 분석하고, 내보내는 방법을 안내합니다.
트래픽 기록이란
트래픽 기록은 Cheolsu Proxy를 통과하는 모든 HTTP/HTTPS 요청과 응답을 캡처하여 저장하는 기능입니다. 캡처된 데이터에는 요청 URL, HTTP 메서드, 상태 코드, 헤더, 바디, 타이밍 정보 등이 포함됩니다.
이 기능은 다음과 같은 상황에서 유용합니다:
- API 통신 디버깅 시 실제로 어떤 요청이 오가는지 확인
- 프론트엔드 개발 시 네트워크 요청의 정확한 형태 파악
- 서드파티 서비스와의 통신 문제 진단
- 네트워크 성능 분석 및 병목 지점 파악
기록 시작과 중지
프록시 시작
Cheolsu Proxy를 실행하면 프록시 데몬이 시작되고, 시스템 프록시가 자동으로 설정됩니다. 이 시점부터 시스템의 HTTP/HTTPS 트래픽이 프록시를 통과하며 기록됩니다.
프록시 중지
"프록시 중지" 버튼을 클릭하거나 앱을 종료하면 트래픽 캡처가 중지됩니다. 시스템 프록시 설정도 원래 상태로 복원됩니다.
프록시가 중지되어도 이미 캡처된 트래픽 데이터는 유지됩니다. 세션을 저장하거나 HAR로 내보낼 수 있습니다.
Desktop GUI에서 트래픽 보기
Desktop GUI는 캡처된 트래픽을 두 가지 뷰로 제공합니다.
테이블 뷰
기본 뷰로, 캡처된 트래픽을 시간순 테이블로 표시합니다. 각 행에는 다음 정보가 표시됩니다:
- HTTP 메서드: GET, POST, PUT, DELETE 등
- 호스트: 요청 대상 호스트명
- 경로: URL 경로
- 상태 코드: 응답 상태 코드 (200, 404, 500 등)
- 크기: 응답 바디 크기
- 시간: 요청 소요 시간
호스트/경로 트리 뷰
호스트와 경로를 트리 구조로 그룹화하여 보여줍니다. 같은 API 엔드포인트에 대한 여러 요청을 한눈에 파악할 때 유용합니다. 호스트별로 그룹화되어 있어, 특정 서비스와의 통신만 집중적으로 분석할 수 있습니다.
트래픽 필터링
캡처된 트래픽이 많을 때 원하는 요청만 찾으려면 필터링을 사용합니다. Cheolsu Proxy는 전용 쿼리 언어인 Cheolsu-Query를 제공합니다.
Cheolsu-Query는 Monaco Editor 기반으로 구문 강조, 자동완성, 실시간 검증을 지원합니다. 상세한 문법은 Cheolsu-Query 문서를 참고하세요.
요청/응답 상세 보기
테이블에서 특정 트랜잭션을 선택하면 상세 정보를 확인할 수 있습니다.
요청 정보
- 일반(General): HTTP 메서드, URL, 프로토콜 버전
- 헤더(Headers): 모든 요청 헤더 (Host, Content-Type, Authorization 등)
- 바디(Body): 요청 본문 (JSON, Form Data, 바이너리 등)
응답 정보
- 일반(General): 상태 코드, 상태 메시지
- 헤더(Headers): 모든 응답 헤더 (Content-Type, Cache-Control, Set-Cookie 등)
- 바디(Body): 응답 본문 (JSON 자동 포맷팅, HTML, 이미지 미리보기 등)
타이밍 정보
요청의 각 단계별 소요 시간을 확인할 수 있어, 네트워크 성능 분석에 유용합니다.
내보내기
캡처된 트래픽을 다양한 형식으로 내보낼 수 있습니다.
HAR 내보내기
HAR(HTTP Archive) 1.2 형식으로 전체 트래픽을 내보냅니다. HAR 파일은 Chrome DevTools, Firefox 개발자 도구, Charles Proxy 등 다양한 도구에서 열 수 있는 표준 형식입니다.
Desktop GUI:
- 네트워크 대시보드 상단의 다운로드 버튼을 클릭합니다
- 저장 경로를 선택합니다
.har파일이 생성됩니다
TUI:
- 네트워크 화면에서
e키를 누릅니다 - 현재 디렉토리에
cheolsu-proxy-YYYYMMDD-HHMMSS.har파일이 생성됩니다
cURL 및 코드 내보내기
개별 트랜잭션을 선택하여 다양한 형식으로 내보낼 수 있습니다. 특정 요청을 재현하거나 코드에 통합할 때 유용합니다.
- cURL 명령어: 터미널에서 바로 실행 가능한 cURL 명령어
- 다양한 프로그래밍 언어: 요청을 코드 스니펫으로 변환
API 디버깅 시, 문제가 되는 요청을 cURL로 내보내서 터미널에서 직접 테스트해보면 빠르게 원인을 파악할 수 있습니다.
TUI에서의 기록
TUI(Terminal User Interface)에서도 동일한 프록시 데몬의 트래픽을 모니터링할 수 있습니다. Desktop GUI와 동일한 데몬에 연결되므로, 두 인터페이스에서 같은 트래픽 데이터를 볼 수 있습니다.
TUI에서 사용할 수 있는 주요 키:
- 방향키 또는
j/k: 트랜잭션 목록 탐색 Enter: 선택한 트랜잭션 상세 보기e: HAR 파일로 내보내기q: 종료
TUI의 설치 및 실행 방법은 설치 가이드를 참고하세요.
관련 문서
- 기본 사용법 - 프록시 시작 및 기본 사용법
- Cheolsu-Query - 트래픽 필터링 쿼리 언어
- 세션 관리 - 캡처된 트래픽 세션 저장 및 관리
- 인터셉트 규칙 - 요청/응답 가로채기 및 수정
- WebSocket - WebSocket 트래픽 캡처
