웹/Tools

Fiddler 단축키 / Script / Quick Exec 모음

parktest0325 2019. 7. 19. 15:44

단축키

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