mitmproxy — 네트워크 분석 및 진단
최신 도구 가이드 / 네트워크 분석 및 진단 / mitmproxy.html
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 | 웹 보안 테스트 표준, 스캐너는 상용판 | 웹 앱 침투 테스트 워크플로 |
| Fiddler | Windows 중심 GUI 프록시 | Windows 환경의 상시 트래픽 확인 |
| tcpdump | 패킷 단위 원시 캡처(복호화 없음) | 속도·오버헤드가 중요한 네트워크 진단 |
공식 자료 및 추가 학습
- 공식 홈페이지 — https://mitmproxy.org/
- 공식 문서 / 지식베이스 — https://docs.mitmproxy.org/
- 공식 다운로드 — https://mitmproxy.org/downloads/
- 릴리스 노트 — https://github.com/mitmproxy/mitmproxy/blob/main/CHANGELOG.md
- 소스 / 개발 자료 — https://github.com/mitmproxy/mitmproxy
버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.
실제 실행 화면
아래는 사용 흐름을 이해하기 위해 만든 합성 예시 화면입니다(실제 실행 결과 아님). 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

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