Fiddler 단축키 / Script / Quick Exec 모음
단축키
Alt+Q 로 QuickExec Focus 가능
Ctrl+R : Fiddler ScriptEditor
Ctrl+X : session clear
Del : session delete
Shift+Del : exclusive session delete
스크립트 넣는 위치
Request 전 : static function OnBeforeRequest(oSession: Session){ ... }
Response 전 : static function OnBeforeResponse(oSession: Session){ ... }
앱 실행시 : static function OnBoot(){ ... }
앱 종료전 : static function OnBeforeShutdown(){ ... }
ExecAction : static function OnExecAction(sParams: String[]): Boolean
스크립트 예제
Request URL 변경
if (oSession.uriContains('/HD/miplatform/ui/mdi/Domain_loc.xml')){
oSession.url="www.test.com/HD/miplatform/ui/mdi/Domain_eng.xml";
}
Request 헤더 값 변경
if (oSession.uriContains("web04_ck.asp")){
oSession.oRequest["User-Agent"] = "SuNiNaTaS";
}
쿠키 삭제, 값 변경
//추가
oSession.oRequest["Cookie"] = oSession.oRequest["Cookie"] + "; TestCookie=Test;"; // 기존 쿠키값 보존
oSession.oRequest.headers.Add("Cookie","JSESSION=abc"); // 마찬가지로 기존쿠키값 보존
oSession.oRequest["Cookie"] = "aaa=aaa; bbb=bbb;"; // Overwrite라서 수정도 가능
//삭제
oSession.oRequest.headers.Remove("Cookie")
//부분만 수정
oSession.oRequest["Cookie"] = oSession.oRequest["Cookie"].Replace("accessInOutDiv=IN","accessInOutDiv=OUT");
Request 파라미터 가져오기
if (oSession.uriContains('qms20/file/downloadAttFile.do?md')){
var s = oSession.GetRequestBodyAsString().Split("&")[1].Split("=")[1];
FiddlerObject.alert(s);
// 두번째 파라미터의 값을 s에 저장 후 alert로 출력
}
Response Body 값 변경
if (oSession.uriContains("/main/top_menu.aspx")){
oSession.utilReplaceInResponse('<object id="WebSafer"','<!--<object id="WebSafer"');
oSession.utilReplaceInResponse('MRButton" value="1" />','MRButton" value="1" />--><object>');
}
Disable Caching / Cache Always Fresh
검색해서 false -> true로 변경
public static RulesOption("&Disable Caching", "Per&formance")
var m_DisableCaching: boolean = true;
public static RulesOption("Cache Always &Fresh", "Per&formance")
var m_AlwaysFresh: boolean = true;
Request, Response Body에 Hex값을 정확히 넣고싶을 때
// 저장
oSession.SaveRequestBody("c:\\test\\1313.txt");
// 불러오기
osession.LoadRequestBodyFromFile("c:\\test\\1313.txt");
세션 색 변경
if (oSession.uriContains("checkUserPermission")) {
oSession["ui-color"] = "#FFFFFF";
oSession["ui-backcolor"] = "red";
}
바로가기 키 등록
컨트롤 + G 키를 누르면 "go" 명령이 실행된다.
static function OnBoot() {
UI.RegisterCustomHotkey(HotkeyModifiers.Control, Keys.G, "go");
}
프로세스 실행
System.Diagnostics.Process.Start("c:\\windows\\cmd.exe","/c calc.exe");
특정 환경에서의 스크립트
빠른 명령줄
bpu www.test.com/login.php
break point url : 해당 URL을 요청할때 브레이크포인트를 걸 수 있다. (=before request)
해제할 땐 그냥 bpu만 입력
?sometext
sometext가 포함된 url을 선택
>40000
응답크기가 40000 바이트 이상인 세션 선택
<300
응답크기가 300 바이트 이하인 세션 선택
=301
=POST
301 상태코드 선택, POST 요청 선택
!nslookup www.google.com
HTTPS 인증서로 보호되는 다른 포트에서 추가리스너 설정
!listen 8889
!listen 4443 localhost
!listen 444 secure.example.com