소개
Mitmproxy는 Aldo Cortesi, Maximilian Hils, Thomas Kriechbaumer가 개발한 무료 오픈소스 인터랙티브 HTTPS 프록시입니다. HTTP/1, HTTP/2, HTTP/3, WebSockets 및 기타 SSL/TLS 보호 프로토콜의 웹 트래픽을 가로채고 검사, 수정, 재생할 수 있습니다. 이 도구는 개발자, 테스터, 보안 전문가가 애플리케이션의 네트워크 통신을 디버깅하고 분석하는 데 사용됩니다.
상세정보
트래픽 인터셉트 및 검사
Mitmproxy는 HTTP/1, HTTP/2, HTTP/3, WebSockets 및 기타 SSL/TLS 보호 프로토콜의 웹 트래픽을 가로채서 요청과 응답을 실시간으로 볼 수 있습니다. 각 흐름은 메서드, URL, 상태 코드, 콘텐츠 유형, 크기 및 응답 시간을 포함하여 상세히 표시됩니다.
트래픽 수정 및 재생
가로채진 트래픽은 목적지에 도달하기 전에 수정할 수 있으며, 나중에 클라이언트 또는 서버로 재생할 수 있습니다. 이는 API 테스트, 디버깅 및 보안 검사에 유용합니다.
웹 기반 인터페이스 (mitmweb)
Mitmproxy는 mitmweb이라는 웹 기반 인터페이스를 제공하여 Chrome의 DevTools와 유사한 그래픽 환경에서 트래픽을 볼 수 있습니다. 요청 가로채기 및 재생과 같은 추가 기능을 제공합니다.
Python API 및 애드온
Mitmproxy는 스크립팅 API를 통해 애드온을 작성하거나 mitmdump와 함께 사용할 수 있습니다. 이를 통해 트래픽을 자동으로 수정하거나 리디렉션하고, 메시지를 시각화하거나 사용자 정의 명령을 구현할 수 있습니다.
다운로드·설치 방법
공식 웹사이트에서 Windows Installer를 다운로드할 수 있습니다. 또한 Microsoft Store에서 받거나, Scoop을 통해 scoop install mitmproxy 명령으로 설치할 수 있습니다. Linux에서는 brew install mitmproxy 또는 Docker Hub에서 바이너리를 받을 수 있습니다.
기본 사용법/명령어
설치 후 터미널에서 mitmproxy 명령을 실행하면 콘솔 기반 인터페이스가 시작됩니다. 여기서 흐름 목록을 보고 방향 키로 항목을 선택하여 상세 내용을 볼 수 있습니다. mitmdump는 명령줄 버전으로, tcpdump처럼 HTTP 트래픽을 기록하고 볼 수 있습니다. mitmweb를 실행하면 웹 인터페이스가 브라우저에서 열립니다.
이런 경우에 유용합니다
웹 애플리케이션의 API 통신을 디버깅해야 하는 개발자는 Mitmproxy를 사용하여 요청과 응답을 실시간으로 볼 수 있습니다. 보안 전문가는 이 도구를 통해 중간자 공격을 시뮬레이션하거나 민감한 데이터 유출을 테스트할 수 있습니다. 테스터는 특정 인터셉트 및 수정 기능을 통해 다양한 시나리오를 재현하여 애플리케이션의 동작을 검증할 수 있습니다.
화면으로 보는 주요 기능
미트프록시 흐름 목록 화면

터미널 기반 인터페이스에서 HTTP 요청과 응답 로그가 표시된 화면입니다. 각 항목은 GET 또는 POST 메서드, URL, 상태 코드(예: 200), 콘텐츠 유형, 크기, 응답 시간을 포함합니다. 하단에는 '[14/36]'와 '[* :9999]'라는 정보가 표시되며, 'replay.client'라는 텍스트가 입력된 명령줄이 있습니다.
미트프록시 웹 인터페이스 화면

웹 기반 인터페이스에서 HTTP 흐름 목록이 표시된 화면입니다. 'Path', 'Method', 'Status', 'Size', 'Time' 열이 있는 테이블이 있으며, 각 행은 특정 요청을 나타냅니다. 오른쪽에는 'Request' 탭이 선택된 상태로, 'HTTP/1.1 204 No Content'와 'Content-Type: text/html; charset=utf-8' 등의 응답 헤더가 보입니다. 상단에는 'Replay', 'Duplicate', 'Revert', 'Delete', 'Download', 'Export', 'Resume', 'Abort' 등의 버튼이 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


