Don't Panic
in Network ☕ 7분 읽기

[Network] HTTP 트래픽 디버깅 마스터: Fiddler 완전 활용 가이드

목차

Fiddler란

Fiddler는 Proxy 방식으로 HTTP/HTTPS 프로토콜을 캡처하고 분석할 수 있는 HTTP 디버거다.

  • 브라우저 및 응용 프로그램에서 HTTP 프로토콜을 사용 중이라면 Fiddler로 통신을 분석할 수 있다.
  • HTTP와 HTTPS 프로토콜 모두 캡처·분석 가능하다.

Fiddler 메인 화면

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

세션 목록 화면

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


Inspectors 탭 세부 기능

Inspectors 탭 전체

1. Statistics (통계)

선택된 트래픽의 전송 크기·수신 크기·요청 시간에 대한 상세 정보를 확인한다.

응답이 실패한 경우 왼쪽 목록에서 붉은색으로 표시된다.

Statistics 탭

2. Inspectors (검사자)

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

Inspectors 상세

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 기능으로 분석에 필요한 패킷만 모니터링할 수 있다.

Filter 활성화 화면

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


Filter 세부 설정

Host 필터

Host 필터 설정

옵션설명
Hide the following Hosts기입한 호스트의 패킷을 숨긴다
Show only the following Hosts기입한 호스트의 패킷만 보여준다
Flag the following Hosts기입한 호스트의 패킷을 강조 표시한다

Show only the following Hosts로 필터링하면 원하는 세션에 대해서만 작업할 수 있다.

Actions를 통한 세션 필터

Actions를 통해 원하는 세션들을 찾을 수도 있다.

Flag the following Hosts로 필터링하면 해당 호스트 패킷에 강조 표시가 된다.

Flag 필터 결과

Client Process — 클라이언트 프로세스 단위 필터링

옵션설명
Show only traffic from지정한 프로세스의 트래픽만 보여준다
Show only Internet Explorer trafficIE(Internet Explorer) 트래픽만 보여준다
Hide traffic from Service Host서비스 호스트의 트래픽을 숨긴다

Request Headers 필터

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 containsHide if URL contains정규표현식 필터를 지원한다.

  • EXACT: 접두사 — 대소문자 구분을 포함한 정확 일치
  • REGEX: 접두사 — 정규표현식으로 일치하는 URL 필터

URL contains 필터 적용 결과

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

Set request header 적용 결과


Breakpoints 필터

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

Breakpoints 설정

옵션설명
Break request on POSTPOST 요청 패킷에 Break Point 설정
Break request on GET with query string쿼리 파라미터가 있는 GET 요청에 Break Point 설정
Break on XMLHttpRequestXMLHttpRequest 패킷에 Break Point 설정
Break response on Content-Type지정 Content-Type의 응답에 Break Point 설정

Response Status Code 필터

응답 상태 코드(HTTP Status Code)로 필터링한다.

Response Status Code 필터

옵션설명
Hide success (2xx)2xx 응답 패킷을 숨긴다
Hide non-2xx2xx 이외의 응답 패킷을 숨긴다
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)**로 필터링한다.

Response Type and 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 필터

응답 패킷의 헤더에 대한 필터링이다.

Response Headers 필터

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