[Network] HTTP 트래픽 디버깅 마스터: Fiddler 완전 활용 가이드
목차
Fiddler란
Fiddler는 Proxy 방식으로 HTTP/HTTPS 프로토콜을 캡처하고 분석할 수 있는 HTTP 디버거다.
- 브라우저 및 응용 프로그램에서 HTTP 프로토콜을 사용 중이라면 Fiddler로 통신을 분석할 수 있다.
- HTTP와 HTTPS 프로토콜 모두 캡처·분석 가능하다.

Fiddler 화면은 좌측(세션 목록), 우측 상단(요청), 우측 하단(응답) 세 영역으로 구성된다.

세션 클릭 후 Inspectors 탭을 클릭하면 요청값과 응답값을 확인할 수 있다.
Inspectors 탭 세부 기능

1. Statistics (통계)
선택된 트래픽의 전송 크기·수신 크기·요청 시간에 대한 상세 정보를 확인한다.
응답이 실패한 경우 왼쪽 목록에서 붉은색으로 표시된다.

2. Inspectors (검사자)
상단에는 요청(Request), 하단에는 응답(Response) 정보를 표시한다.

Request / Response 패킷 공통 탭
| 탭 이름 | 설명 |
|---|---|
| Headers | 헤더 영역을 Cache·Client·Cookies 등 항목별로 확인 |
| TextView | 바디 영역을 텍스트로 확인 |
| SyntaxView | 바디 영역을 보기 좋은 형태로 확인 |
| WebForms | 파라미터 변수를 정돈된 형태로 확인 |
| HexView | 패킷을 16진수(Hex) 값으로 확인 |
| Auth | 인증 관련 내용 확인 |
| Cookies | 헤더의 쿠키 항목 확인 |
| Raw | 가공되지 않은 원본 패킷 확인 (Burp Suite 형식과 동일) |
| JSON/XML | 패킷을 JSON/XML 형태로 확인 |
Response 패킷 전용 탭
| 탭 이름 | 설명 |
|---|---|
| Transformer | 응답 패킷의 압축 상태 변경 |
| ImageView | 응답이 이미지인 경우 미리보기 |
| Caching | 응답 패킷의 캐시 상태 정보 확인 |
출처: [Fiddler] 주요기능 - 패킷 캡처/변조(Break Point) | 작성자 shionista
3. AutoResponder
특정 패턴의 request/response를 지정한 임의의 파일로 교체할 수 있다.
4. Composer
요청 패킷을 사용자가 직접 작성해서 보낼 수 있는 기능이다.
5. Filter
검색·Mark 기능 외에도 Fiddler 자체 Filter 기능으로 분석에 필요한 패킷만 모니터링할 수 있다.

Use Filters 체크박스를 활성화한 후 세부 필터링 규칙을 적용할 수 있다.
Filter 세부 설정
Host 필터

| 옵션 | 설명 |
|---|---|
| Hide the following Hosts | 기입한 호스트의 패킷을 숨긴다 |
| Show only the following Hosts | 기입한 호스트의 패킷만 보여준다 |
| Flag the following Hosts | 기입한 호스트의 패킷을 강조 표시한다 |
Show only the following Hosts로 필터링하면 원하는 세션에 대해서만 작업할 수 있다.

Actions를 통해 원하는 세션들을 찾을 수도 있다.
Flag the following Hosts로 필터링하면 해당 호스트 패킷에 강조 표시가 된다.

Client Process — 클라이언트 프로세스 단위 필터링
| 옵션 | 설명 |
|---|---|
| Show only traffic from | 지정한 프로세스의 트래픽만 보여준다 |
| Show only Internet Explorer traffic | IE(Internet Explorer) 트래픽만 보여준다 |
| Hide traffic from Service Host | 서비스 호스트의 트래픽을 숨긴다 |
Request Headers 필터

| 옵션 | 설명 |
|---|---|
| Show only if URL contains | 지정 문자열을 포함한 URL만 표시 |
| Hide if URL contains | 지정 문자열을 포함한 URL을 숨김 |
| Flag requests with headers | 지정 헤더가 포함된 요청 패킷을 강조 표시 |
| Delete request headers | 요청 시 지정 헤더를 삭제하고 전송 |
| Set request header | 요청 패킷에 헤더를 추가 |
Show only if URL contains와 Hide if URL contains는 정규표현식 필터를 지원한다.
EXACT:접두사 — 대소문자 구분을 포함한 정확 일치REGEX:접두사 — 정규표현식으로 일치하는 URL 필터

Set request header 필터를 설정하면 모든 요청 패킷에 지정 헤더가 자동으로 추가된다.

Breakpoints 필터
필터링 조건에 맞으면 Break Point가 걸린다.

| 옵션 | 설명 |
|---|---|
| Break request on POST | POST 요청 패킷에 Break Point 설정 |
| Break request on GET with query string | 쿼리 파라미터가 있는 GET 요청에 Break Point 설정 |
| Break on XMLHttpRequest | XMLHttpRequest 패킷에 Break Point 설정 |
| Break response on Content-Type | 지정 Content-Type의 응답에 Break Point 설정 |
Response Status Code 필터
응답 상태 코드(HTTP Status Code)로 필터링한다.

| 옵션 | 설명 |
|---|---|
| Hide success (2xx) | 2xx 응답 패킷을 숨긴다 |
| Hide non-2xx | 2xx 이외의 응답 패킷을 숨긴다 |
| Hide Authentication demands (401,407) | 401·407 응답 패킷을 숨긴다 |
| Hide redirects (300,301,302,303,307) | 리다이렉트 응답 패킷을 숨긴다 |
| Hide Not Modified (304) | 304 응답 패킷을 숨긴다 |
Response Type and Size 필터
응답 패킷의 Content-Type과 **크기(Size)**로 필터링한다.

| 옵션 | 설명 |
|---|---|
| Show all Content-Types | 기본값. 모든 Content-Type 표시 |
| Show only ~ | 해당 Content-Type만 표시 |
| Hide IMAGE/* | 이미지 응답 패킷을 숨긴다 |
| Hide smaller than | 설정 크기(KB)보다 작은 응답을 숨긴다 |
| Hide larger than | 설정 크기(KB)보다 큰 응답을 숨긴다 |
| Time HeatMap | 응답 시간을 색상으로 시각화한다 |
| Block ~ | 해당 종류의 파일 응답을 차단한다 |
Response Headers 필터
응답 패킷의 헤더에 대한 필터링이다.

| 옵션 | 설명 |
|---|---|
| Flag responses that set cookies | Set-Cookie 헤더가 있는 응답에 기울임 표시 |
| Flag responses with headers | 지정 헤더가 포함된 응답 패킷을 강조 표시 |
| Delete response headers | 응답 수신 시 지정 헤더를 삭제 |
| Set response header | 응답 패킷에 헤더를 추가 |