Fiddler는 HTTP/HTTPS 트래픽을 가로채고 분석할 수 있는 웹 디버깅 프록시 도구입니다.
브라우저, 앱, API 클라이언트가 서버와 주고받는 모든 요청·응답을 실시간으로 확인하고, 수정·재전송할 수 있습니다.
💡 대표적인 활용: API 디버깅, CORS 문제 해결, 모킹 테스트, 성능 분석, 모바일 트래픽 캡처 등
시스템 프록시 변경
127.0.0.1:8888로 설정.HTTPS 복호화
요청/응답 처리
| 기능 | 설명 |
|---|---|
| Sessions | 요청 목록(메서드, URL, 상태, 크기, 시간) |
| Inspectors | 헤더, 바디, 쿠키, JSON, Raw 보기 |
| Composer | 과거 요청을 재전송·변경 |
| AutoResponder | 요청에 로컬 파일/커스텀 응답 반환 |
| Rules/Filters | 도메인/프로세스/상태 코드 필터링, 지연, 에러 주입 |
| Timeline/Stats | 단계별 소요 시간 분석 |
Tools > Options > HTTPS > Decrypt HTTPS traffic 활성화 8888http://<PC_IP>:8888 접속 → 인증서 설치설정 > 일반 > 정보 > 인증서 신뢰 설정에서 신뢰 켜기CORS/헤더 디버깅
Access-Control-Allow-* 임시 주입 → 서버 수정 포인트 확인JWT/세션쿠키 추적
모킹 개발
장애·지연 주입
버그 리플레이
WebSocket/WSS 분석
// CORS 헤더 주입
if (oSession.host.Contains("api.myapp.com")) {
oSession.oResponse.headers.Add("Access-Control-Allow-Origin", "*");
oSession.oResponse.headers.Add("Access-Control-Allow-Headers", "Content-Type, Authorization");
}
// 200~800ms 랜덤 지연
if (oSession.uriContains("/search")) {
Thread.Sleep(new Random().Next(200, 800));
}
// 500 에러 강제 주입
if (oSession.uriContains("/fail-me")) {
oSession.utilCreateResponseAndBypassServer();
oSession.oResponse.headers.HTTPResponseCode = 500;
oSession.oResponse.headers.HTTPResponseStatus = "500 Internal Server Error";
oSession.utilSetResponseBody("{\"error\":\"injected\"}");
}
| 버전 | 특징 |
|---|---|
| Classic | Windows 전용, 무료, 스크립트 강력 |
| Everywhere | Win/macOS/Linux, UI 현대적, 일부 기능 유료 |
| Jam | 크롬 확장, 사용자 측 수집/재현 공유 |