Fiddler에서 특정 URL 패턴으로 들어오는 request를 가로채서 특정 Response를 보내도록 설정 합니다.
규칙설정
기본적으로 Fiddler는 요청 URL에 대해 대/소문자를 구분하지 않는 일치를 수행합니다.
일치 섹션에서 단어를 입력할 수 있으며 해당 단어가 있는 모든 요청을 설정된 응답으로 적용됩니다. 예를 들어 "academic"라는 단어는 다음 요청 URL과 일치합니다.
- https://academic.com
- https://academic.example.com
- https://example.com/academic
- https://example.com/search?q=Academic
.
다음 매개변수를 사용하여 특정 지시문을 제공할 수 있습니다.
- EXACT:URL – 대소문자를 구분하여 요청 URL과 정확히 일치합니다.
- NOT:string – 언급된 문자열이 포함되지 않은 요청 URL과 일치하는 URL, URL 경로 또는 URL의 단어일 수도 있습니다.
- regex:string – 요청 URL에 대해 정규식을 찾습니다. Fiddler Everywhere는 .NET 정규식 엔진을 사용하여 이러한 식을 평가합니다.
규칙 작업에는 다음이 옵션이 포함됩니다.
- *reset – 응답을 보내지 않고 클라이언트 연결을 끊습니다.
- *delay:x – 서버에 대한 요청을 "x" 밀리초 단위로 지연시킵니다.
- *ReplyWithTunnel– HTTPS 트래픽에 대해 HTTP/200 터널로 응답합니다. 예: CONNECT 메서드입니다.
- *CORSPreflightAllow – CORS(교차 원본 리소스 공유) 요청에 대한 액세스를 허용합니다.
- *header:HeaderName=NewValue – 헤더 값을 지정된 값으로 변경합니다.
- *redir:https://example.com – 언급된 대상 URL로 리디렉션(HTTP/307)합니다.
- https://example.com – 대상 URL을 리포지션으로 반환합니다.
- 수동으로 조작된 응답 반환 – 이전에 서버에서 반환한 현재 응답(HTML, JS, JSON)을 수정할 수 있습니다.
정규식을 사용하는 경우
regex:http://pass.hujiang.com/test/(.*)$(.*)$
REGEX:^http://192\.168\.9\.1\:8080/WF/pages.+/([^/]+)\.swf.*$
1) 순수 문자열 매칭
- * – 모든 문자열에 일치
- example – 대소문자 구분 없이 example 문자열에 일치 https://example.com/academic
- /paht1 – 대소문자 구분 없이 /paht1 문자열에 일치 https://example.com/paht1?query=academic
- query – 대소문자 구분 없이 example 문자열에 일치 https://example.com/paht1?p=query
2) NOT 규칙
NOT: 이 규칙은 URL에 지정된 문자가 포함되지 않은 모든 요청과 일치합니다.
- example – 대소문자 구분 없이 example 문자열에 일치 https://test.com/academic
3) EXACT 규칙
EXACT가 접두사로 붙이는 경우 대소문자를 구분합니다.
4) REGEX 정규식
Fiddler는 regex: 접두사가 붙은 정규식 구문을 지원합니다.
- .+를 사용하여 하나 이상의 문자를 일치시키고,
- .*를 사용하여 0개 이상의 문자를 일치시키고,
- ^를 사용하여 문자열의 시작 위치와 일치시키고,
- $를 사용하여 문자열의 끝과 일치시킵니다.
적용예시
- regex:.+ : 하나 이상의 만자가 포함된 모든 URL https://example.com/academic
- regex:.+\.jpg.* : .jpg가 포함된 모든 URL
https://example.com/foo.jpg?q=bar
https://example.com/foo.jpg - regex:.+\.jpg$ : .jpg로 끝나는 모든 URL
https://example.com/foo.jpg?q=bar
https://example.com/foo.jpg - regex:.+\.(jpg|gif|png)$ : .jpg .gif .png 로 끝나는 URL
- regex:(?insx).+\.(jpg|gif|png)$ : 대소문자를 구분하여 .jpg .gif .png 로 끝나는 URL
※참고: 옵션 문자열(?insx)의 기능은 대소문자 구분 제한 활성화, # 기호를 사용한 주석 추가 지원
응답 문자열 설정
- 파일경로 : 파일 이름의 내용을 응답으로 반환합니다. (피들러 row 값에 포멧 사용)
- url경로 : 해당 url의 호출 결과를 응답으로 반환합니다.
- *redir:http://....com : 해당 url로 리다이렉션 응답
- *bpu : 요청을 보내기전에 중단점 설정
- *bpafter : 응답을 보내기전에 중단점 설정
- *delay:#### : 지연시간을 초단위로 설정
- *header:HeaderName=NewValue: 지정된 Name을 가진 Request 헤더를 지정된 값으로 설정합니다. (없으면 새로 추가됨)
- *flag:Name=NewValue: 지정된 이름의 세션 플래그를 지정된 값으로 설정하십시오.
- *CORSPreflightAllow: CORS가 허용됨을 나타내는 응답을 반환합니다.
- *reset: 클라이언트에 대한 TCP/IP RST를 사용하여 즉시 클라이언트 연결을 재설정합니다.
- *drop: 응답을 보내지 않고 즉시 클라이언트 연결을 닫습니다.
- *exit: 이 시점에서 규칙 처리를 중지합니다.
5) 메소드 매치
GET 요청 만 일치 구문을 지원합니다.
- METHOD:GET EXACT:http://example.com/path
CORS 허용 설정
METHOD:OPTIONS https://example.com 일치 조건 사용
작업 *CORSPreflightAllow
CORS(Cross-Origin-Resource-Sharing) 실행 전 요청에 응답하여 클라이언트에 대상 리소스에 액세스할 수 있는 권한을 부여합니다.
'IT' 카테고리의 다른 글
Fiddler HTTPS 인증서 오류 시 해결방법 (0) | 2023.10.17 |
---|---|
[Fiddler] 설치 및 설정 방법 (0) | 2022.10.01 |
[Fiddler] 피들러를 사용한 웹브라우저 hosts 적용하기 (0) | 2022.10.01 |
[Fiddler] 피들러 호출 경과시간 보기 (0) | 2022.10.01 |
[Fiddler] 브레이크포인트(Breakpoints) 설정 (0) | 2022.10.01 |