SlideShare a Scribd company logo
1 of 99
Download to read offline
피들러(Fiddler Web Debugger)에 대해
알아보자
dydwls121200@gmail.com
조용진
Likemilk
피들러...?
웹(http)...?
웹 디버거 !!!!!
그..... 그만 알아보자.
fiddle [|fɪdl]
①[자.동] 만지작거리다
②[타.동] (세부 사항을) 조작하다
③= violin
④ [명] 조작, 사기
조작하고 속인다.
ServerHost
(Capturing)
Clients
감청 조작
HTTP Request HTTP Request
HTTP ResponseHTTP Response
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddle !!
fiddler = 무료 http 패킷 디버거 툴
피들러(Fiddler)는 어떻게 생겼을까?
요청과 응답들의 목록
응답
요청
피들러(Fiddler)는 어떤 원리를
이용해서 감청하고 조작해줄까?
프록시(Proxy)
피들러는 유틸 프로그램으로써
사용자 컴퓨터의 프록시 서버역할을 한다.
프록시란 것은 뭘까?
프록시(Proxy)?
proxy [|prɑːksi]
① [명] 대리(권)
② [명] 대리인
클라이언트가 특정 서버를 통해서 다른 네트워크 서비스에 간접적으로
접속할 수 있게 해주는 컴퓨터나 응용 프로그램을 프록시 서버한다.
Client Service Server
directly transport to server
indirectly transport to server
Service ServerProxy Server
Clients
packet
피들러(Fiddler)가 프록시(Proxy) 서버이기 때문에
모든 패킷을 조작하고 감청할 수 있다.
단,
패킷들이 피들러(Fiddler) 프록시 서버를 통해서 전송하며,
HTTP 서비스 프로토콜을 이용한 통신일 경우에 한해서만!
Fiddler에 대한 개괄적인 동작 원리는 프록시 서버의 응용이다.
이론은 끝이다. 설치를 해보자! (끝이 어디 있겠습니까. 허허….)
Fiddler Install https://www.telerik.com/download/fiddler다운로드 링크
다운로드 하면서 읽어 보자
설치에 관련된 특이사항
- Telerik사에서 만든 웹 디버깅 프로그램
- Windows, MAX OS, Linux Debian (주), Fedora
- 리눅스의 설정은 프록시 직접 설정 해주어야한다.
- 실제 리눅스에서 피들러를 이용해본 결과 설정 진짜 번거롭다.
- Windows는 자동으로 잡힌다.
- Browser에서 자동으로 잡히는 경우가 있지만, 자동으로 프록시 설정이
안 잡힌다면, 직접 설정해주어야 한다.
라이선스
- 이건 프리웨어기 때문에 Fiddler 로 인한 고장은 Telerik 에서 보장해주지 않는다.
- 옵션으로 당신의 데이터들이 나중의 Telerik 제품을 위해서 전송이 될 텐대 이 정보들은
익명(Anonymous)으로 전송될 것이다. 원하지 않으면 설정에서 변경하라.
- 이 소프트웨어의 법과 규칙들은 전부 미국의 수출 법률을 준수한다.
- 이것은 서드파티의 유틸리티로서 사용이 가능하며, Telerik 에서 제공하는것이다.
- 이 소프트웨어를 이용하여 재가공, 재배포하여 돈을 버는짓을 하면 법적 제재를 가한다.
Fiddler 특징
웹 디버깅
성능 테스트
HTTP/HTTPS
트래픽 기록
웹 세션 조작 보안 테스트
커스터 마이징
쿠키, 헤더, 캐쉬를 조회할 수 있으며 서버
의 언어, 클라이언트의 운영체제 및 디바이스
에 관계없이 사용할 수 있다.
서비스 되는 웹 페이지의 무게를 측정하거나
네트워크의 병목현상도 감지할 수 있다.
쉽게 웹 세션을 조작할 수 있고, 모든 세션
작업에서 pause를 걸 수 있으며, 접속자의 요
청과 응답을 조작할 수 있습니다.
피들러를 사용해서 웹 어플리케이션에 대한
보안(https)를 테스트할 수 있으니, 피들러를
통해서 https의 요청을 해석해봅시다
피들러는 확장성이 큰 유틸 프로그램입니다.
간단한 피들러 스크립트는 (.NET 언어로 작성
되어 있다.)
피들러는 http 프록시 웹 디버거이기 때문에
TLS의 패킷들을 감청할 수 있다.
여기 까지 왔으면 다운로드가 끝나 있을 것이다.
이제! 피들러(Fiddler.exe)를 실행시켜 보자.
설치를 완료하고 실행시킨 뒤, 아무 웹 페이지를 들어가면 다음과 같이
자동적으로 Fiddler가 http에 대한 패킷을 감청할 것이다.
만약, Fiddler가 패킷이 감청하고 있지 않다면
브라우저의 프록시 설정을 들어가보자.
브라우저의 설정
설정->고급 설정 표시 -> 프록시 설정 변경 ->
LAN 설정 -> …프록시 사용 Check!
Check!!
우선 Fiddler의 각각 컨트롤러 패널들을 살펴보자
요청과 응답들의 목록
요청 값 보기
응답 값 보기
패킷 제어 메뉴
프로그램 제어 메뉴
서비스 제어 메뉴
빠른 명령줄 상태
드디어
대망의 실습
모바일에서 웹서버에 요청한 후 패킷을 감청 해보자.
그리고 감청한 패킷을 변형 시켜서 다시 웹 서버에 요청해보자
우선 번거롭겠지만 모바일 단말기의 Wi-Fi 설정과
데스크 탑의 Fiddler 프로그램의 설정을 잡아야 한다.
Long Tab!!
①
②
③
④
⑤
⑥
⑦
Wi-Fi 설정 -> 해당 SSID 롱 클릭 -> 네트워크 수정-> 고급 설정->
프록시 설정 사용-> 프록시 호스트, 포트 지정-> 저장
“어.... 음.. 제가 설정을 잘못 잡았나요?”
(또는)
아뇨, 아직 덜 잡으셨습니다….
저는 아직 웹 페이지에 접속하라고 안했습니다!
프로그램 제어 메뉴-> Tools -> Telerik Fiddler Options...->
Allow Remote Computers to connect 에 Check!!
적당한 설정은 이제 끝났다!(설정에 끝이 어디있겠습니까…. 허허)
모바일 단말기에서 http://smartlock.fun25.co.kr 을 들어가 보자.
엥....? 이거 완전 뚱뚱이 사이트 아냐? (작성자의 웹 페이지입니다..)
리소스를 뭐 이리 잡아먹어? (폰트를 누가 *.ttf로..)
로그인을 해봅시다.
(본 웹 페이지는 테스트용 웹 페이지입니다. 요청 막 넣으면 아파해요....)
Test 계정
Email : dydwls121200@gmail.com
Password : 1
/login.do 를 클릭하고 오른쪽 패널의 상단 메뉴에 inspector 를 선택하면
다음과 같은 화면으로 요청값과 응답메시지를 확인 할 수 있다.
잘 따라오고 있나요?
이제 요청값을 조작해 보도록 하자 (Manipulate Request data)
요청 값을 조작하기 위해서는 별도의 처리가 필요하다
브레이크 포인트(Break Point)
브레이크 포인트는 동작 중 특정 지점에서 멈춰 세우는 의미로
Fiddler 에서는 브레이크 포인트를 걸 수 있는 방법이 세 가지 있습니다.
1. 프로그램 제어 메뉴에서의 Break Point
2. 프로그램의 상태 표시줄에서의 Break Point(1번과 동일기능)
3. 빠른 명령줄에서의 스크립팅 이용 (유연한 프레이크 포인트 가능)
①
②
③
- 1번과 2번은 같은 기능으로 써 Break Point의 시점을
요청 전과 응답 후 로 지정할 수 있습니다.
- 3번은 빠른 명령 실행으로 Alt+Q로 Focus를
이동시킬 수 있습니다.
- 3번에 대한 빠른 명령 실행 Document
http://docs.telerik.com/fiddler/KnowledgeBase/QuickExec
1번과 2번에 대한 설정은 건너뛰고 개발자 답게 3번으로 실습 해보겠습니다.
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
Break Point 가 걸린 웹 패킷
Response 에도 Break Point를 걸거나
조작(Manipulation)작업의 완료를 선택함
스크립트가 적용되면 해당 영역에 표시됨
uri 명이 smartlock.fun25.co.kr/dydwls121200@gmail.com 일 경우에 Break Point에 걸림
Notice !! bpu 명령어는 요청전에 break point를 걸어버린다.
어떤가요? break point는 잘 걸렸나요? 이제 요청값들을 바꿔보도록 합시다.
요청은‘dmlaldjqtdma’으로 하고서 요청값 변조를 통해서
‘dydwls121200@gmail.com’계정으로 로그인을 할 것이다.
우선, 빠른 명령줄에서 [Alt + Q]‘bpu smartlock.fun25.co.kr/login.do’을 입력해 봅시다.
**Break point 의 해제는 ‘bpu ’만 입력하세요!
상태 표시 줄에서 cleard break point 라는 메시지가 나타날 것입니다.
그리고 로그인을 해서 브레이크 포인트에 걸려봅시다.
Test 계정
Email : dmlaldjqtdma
Password : 아무거나
dmlaldjqtdma
● ● ● ● ● ● ●
‘로그인’을 누르고 피들러를 열어보면 다음과 같이 login.do 에
break point가 걸려있을 것입니다.
Email : dydwls121200@gmail.com
password : 1 로 셋팅하고
Break on Response를 클릭합니다.
피들러에서‘로그인’에서 요청한 값들을 수정해 봅시다.
‘Break On Response’를 누르면 응답값이 정상적으로 돌아오는것을 확인 할 수 있습니다.
작업이 완료되면 Run to Completion을 눌러 클라이언트에게 전달합니다.
마찬가지로 Break On Response를 잘 활용해서 Response를 수정하면 된다.
드디어 실습 예제 끝!
“잠깐..!!”
“SSL 처리된 http는 어떻게 보는거죠..? 복호화된 문서를 어떻게 보라구요-!?”
클릭하세요. 클릭
이렇게
“딸칵! 딸칵!”
사실 검증을 위해 잠깐의 테스트를 해 봅시다.
https 적용된 웹 페이지 중에.. Naver를 들어가서
자신의 계정으로 로그인을 해봅니다
Click-!
Check-!
Https 적용된 웹 사이트에 접속하게 되면 https 패킷이라 나타나는데
이때, “HTTPS decryption is ….”를 클릭하고 Decrypt HTTPS Traffic 에다가 체크 합니다.
만약 이 방법이 스마트하지 않다고 생각하면
‘프로그램 제어 메뉴 -> Tools -> Telerik Fiddler Options-> Https Tab’
에서 설정할 수 있습니다.
(끝! 을 내려고 했으나. 아쉽다. 그리고 나는 아직 피들러가 불편하다.)
(예정 되어 있는 실습은 끝이지만….
작성자는 프로 불편러라서…. 더 알아보았습니다…. )
뭔가…. Fiddler를 계속 이용하다 보면 느끼는게 있습니다.
뭐…뭐이리 많아…
이 호스트는 어디야..?
이래서 크롬이 램 괴물이라 한거야?
아니.. 지금 그냥 구글링 하는대.. 패킷을 왜 읽어..
1. 내가 원하는 것은 단 한곳의 서비스 서버에서 발생하는 요청과 응답….
2. 지금 웹 패킷을 받고 싶지 않아….
3. A와 B의 패킷을 비교하고 싶어요….
4. 페이지의 무게와 리소스 로드 시간을 알고 싶어요….
그래서 준비해보았다. 불편하시지 마시라구!
1. 내가 원하는 것은 단 한곳의 서비스 서버에서 발생하는 요청과 응답….
특정 호스트에 대한 내용만 받아보길 원한다면 Filters에서 설정할 수 있다.
Documents: http://docs.telerik.com/fiddler/KnowledgeBase/Filters
① 선택형
② 필수
④ 적용
③ 적용
1. Network의 범위를 설정한다.
2. 숨길 것인지 보일 것인지에 대한 선택을
설정한다.
3. 필터를 적용할 호스트들을 선택한다. 포트를
지정하지 않으면 모든 포트에 대해 Listen 한다.
4. 적용한 필터의 내용대로 피들러가 웹 패킷
감청에 적용한다.
2. 지금 웹 패킷을 받고 싶지 않아….
패킷 캡쳐의 중단은 세 가지 방법이 있다. 매우 심플하니 길게 설명할 것 도 없다.
- F12 키를 누른다.
- File-> Capture Traffic 을 체크한다.
- 좌측 하단의 Capturing 상태를 클릭한다.
3. A와 B의 패킷을 비교하고 싶어요….
Ctrl 로 두 개의 패킷만 선택합니다. 그리고 오른쪽 클릭하고
‘Compare’ 를 누르거나 ‘[Ctrl]+w’를 누르면 됩니다.
피들러는 Text Compare Tool을 기본적으로 ‘WinMerge’를 사용하는데
기본적으로 독자 여러분의 컴퓨터에서 WinMerge는 설치되어 있지 않다.
그러므로 Error Alert를 뿜을 것이다.
그러니 우리는 ‘WinMerge’를 설치해서 사용하면 됩니다.
이 기능 하나 쓰겠다고 WinMerge를 사용해야 하나 자괴감 들고 괴롭겠지만,
나름 실무에서 로그 분석할 때나 소스 분석할 때 유용하게 쓰일 수 있습니다.
설치하고 후회는 들지 않을 것입니다. (무료라구요 무료!)
WinMerge는 이클립스에서 Text비교하기 번거로울 때 가볍게 쓰기 좋은 툴이기도 합니다.
참고 : http://winmerge.org/
다운로드 완료 후, 다시 비교하고 싶은 두 패킷을 선택한 다음 ‘Ctrl+w’를 눌러주면
다음 화면과 같이 ‘WinMerge’가 실행되어 두 패킷을 비교합니다.
4. 페이지의 무게와 리소스 로드 시간을 알고 싶어요….
패킷의 용량과 로드 된 시간을 파악하기 위해서는
우측 패널의 Timeline기능을 활용하면 됩니다.
복수개의 웹 패킷을 선택하고 우측 패킷의 timeline 을 선택하면 됩니다.
진짜 끝!
이제 좀 피들러에 대해 감이 잡히시나요? 이 피피티를 작성하면서 저도 몰랐던것
들을 여럿 배웠는대요. 아마 부분 틀린 지식들이 있을거 같기도 합니다.
저 이외에 다른 사람들 보여준다고 이것저것 준비해보았는데, 읽고나서 도움이
되었으면 합니다.
그럼
Happy Hacking!!
피드백이나 질문메일은 언제나 환영합니다.
제 개인메일로 메일 주시면 친절히 답변 드리겠습니다.
Happy Hacking!
dydwls121200@gmail.com
조용진
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 공식 홈페이지]

More Related Content

What's hot

AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성NAVER D2
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...Amazon Web Services Korea
 
AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지
AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지
AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지Changje Jeong
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)Heungsub Lee
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1Amazon Web Services Korea
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개태준 문
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]MongoDB
 
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...Amazon Web Services Korea
 
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionJunHo Yoon
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
 
Spring Cloud Workshop
Spring Cloud WorkshopSpring Cloud Workshop
Spring Cloud WorkshopYongSung Yoon
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive Amazon Web Services Korea
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015Amazon Web Services Korea
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 

What's hot (20)

AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성[2D4]Python에서의 동시성_병렬성
[2D4]Python에서의 동시성_병렬성
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
 
AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지
AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지
AWS를 활용하여 Daily Report 만들기 : 로그 수집부터 자동화된 분석까지
 
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
[야생의 땅: 듀랑고] 서버 아키텍처 Vol. 2 (자막)
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
Naver속도의, 속도에 의한, 속도를 위한 몽고DB (네이버 컨텐츠검색과 몽고DB) [Naver]
 
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
 
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
 
Advanced nGrinder 2nd Edition
Advanced nGrinder 2nd EditionAdvanced nGrinder 2nd Edition
Advanced nGrinder 2nd Edition
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
 
Spring Cloud Workshop
Spring Cloud WorkshopSpring Cloud Workshop
Spring Cloud Workshop
 
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive [2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
[2017 AWS Startup Day] AWS 비용 최대 90% 절감하기: 스팟 인스턴스 Deep-Dive
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 

Similar to Fiddler 피들러에 대해 알아보자

실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기Mickey SJ Lee
 
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법성훈 김
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQLI Goo Lee
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)YEONG-CHEON YOU
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규ChangKyu Song
 
Giip doc1411-01-notification servicemanual
Giip doc1411-01-notification servicemanualGiip doc1411-01-notification servicemanual
Giip doc1411-01-notification servicemanualLowy Shin
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유NAVER SHOPPING
 
빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?
빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?
빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?hyunho Lee
 
이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012devCAT Studio, NEXON
 
이정환_구름에듀_특강.pdf
이정환_구름에듀_특강.pdf이정환_구름에듀_특강.pdf
이정환_구름에듀_특강.pdf이정환
 
Internet Scale Service Arichitecture
Internet Scale Service ArichitectureInternet Scale Service Arichitecture
Internet Scale Service ArichitectureDaeMyung Kang
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)Sehan Lee
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3Wooseok Seo
 
하드웨어 스타트업의 소프트웨어 이야기
하드웨어 스타트업의 소프트웨어 이야기하드웨어 스타트업의 소프트웨어 이야기
하드웨어 스타트업의 소프트웨어 이야기Mijeong Park
 
Tcp ip & io model
Tcp ip & io modelTcp ip & io model
Tcp ip & io modelNam Hyeonuk
 
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)khuhacker
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기NAVER D2
 

Similar to Fiddler 피들러에 대해 알아보자 (20)

실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기실용주의 프로그래머를 위한 개발환경 만들기
실용주의 프로그래머를 위한 개발환경 만들기
 
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
 
Fluentd with MySQL
Fluentd with MySQLFluentd with MySQL
Fluentd with MySQL
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
 
Giip doc1411-01-notification servicemanual
Giip doc1411-01-notification servicemanualGiip doc1411-01-notification servicemanual
Giip doc1411-01-notification servicemanual
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
 
빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?
빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?
빌드 버튼이 눌린다음에 무슨일이 일어나는 걸까?
 
이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012
 
이정환_구름에듀_특강.pdf
이정환_구름에듀_특강.pdf이정환_구름에듀_특강.pdf
이정환_구름에듀_특강.pdf
 
Internet Scale Service Arichitecture
Internet Scale Service ArichitectureInternet Scale Service Arichitecture
Internet Scale Service Arichitecture
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)Mr.Robot CTF Write-Up (Korean version)
Mr.Robot CTF Write-Up (Korean version)
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3
 
하드웨어 스타트업의 소프트웨어 이야기
하드웨어 스타트업의 소프트웨어 이야기하드웨어 스타트업의 소프트웨어 이야기
하드웨어 스타트업의 소프트웨어 이야기
 
Tcp ip & io model
Tcp ip & io modelTcp ip & io model
Tcp ip & io model
 
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
2015년 제2회 동아리 해커 세미나 - 서버 개발자가 되기 위한 첫걸음 (25기 조성수)
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
 

More from 용진 조

Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txtElasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt용진 조
 
당근마켓에서 IaC경험
당근마켓에서 IaC경험당근마켓에서 IaC경험
당근마켓에서 IaC경험용진 조
 
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰용진 조
 
서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1용진 조
 
how to use fiddler (Ver eng)
how to use fiddler (Ver eng)how to use fiddler (Ver eng)
how to use fiddler (Ver eng)용진 조
 
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]용진 조
 
유비쿼터스의 클라우드
유비쿼터스의 클라우드유비쿼터스의 클라우드
유비쿼터스의 클라우드용진 조
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic용진 조
 
201133271 조용진 io t 발표
201133271 조용진 io t 발표201133271 조용진 io t 발표
201133271 조용진 io t 발표용진 조
 
개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?용진 조
 

More from 용진 조 (10)

Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txtElasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
Elasticsearch 엘라스틱서치 (검색서비스) 에 대해 알아보자.txt
 
당근마켓에서 IaC경험
당근마켓에서 IaC경험당근마켓에서 IaC경험
당근마켓에서 IaC경험
 
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
신입개발자가 스타트업에서 AWS로 어떻게든 살아가는 썰
 
서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1서버리스에 람다 대해 알아보자 [이론편] - 1
서버리스에 람다 대해 알아보자 [이론편] - 1
 
how to use fiddler (Ver eng)
how to use fiddler (Ver eng)how to use fiddler (Ver eng)
how to use fiddler (Ver eng)
 
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]
 
유비쿼터스의 클라우드
유비쿼터스의 클라우드유비쿼터스의 클라우드
유비쿼터스의 클라우드
 
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
캐빈머피 머신러닝 Kevin Murphy Machine Learning Statistic
 
201133271 조용진 io t 발표
201133271 조용진 io t 발표201133271 조용진 io t 발표
201133271 조용진 io t 발표
 
개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?개발자는 원래 말을 잘 못해요?
개발자는 원래 말을 잘 못해요?
 

Fiddler 피들러에 대해 알아보자

  • 1. 피들러(Fiddler Web Debugger)에 대해 알아보자 dydwls121200@gmail.com 조용진 Likemilk
  • 5.
  • 7.
  • 8.
  • 9. fiddle [|fɪdl] ①[자.동] 만지작거리다 ②[타.동] (세부 사항을) 조작하다 ③= violin ④ [명] 조작, 사기
  • 11. ServerHost (Capturing) Clients 감청 조작 HTTP Request HTTP Request HTTP ResponseHTTP Response fiddle !! fiddle !! fiddle !! fiddle !! fiddle !! fiddle !! fiddle !! fiddle !! fiddle !! fiddle !!
  • 12. fiddler = 무료 http 패킷 디버거 툴
  • 17. 피들러는 유틸 프로그램으로써 사용자 컴퓨터의 프록시 서버역할을 한다.
  • 19. proxy [|prɑːksi] ① [명] 대리(권) ② [명] 대리인
  • 20. 클라이언트가 특정 서버를 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터나 응용 프로그램을 프록시 서버한다. Client Service Server directly transport to server indirectly transport to server Service ServerProxy Server Clients packet
  • 21. 피들러(Fiddler)가 프록시(Proxy) 서버이기 때문에 모든 패킷을 조작하고 감청할 수 있다.
  • 22. 단,
  • 23. 패킷들이 피들러(Fiddler) 프록시 서버를 통해서 전송하며, HTTP 서비스 프로토콜을 이용한 통신일 경우에 한해서만!
  • 24. Fiddler에 대한 개괄적인 동작 원리는 프록시 서버의 응용이다. 이론은 끝이다. 설치를 해보자! (끝이 어디 있겠습니까. 허허….)
  • 25. Fiddler Install https://www.telerik.com/download/fiddler다운로드 링크 다운로드 하면서 읽어 보자
  • 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에 대한 패킷을 감청할 것이다.
  • 30. 만약, Fiddler가 패킷이 감청하고 있지 않다면 브라우저의 프록시 설정을 들어가보자.
  • 31. 브라우저의 설정 설정->고급 설정 표시 -> 프록시 설정 변경 -> LAN 설정 -> …프록시 사용 Check! Check!!
  • 32. 우선 Fiddler의 각각 컨트롤러 패널들을 살펴보자
  • 33. 요청과 응답들의 목록 요청 값 보기 응답 값 보기 패킷 제어 메뉴 프로그램 제어 메뉴 서비스 제어 메뉴 빠른 명령줄 상태
  • 36. 모바일에서 웹서버에 요청한 후 패킷을 감청 해보자. 그리고 감청한 패킷을 변형 시켜서 다시 웹 서버에 요청해보자
  • 37. 우선 번거롭겠지만 모바일 단말기의 Wi-Fi 설정과 데스크 탑의 Fiddler 프로그램의 설정을 잡아야 한다.
  • 38. Long Tab!! ① ② ③ ④ ⑤ ⑥ ⑦ Wi-Fi 설정 -> 해당 SSID 롱 클릭 -> 네트워크 수정-> 고급 설정-> 프록시 설정 사용-> 프록시 호스트, 포트 지정-> 저장
  • 39. “어.... 음.. 제가 설정을 잘못 잡았나요?”
  • 41. 아뇨, 아직 덜 잡으셨습니다…. 저는 아직 웹 페이지에 접속하라고 안했습니다!
  • 42. 프로그램 제어 메뉴-> Tools -> Telerik Fiddler Options...-> Allow Remote Computers to connect 에 Check!!
  • 43. 적당한 설정은 이제 끝났다!(설정에 끝이 어디있겠습니까…. 허허) 모바일 단말기에서 http://smartlock.fun25.co.kr 을 들어가 보자.
  • 44. 엥....? 이거 완전 뚱뚱이 사이트 아냐? (작성자의 웹 페이지입니다..) 리소스를 뭐 이리 잡아먹어? (폰트를 누가 *.ttf로..)
  • 46. (본 웹 페이지는 테스트용 웹 페이지입니다. 요청 막 넣으면 아파해요....) Test 계정 Email : dydwls121200@gmail.com Password : 1
  • 47. /login.do 를 클릭하고 오른쪽 패널의 상단 메뉴에 inspector 를 선택하면 다음과 같은 화면으로 요청값과 응답메시지를 확인 할 수 있다.
  • 49. 이제 요청값을 조작해 보도록 하자 (Manipulate Request data)
  • 50. 요청 값을 조작하기 위해서는 별도의 처리가 필요하다
  • 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
  • 55. 1번과 2번에 대한 설정은 건너뛰고 개발자 답게 3번으로 실습 해보겠습니다.
  • 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를 걸어버린다.
  • 58. 어떤가요? break point는 잘 걸렸나요? 이제 요청값들을 바꿔보도록 합시다.
  • 59. 요청은‘dmlaldjqtdma’으로 하고서 요청값 변조를 통해서 ‘dydwls121200@gmail.com’계정으로 로그인을 할 것이다.
  • 60. 우선, 빠른 명령줄에서 [Alt + Q]‘bpu smartlock.fun25.co.kr/login.do’을 입력해 봅시다. **Break point 의 해제는 ‘bpu ’만 입력하세요! 상태 표시 줄에서 cleard break point 라는 메시지가 나타날 것입니다.
  • 61. 그리고 로그인을 해서 브레이크 포인트에 걸려봅시다.
  • 62. Test 계정 Email : dmlaldjqtdma Password : 아무거나 dmlaldjqtdma ● ● ● ● ● ● ●
  • 63. ‘로그인’을 누르고 피들러를 열어보면 다음과 같이 login.do 에 break point가 걸려있을 것입니다.
  • 64. Email : dydwls121200@gmail.com password : 1 로 셋팅하고 Break on Response를 클릭합니다. 피들러에서‘로그인’에서 요청한 값들을 수정해 봅시다.
  • 65. ‘Break On Response’를 누르면 응답값이 정상적으로 돌아오는것을 확인 할 수 있습니다. 작업이 완료되면 Run to Completion을 눌러 클라이언트에게 전달합니다.
  • 66. 마찬가지로 Break On Response를 잘 활용해서 Response를 수정하면 된다.
  • 69. “SSL 처리된 http는 어떻게 보는거죠..? 복호화된 문서를 어떻게 보라구요-!?”
  • 73. 사실 검증을 위해 잠깐의 테스트를 해 봅시다.
  • 74. https 적용된 웹 페이지 중에.. Naver를 들어가서 자신의 계정으로 로그인을 해봅니다
  • 75. Click-! Check-! Https 적용된 웹 사이트에 접속하게 되면 https 패킷이라 나타나는데 이때, “HTTPS decryption is ….”를 클릭하고 Decrypt HTTPS Traffic 에다가 체크 합니다.
  • 76. 만약 이 방법이 스마트하지 않다고 생각하면 ‘프로그램 제어 메뉴 -> Tools -> Telerik Fiddler Options-> Https Tab’ 에서 설정할 수 있습니다.
  • 77. (끝! 을 내려고 했으나. 아쉽다. 그리고 나는 아직 피들러가 불편하다.)
  • 78. (예정 되어 있는 실습은 끝이지만…. 작성자는 프로 불편러라서…. 더 알아보았습니다…. )
  • 79. 뭔가…. Fiddler를 계속 이용하다 보면 느끼는게 있습니다.
  • 80. 뭐…뭐이리 많아… 이 호스트는 어디야..? 이래서 크롬이 램 괴물이라 한거야? 아니.. 지금 그냥 구글링 하는대.. 패킷을 왜 읽어..
  • 81. 1. 내가 원하는 것은 단 한곳의 서비스 서버에서 발생하는 요청과 응답…. 2. 지금 웹 패킷을 받고 싶지 않아…. 3. A와 B의 패킷을 비교하고 싶어요…. 4. 페이지의 무게와 리소스 로드 시간을 알고 싶어요….
  • 83. 1. 내가 원하는 것은 단 한곳의 서비스 서버에서 발생하는 요청과 응답…. 특정 호스트에 대한 내용만 받아보길 원한다면 Filters에서 설정할 수 있다.
  • 84. Documents: http://docs.telerik.com/fiddler/KnowledgeBase/Filters ① 선택형 ② 필수 ④ 적용 ③ 적용 1. Network의 범위를 설정한다. 2. 숨길 것인지 보일 것인지에 대한 선택을 설정한다. 3. 필터를 적용할 호스트들을 선택한다. 포트를 지정하지 않으면 모든 포트에 대해 Listen 한다. 4. 적용한 필터의 내용대로 피들러가 웹 패킷 감청에 적용한다.
  • 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기능을 활용하면 됩니다.
  • 92. 복수개의 웹 패킷을 선택하고 우측 패킷의 timeline 을 선택하면 됩니다.
  • 94.
  • 95.
  • 96.
  • 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 공식 홈페이지]