1. Fiddler
- 컴퓨터와 인터넷 사이의 HTTP(S) 트래픽로그를 감시하는 웹 디버깅 프록시
- 브라우저 외에 HTTP(S) 프로토콜을 사용하는 모든 트래픽을 대상으로 사용
- 다양한 플러그인을 ADD IN을 통해서 설치가능
- 다운로드
2. 활용하기
*참고
- IE - Wininet.dll (Window 32 Internet API) 로만 통신
- FF, Safari, Opera 모두 mswsock.dll 로 통신
- IE - 기본적으로 제약되는 AJAX 통신은 2개의 TIP/IP 커넥션만 유지 가능 하나 레지스트리 수정을 통해서 변경가능
- FF, Safari, Opera - 기본적으로 제약되는 AJAX 통신은 2개의 TIP/IP 커넥션만 유지 가능 하나 브라우저 에서 제공하는 환경설정 창을 통해 변경 가능
- 동작지점
2.1 AutoResponder
*실습하기
권한 체크를 하는 스크립트를 피들러를 통해서 우회하는 방법 소개.
2.2 Customize Rules
*실습하기
특정 도메인의 respose 값에서 지정한 문자열을 다른 문자열로 교체 시켜 동작이 되도록 하는 방법 소개
2.3 HTTPS 패킷 감청하기
*실습하기
옵션을 활성화 시키지 않을경우
SSL은 암호화 되어 있기 때문에 Fiddler가 내용을 캡처 한다할지라도 볼 수 없음
SSL은 80이 아닌 별도 포트를 사용하기 때문에 80포트를 캡처하는 Fiddler는
SSL 연결하는 Request만 캡처
HTTPS capture 옵션 활성화 시켜서 패킷 캡쳐 방법 소개 (실행 예제 okjsp.pe.kr )
2.4 Composer(Request Builder)
2.5 Inspectors 탭 분석 (HTTP 압축을 기준으로 사용방법 설명하기)
HTTP 프로토콜은 HTTP 압축이란 용어를 사용하지 않음
Content-Coding 이란 용어를 쓰며 이 Content-Coding이 주로 압축의 용도로 사용된다고 명시
Accept-Encoding 헤더와 Content-Encoding 헤더
이 두개의 HTTP 헤더 값을 통해 클라이언트(웹 브라우저)와 서버(웹 서버)가 압축을
할 것인가 말 것인가 그리고 압축에 사용되는 알고리즘을 결정
Accept-Encoding은 클라이언트가 웹 서버에게 보내는 HTTP Request 메시지에 명세 하는 값으로서
클라이언트가 이 헤더에 명시된 인코딩(압축)을 이해하고 디코딩(압축 해제)을 수행할 수 있다는 것을 서버에 알림
클라이언트가 압축된 컨텐츠를 받아 압축을 해제할 수 있는 압축 알고리즘을
서버에 알리는 용도로 Accept-Encoding 헤더가 사용(Accept-Encoding: gzip, deflate)
웹 서버는 Accept-Encoding의 값을 살펴보고 필요에 따라서 HTTP Response(HTML, CSS, 이미지 등의 결과물)를 압축
웹 서버가 HTTP Response를 압축했다면 서버는 결과가 어떤 알고리즘에 의해 인코딩(압축) 되었는가를
Content-Encoding 헤더를 통해 명시
Content-Encoding 이 존재 할경우 사이트가 반환하는 실제 컨텐츠(TextView 버튼을 클릭)는 HTML 이 아닌 바이너리
브라우저가 압축을 풀고 그 결과를 표시
*실습하기
Composer(request builder) 를 통해서 Accept-Encoding 속성 여부에 따른 결과값 확인 (실행 예제 www.naver.com)
2.6 부가설명(IE에 한정된 설명이므로 참조만 하시오)
동일 호스트에 대해 최대 2개까지의 TCP 연결 만을 맺도록 기본 설정되어 있다
IE가 HTTP 액세스 할 때 사용되는 WinInet 역시 동일한 제약
WinInet(Firefox 는 이기능을 사용치 않음)
WinInet은 Windows Internet 이란 이름의 클라이언트용 인터넷 액세스 API 집합
XMLHttp 객체(MSXML2.XMLHttp) 역시 WinInet API를 사용하고 있음
한 서버에 2개 혹은 4개의 TCP 연결만을 허용한다는 점이다.
HTTP 1.1 프로토콜의 경우에 2개의 연결을, HTTP 1.0 의 경우에 4개의 연결만 지원
WinHTTP
WinHTTP는 WinInet과는 달리 오로지 HTTP 프로토콜만을 지원하는 클라이언트용 API
'프로그래밍 유틸' 카테고리의 다른 글
HxD - 무료에 한글도 지원하는 Hex Editor (0) | 2015.11.20 |
---|---|
fiddler automatic breakpoints 걸기 (프록시 request 후킹하기) (0) | 2015.11.20 |
로켓독 (RocketDock) 설치 및 사용법 - PC방 바탕화면처럼 깔끔하게! (0) | 2015.11.20 |
MySQL 접속, 관리 프로그램 (0) | 2015.11.06 |
Turn Off Display - 간단한 모니터 끄기 프로그램 (0) | 2015.10.16 |