20. 클라이언트가 특정 서버를 통해서 다른 네트워크 서비스에 간접적으로
접속할 수 있게 해주는 컴퓨터나 응용 프로그램을 프록시 서버한다.
Client Service Server
directly transport to server
indirectly transport to server
Service ServerProxy Server
Clients
packet
26. 설치에 관련된 특이사항
- Telerik사에서 만든 웹 디버깅 프로그램
- Windows, MAX OS, Linux Debian (주), Fedora
- 리눅스의 설정은 프록시 직접 설정 해주어야한다.
- 실제 리눅스에서 피들러를 이용해본 결과 설정 진짜 번거롭다.
- Windows는 자동으로 잡힌다.
- Browser에서 자동으로 잡히는 경우가 있지만, 자동으로 프록시 설정이
안 잡힌다면, 직접 설정해주어야 한다.
라이선스
- 이건 프리웨어기 때문에 Fiddler 로 인한 고장은 Telerik 에서 보장해주지 않는다.
- 옵션으로 당신의 데이터들이 나중의 Telerik 제품을 위해서 전송이 될 텐대 이 정보들은
익명(Anonymous)으로 전송될 것이다. 원하지 않으면 설정에서 변경하라.
- 이 소프트웨어의 법과 규칙들은 전부 미국의 수출 법률을 준수한다.
- 이것은 서드파티의 유틸리티로서 사용이 가능하며, Telerik 에서 제공하는것이다.
- 이 소프트웨어를 이용하여 재가공, 재배포하여 돈을 버는짓을 하면 법적 제재를 가한다.
27. Fiddler 특징
웹 디버깅
성능 테스트
HTTP/HTTPS
트래픽 기록
웹 세션 조작 보안 테스트
커스터 마이징
쿠키, 헤더, 캐쉬를 조회할 수 있으며 서버
의 언어, 클라이언트의 운영체제 및 디바이스
에 관계없이 사용할 수 있다.
서비스 되는 웹 페이지의 무게를 측정하거나
네트워크의 병목현상도 감지할 수 있다.
쉽게 웹 세션을 조작할 수 있고, 모든 세션
작업에서 pause를 걸 수 있으며, 접속자의 요
청과 응답을 조작할 수 있습니다.
피들러를 사용해서 웹 어플리케이션에 대한
보안(https)를 테스트할 수 있으니, 피들러를
통해서 https의 요청을 해석해봅시다
피들러는 확장성이 큰 유틸 프로그램입니다.
간단한 피들러 스크립트는 (.NET 언어로 작성
되어 있다.)
피들러는 http 프록시 웹 디버거이기 때문에
TLS의 패킷들을 감청할 수 있다.
28. 여기 까지 왔으면 다운로드가 끝나 있을 것이다.
이제! 피들러(Fiddler.exe)를 실행시켜 보자.
29. 설치를 완료하고 실행시킨 뒤, 아무 웹 페이지를 들어가면 다음과 같이
자동적으로 Fiddler가 http에 대한 패킷을 감청할 것이다.
52. 브레이크 포인트는 동작 중 특정 지점에서 멈춰 세우는 의미로
Fiddler 에서는 브레이크 포인트를 걸 수 있는 방법이 세 가지 있습니다.
53. 1. 프로그램 제어 메뉴에서의 Break Point
2. 프로그램의 상태 표시줄에서의 Break Point(1번과 동일기능)
3. 빠른 명령줄에서의 스크립팅 이용 (유연한 프레이크 포인트 가능)
54. ①
②
③
- 1번과 2번은 같은 기능으로 써 Break Point의 시점을
요청 전과 응답 후 로 지정할 수 있습니다.
- 3번은 빠른 명령 실행으로 Alt+Q로 Focus를
이동시킬 수 있습니다.
- 3번에 대한 빠른 명령 실행 Document
http://docs.telerik.com/fiddler/KnowledgeBase/QuickExec
56. Fiddler의 메인 화면에서 [Alt + Q] 단축키를 누르고
‘bpu smartlock.fun25.co.kr/dydwls121200@gmail.com’ 을 입력해 봅시다.
브레이크 포인트 관련 명령어를 알아보자
-bpu : break point url
-bpafter : break point [response] after
-bpbefore : break point [request] before
Ex) bpu smartlock.fun25.co.kr/dydwls121200@gmail.com
57. Break Point 가 걸린 웹 패킷
Response 에도 Break Point를 걸거나
조작(Manipulation)작업의 완료를 선택함
스크립트가 적용되면 해당 영역에 표시됨
uri 명이 smartlock.fun25.co.kr/dydwls121200@gmail.com 일 경우에 Break Point에 걸림
Notice !! bpu 명령어는 요청전에 break point를 걸어버린다.
60. 우선, 빠른 명령줄에서 [Alt + Q]‘bpu smartlock.fun25.co.kr/login.do’을 입력해 봅시다.
**Break point 의 해제는 ‘bpu ’만 입력하세요!
상태 표시 줄에서 cleard break point 라는 메시지가 나타날 것입니다.
85. 2. 지금 웹 패킷을 받고 싶지 않아….
패킷 캡쳐의 중단은 세 가지 방법이 있다. 매우 심플하니 길게 설명할 것 도 없다.
- F12 키를 누른다.
- File-> Capture Traffic 을 체크한다.
- 좌측 하단의 Capturing 상태를 클릭한다.
86.
87. 3. A와 B의 패킷을 비교하고 싶어요….
Ctrl 로 두 개의 패킷만 선택합니다. 그리고 오른쪽 클릭하고
‘Compare’ 를 누르거나 ‘[Ctrl]+w’를 누르면 됩니다.
88. 피들러는 Text Compare Tool을 기본적으로 ‘WinMerge’를 사용하는데
기본적으로 독자 여러분의 컴퓨터에서 WinMerge는 설치되어 있지 않다.
그러므로 Error Alert를 뿜을 것이다.
89. 그러니 우리는 ‘WinMerge’를 설치해서 사용하면 됩니다.
이 기능 하나 쓰겠다고 WinMerge를 사용해야 하나 자괴감 들고 괴롭겠지만,
나름 실무에서 로그 분석할 때나 소스 분석할 때 유용하게 쓰일 수 있습니다.
설치하고 후회는 들지 않을 것입니다. (무료라구요 무료!)
WinMerge는 이클립스에서 Text비교하기 번거로울 때 가볍게 쓰기 좋은 툴이기도 합니다.
참고 : http://winmerge.org/
90. 다운로드 완료 후, 다시 비교하고 싶은 두 패킷을 선택한 다음 ‘Ctrl+w’를 눌러주면
다음 화면과 같이 ‘WinMerge’가 실행되어 두 패킷을 비교합니다.
91. 4. 페이지의 무게와 리소스 로드 시간을 알고 싶어요….
패킷의 용량과 로드 된 시간을 파악하기 위해서는
우측 패널의 Timeline기능을 활용하면 됩니다.
97. 이제 좀 피들러에 대해 감이 잡히시나요? 이 피피티를 작성하면서 저도 몰랐던것
들을 여럿 배웠는대요. 아마 부분 틀린 지식들이 있을거 같기도 합니다.
저 이외에 다른 사람들 보여준다고 이것저것 준비해보았는데, 읽고나서 도움이
되었으면 합니다.
그럼
Happy Hacking!!
98. 피드백이나 질문메일은 언제나 환영합니다.
제 개인메일로 메일 주시면 친절히 답변 드리겠습니다.
Happy Hacking!
dydwls121200@gmail.com
조용진
99. References
참고 1 : http://www.mehdi-khalili.com/fiddler-in-action/part-1/
참고 2 : http://www.mehdi-khalili.com/fiddler-in-action/part-2/
참고 3 : http://www.telerik.com/fiddler/add-ons [Fiddler 확장 프로그램]
참고 4 : https://www.youtube.com/watch?v=8bo5kXMAcV0 [Fiddler 공식 영상]
참고 5 : http://winmerge.org/ [WinMerge 공식 홈페이지]