프록시 설정

Cheolsu Proxy가 프록시로서 동작하는 방식과, 다양한 환경에서 프록시를 설정하는 방법을 설명합니다.


프록시 동작 방식

Cheolsu Proxy는 HTTP/SOCKS 프록시 서버로 동작합니다. 클라이언트(브라우저, 앱 등)가 네트워크 요청을 보내면, 해당 요청이 직접 서버로 가는 대신 Cheolsu Proxy를 경유합니다. 프록시는 요청을 대상 서버로 전달하고, 서버의 응답을 다시 클라이언트에 반환하면서 그 과정을 기록합니다.

클라이언트 (브라우저)


Cheolsu Proxy (프록시 서버)  ← 요청/응답 캡처


대상 서버 (example.com)
graph LR
    A[클라이언트<br/>브라우저/앱] -->|HTTP/HTTPS 요청| B[Cheolsu Proxy<br/>:8100]
    B -->|복호화된 요청| C[대상 서버]
    C -->|응답| B
    B -->|복호화된 응답| A

    style B fill:#f9f,stroke:#333,stroke-width:2px

HTTP 프록시

일반 HTTP 요청은 프록시가 직접 요청 내용을 읽고 대상 서버로 전달합니다.

HTTPS 프록시 (CONNECT 터널)

HTTPS 요청의 경우, 클라이언트는 프록시에 CONNECT 메서드로 터널 생성을 요청합니다. Cheolsu Proxy는 이 터널에서 MITM 방식으로 TLS를 처리하여 암호화된 트래픽 내용도 캡처합니다. HTTPS 트래픽 캡처를 위해서는 CA 인증서 설치가 필요합니다.


시스템 프록시 자동 설정

Cheolsu Proxy는 macOS에서 시스템 프록시를 자동으로 설정합니다. 프록시를 시작하면 macOS의 networksetup 명령을 통해 시스템 HTTP/HTTPS 프록시가 Cheolsu Proxy로 지정됩니다. 프록시를 중지하거나 앱을 종료하면 원래 설정으로 복원됩니다.

이 자동 설정 덕분에 대부분의 경우 별도의 프록시 설정 없이도 바로 트래픽 캡처를 시작할 수 있습니다. 시스템 프록시 설정을 따르는 대부분의 애플리케이션(Safari, Chrome 등)은 자동으로 Cheolsu Proxy를 통해 트래픽을 전송합니다.

시스템 프록시 설정을 변경하기 위해 관리자 비밀번호 입력이 필요할 수 있습니다.


수동 프록시 설정

시스템 프록시 자동 설정이 적용되지 않는 환경이거나, 특정 브라우저나 애플리케이션에만 프록시를 적용하고 싶은 경우 수동으로 설정할 수 있습니다.

프록시 기본 주소: 127.0.0.1 (기본 포트: 앱 설정에서 확인)

Chrome

Chrome은 시스템 프록시 설정을 따르므로 별도 설정이 필요 없습니다. 시스템 프록시 자동 설정이 정상 동작한다면 Chrome에서 바로 트래픽이 캡처됩니다.

특정 프록시를 지정하여 Chrome을 실행하고 싶다면:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --proxy-server="http://127.0.0.1:<포트>"

Firefox

Firefox는 시스템 프록시 설정을 따르지 않을 수 있으므로 별도로 설정합니다:

  1. 설정일반네트워크 설정에서 설정 버튼을 클릭합니다
  2. 수동 프록시 설정을 선택합니다
  3. HTTP 프록시: 127.0.0.1, 포트: Cheolsu Proxy 포트 입력
  4. "모든 프로토콜에 이 프록시 사용" 체크
  5. 확인을 클릭합니다

Firefox에서 HTTPS 트래픽을 캡처하려면 인증서 설정도 필요합니다.

터미널 / CLI 도구

curl, wget 등 CLI 도구에서 프록시를 사용하려면 환경변수를 설정합니다:

export http_proxy=http://127.0.0.1:<포트>
export https_proxy=http://127.0.0.1:<포트>

또는 명령어별로 직접 지정합니다:

curl -x http://127.0.0.1:<> https://example.com

프록시 포트 변경

기본 프록시 포트가 다른 서비스와 충돌하거나 변경이 필요한 경우, 앱 설정에서 포트를 변경할 수 있습니다.

  1. Cheolsu Proxy 앱의 설정으로 이동합니다
  2. 프록시 포트를 원하는 값으로 변경합니다
  3. 프록시를 재시작합니다

포트를 변경한 후에는 수동으로 프록시를 설정한 모든 곳(브라우저, CLI, 모바일 기기)의 포트도 함께 업데이트해야 합니다.


Upstream Proxy 설정 (프록시 체인)

회사 네트워크처럼 이미 프록시 서버가 존재하는 환경에서는, Cheolsu Proxy가 캡처한 트래픽을 기존 프록시 서버로 전달하도록 Upstream Proxy를 설정할 수 있습니다.

클라이언트 → Cheolsu Proxy → Upstream Proxy (회사 프록시) → 인터넷
graph LR
    A[클라이언트] --> B[Cheolsu Proxy]
    B --> C[Upstream Proxy<br/>회사 프록시 등]
    C --> D[인터넷]

    style B fill:#f9f,stroke:#333,stroke-width:2px
    style C fill:#bbf,stroke:#333,stroke-width:2px

이 설정을 사용하면 기존 네트워크 환경을 유지하면서도 Cheolsu Proxy로 트래픽을 분석할 수 있습니다.

Upstream Proxy 설정은 앱의 설정 메뉴에서 프록시 관련 옵션을 확인하세요.


데몬 아키텍처

Cheolsu Proxy는 데몬(daemon) 기반 아키텍처를 사용합니다. 프록시 데몬은 독립적인 프로세스로 동작하며, 여러 클라이언트가 하나의 데몬에 연결하여 트래픽을 모니터링할 수 있습니다.

┌─────────────────────┐
│   Desktop GUI       │──┐
└─────────────────────┘  │
                         │  Unix Domain Socket
┌─────────────────────┐  │
│   TUI               │──┼──▶ ┌──────────────────┐
└─────────────────────┘  │    │  Proxy Daemon     │ ◀──▶ 인터넷
                         │    └──────────────────┘
┌─────────────────────┐  │
│   MCP Server        │──┘
└─────────────────────┘
graph TB
    A[Desktop GUI] -->|Unix Domain Socket| D[프록시 데몬<br/>Proxy Daemon]
    B[TUI] -->|Unix Domain Socket| D
    C[MCP Server] -->|Unix Domain Socket| D
    D -->|HTTP/HTTPS| E[인터넷]

    style D fill:#f9f,stroke:#333,stroke-width:2px

이 구조의 장점:

  • 동시 접근: Desktop GUI, TUI, MCP Server가 동시에 같은 프록시 데몬에 연결하여 동일한 트래픽 데이터를 볼 수 있습니다
  • 독립적인 클라이언트: 하나의 클라이언트가 종료되어도 데몬과 다른 클라이언트는 영향을 받지 않습니다
  • 유연한 모니터링: GUI로 실시간 트래픽을 보면서, MCP Server로 AI 어시스턴트에게 분석을 요청하는 등 다양한 워크플로우가 가능합니다

모바일 기기 프록시 설정

스마트폰이나 태블릿의 네트워크 트래픽을 캡처하려면, 모바일 기기의 Wi-Fi 프록시를 Cheolsu Proxy가 실행 중인 PC로 설정해야 합니다.

사전 요구사항

  • 모바일 기기와 PC가 같은 Wi-Fi 네트워크에 연결되어 있어야 합니다
  • PC의 로컬 IP 주소를 알아야 합니다

PC의 로컬 IP 주소 확인:

# macOS
ipconfig getifaddr en0

iOS

  1. 설정Wi-Fi에서 연결된 네트워크 옆의 (i) 아이콘을 탭합니다
  2. 하단의 프록시 구성을 탭합니다
  3. 수동을 선택합니다
  4. 서버: PC의 로컬 IP 주소 입력 (예: 192.168.0.10)
  5. 포트: Cheolsu Proxy의 프록시 포트 입력
  6. 저장을 탭합니다

Android

  1. 설정Wi-Fi에서 연결된 네트워크를 길게 누릅니다
  2. 네트워크 수정 (또는 설정 아이콘)을 탭합니다
  3. 고급 옵션을 펼칩니다
  4. 프록시수동으로 변경합니다
  5. 프록시 호스트 이름: PC의 로컬 IP 주소 입력
  6. 프록시 포트: Cheolsu Proxy의 프록시 포트 입력
  7. 저장을 탭합니다

HTTPS 트래픽을 캡처하려면 모바일 기기에도 CA 인증서를 설치해야 합니다. 자세한 내용은 SSL 인증서의 모바일 기기 섹션을 참고하세요.

프록시 해제

모바일 기기에서 프록시 사용을 마치면 반드시 프록시 설정을 **해제(끔)**으로 되돌려야 합니다. 프록시 서버가 중지된 상태에서 프록시 설정이 남아있으면 인터넷 연결이 되지 않습니다.


관련 문서