mitmproxy — 네트워크 분석 및 진단

최신 도구 가이드 / 네트워크 분석 및 진단 / mitmproxy.html

네트워크 분석 및 진단원문등록 2026-10-18

HTTPS 트래픽을 중간에서 열어보고 수정할 수 있는 무료 인터셉팅 프록시로, 보안 테스트와 API 디버깅에 쓰입니다.

기본 정보

프로그램 이름mitmproxy (미트미프록시)
한 줄 소개HTTPS 트래픽을 중간에서 열어보고 수정할 수 있는 무료 인터셉팅 프록시로, 보안 테스트와 API 디버깅에 쓰입니다.
개발·유지mitmproxy authors (Aldo Cortesi, Maximilian Hils)
공식 홈페이지https://mitmproxy.org/
공식 문서https://docs.mitmproxy.org/
공식 다운로드https://mitmproxy.org/downloads/
지원 운영체제Linux, macOS, Windows (Python 3.12 이상)
라이선스MIT
안정 버전12.2.3 (2026-05-12 출시) — 확인일 2026-10-18
GitHub 저장소https://github.com/mitmproxy/mitmproxy
분류네트워크 분석 및 진단 (태그: 프록시, HTTPS, 패킷 분석, API 디버깅, 보안)

이 프로그램은 무엇인가?

mitmproxy는 클라이언트와 서버 사이에 프록시를 두고 HTTPS 통신을 복호화해 보여 주는 무료 프록시입니다. 브라우저나 모바일 앱이 보내는 요청·응답을 목록으로 보고, 필요한 요청을 고쳐 다시 보내거나 가짜 응답을 만들 수 있습니다.

인터페이스가 세 가지입니다. 대화형 콘솔(mitmproxy), 브라우저 UI(mitmweb), 그리고 스크립트·로그 전용 CLI(mitmdump). 모바일 앱 감사, REST API 디버깅, 웹 자동화 전 점검에 주로 쓰입니다.

어떤 문제를 해결하는가?

  • ('모바일·앱 디버깅에서', '앱이 어떤 서버에 무엇을 보내는지 모르겠을 때', '캡처 목록에서 요청 헤더·바디를 그대로 확인할 수 있습니다.')
  • ('API 개발에서', '클라이언트 요청이 잘못됐는지 서버 응답이 문제인지 구분이 필요할 때', '중개 지점에서 요청·응답을 나눠 볼 수 있습니다.')
  • ('보안 점검에서', 'HTTPS라 내용이 안 보인다고 느낄 때', '프록시 인증서를 설치하면 복호화된 트래픽을 읽을 수 있습니다.')

주요 기능

HTTPS 인터셉트

TLS 통신을 중간에서 복호화해 요청·응답을 표시

  • 활용 상황: HTTPS API를 디버깅할 때
  • 얻는 결과: 암호화돼 안 보이던 헤더·바디 확인
  • 제한 사항: 대상 앱이 인증서 고정(pin)을 쓰면 캡처가 안 될 수 있습니다.

요청 수정·재전송

캡처한 요청의 헤더·파라미터를 수정해 다시 보내기

  • 활용 상황: 파라미터 값을 바꿔 가며 테스트할 때
  • 얻는 결과: 서버 반응을 빠르게 검증
  • 제한 사항: 재전송이 잦으면 서버 측 로그·Rate limit에 영향을 줄 수 있습니다.

addon 스크립트(Python)

캡처 이벤트에 붙는 Python 스크립트로 자동화

  • 활용 상황: 반복 필터링·자동 응답이 필요할 때
  • 얻는 결과: 캡처·매핑을 스크립트로 처리
  • 제한 사항: 스크립트 오류는 통신을 막을 수 있어 테스트 환경에서 확인 필요.

mitmdump 로깅

헤드리스 환경에서 캡처를 파일로 저장

  • 활용 상황: 서버에서 배치 감사·자동화
  • 얻는 결과: 나중에 mitmproxy로 다시 열 수 있는 로그 확보
  • 제한 사항: 대용량 트래픽은 로그 크기 관리가 필요합니다.

설치 및 실행

Linux (pip)

pipx 또는 pip로 설치합니다. Python 3.12 이상이 필요합니다.

pipx install mitmproxy
# 또는
pip3 install mitmproxy

Linux (배포판 패키지)

일부 배포판은 저장소 버전을 제공합니다. 버전이 오래될 수 있으므로 공식 다운로드 확인 권장.

sudo apt install mitmproxy   # 저장소 버전(최신 아닐 수 있음)

macOS / Windows

홈브리우 또는 공식 설치 파일을 사용합니다.

brew install mitmproxy   # macOS
# Windows: mitmproxy.org/downloads 에서 MSI

실제 사용 예제

브라우저 트래픽 캡처

mitmweb을 띄우고 브라우저 프록시 설정(또는 환경변수)을 지정합니다. 브라우저가 mitm.it에서 인증서를 설치하면 HTTPS도 복호화됩니다.

$ mitmweb --listen-port 8080
브라우저: HTTP 프록시 127.0.0.1:8080
# http://mitm.it 접속 후 인증서 설치

모바일 앱 캡처

폰과 PC를 같은 네트워크에 두고 폰의 Wi-Fi 프록시를 PC IP:8080으로 설정한 뒤, 폰 브라우저로 mitm.it에 접속해 인증서를 설치합니다.

$ mitmproxy --listen-port 8080
폰 Wi-Fi 고급 > 프록시: 수동 > 192.0.2.20:8080

요청 필터링·수정

콘솔에서 f 키로 필터(e.g. ~d api.example.com)를 걸고, i 키로 인터셉트 모드에 들어 요청을 고친 뒤 다시 보냅니다.

$ mitmproxy
> f ~d api.example.com
> i  (intercept) → 수정 → a (accept)

장점과 한계

장점

  • 완전 무료·오픈소스(MIT) — 상용 프록시 없이 HTTPS 중개 가능
  • 콘솔·브라우저 UI·스크립트 CLI 세 인터페이스 제공
  • HTTP/1·HTTP/2·HTTP/3·WebSocket까지 폭넓은 프로토콜 지원
  • Python addon으로 자동화·스캔 파이프라인 결합이 쉬움

사용 전에 고려할 점

  • 대상 앱이 인증서 고정을 사용하면 트래픽을 복호화하기 어렵습니다.
  • 인증서 설치·프록시 설정 과정이 필요해 초보자에게 진입 장벽이 있습니다.
  • HTTPS 복호화 특성상 개인정보·자격증명이 로그에 남을 수 있어 주의가 필요합니다.

비슷한 프로그램과 비교

프로그램특징이런 경우에 적합
Burp Suite Community웹 보안 테스트 표준, 스캐너는 상용판웹 앱 침투 테스트 워크플로
FiddlerWindows 중심 GUI 프록시Windows 환경의 상시 트래픽 확인
tcpdump패킷 단위 원시 캡처(복호화 없음)속도·오버헤드가 중요한 네트워크 진단

공식 자료 및 추가 학습

버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.

실제 실행 화면

아래는 사용 흐름을 이해하기 위해 만든 합성 예시 화면입니다(실제 실행 결과 아님). 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

mitmproxy 예시: mitmweb 실행, 캡처된 API 요청 목록

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.