HTTP 트래픽 분석 - Toolbox
Charles Web Debugging Proxy
응용 프로그램과 워크스테이션, 서버 및 인터넷 간에 HTTP 기반 통신량이 늘어나는 것을 고려할 때 관리자에게는 성능 좋은 HTTP 트래픽 분석기가 무엇보다도 절실할 것입니다. 이러한 도구를 사용하면 프록시 문제, 보안 문제, 연결 오류, 구성 문제, 응용 프로그램 간의 통신 문제를 확인할 수 있습니다. 필자가 추천하고자 하는 도구는 Karl von Randow의 자바 기반 응용 프로그램인 Charles Web Debugging Proxy입니다.
다른 디버깅 프록시와 마찬가지로 이 응용 프로그램은 "중재자"와 같은 역할로 설정됩니다. 즉, 끝점 응용 프로그램의 사이에 위치하여 확인되는 트래픽을 가로채 해석합니다. 이러한 구성 덕분에 이 응용 프로그램을 사용하면 암호화된 HTTPS 트래픽을 해독하여 일반 텍스트 형식으로 볼 수 있습니다. UI 메뉴에는 보기 좋게 정리된 기록 세션이 있습니다. 이 세션에서는 이미지, 스크립트, 스타일시트 및 페이지에 대한 기본 요구 사항에서부터 크기, 대기 시간, 타이밍에 이르는 중요한 세부 정보를 참조할 수 있습니다. 또한 각 요청에 대해 어떤 쿠키를 보내고 받았는지 확인할 수 있고, 쿠키에 포함된 내용을 확인할 수 있으며 모든 쿠키를 차단할지 여부도 선택할 수 있습니다.
Charles Web Debugging Proxy를 사용하면 '304 Not Modified' 응답의 최종 수정 날짜를 확인하거나 응용 프로그램을 통해 이동할 때 관련 요청 및 응답에서 캐시 관련 헤더를 제거하여 캐시가 사용되지 않도록 설정함으로써 요청 캐시 문제를 해결할 수 있습니다. 실제로 이 응용 프로그램의 다시 쓰기 설정을 사용하면 규칙 모음을 정의하여 요청 및 응답이 응용 프로그램을 통과할 때 HTTP 헤더 또는 본문 내용을 다시 쓰도록 할 수 있습니다. 또는 이 응용 프로그램의 DNS 스푸핑 설정을 사용하여 호스트의 IP 주소를 덮어쓰고 DNS에 등록되어 있지 않을 수 있는 항목에 대한 요청을 테스트할 수 있습니다. 이러한 기능은 테스트를 수행할 때 매우 유용합니다. 예를 들어 새 웹 서버를 실행하기 전에 해당 웹 서버가 호스트 헤더를 제대로 수신하고 응답하고 있는지 확인할 수 있습니다.
이 도구를 사용하여 AJAX 요청 및 응답을 디버깅하고 응답 내의 원시 XML 데이터를 살펴볼 수도 있습니다. UI에서 텍스트의 원시 요청 및 응답 데이터를 확인할 수 있으며 잘못된 헤더 부분을 찾을 수 있습니다.
이 도구에서는 데이터 트랜잭션을 확인하는 데 매우 유용한 두 가지 데이터 레이아웃을 제공합니다. Summary 테이블과 Chart 테이블이 바로 그것입니다. Summary 테이블에는 헤더 크기, 본문 크기, 응답 시간, 응답 코드, MIME 형식, 리소스 등이 표시되며 이 테이블을 이용하면 요청/응답 데이터를 신속하게 확인할 수 있습니다. 이와 달리 Chart 테이블에서는 수명 주기 일정을 그래픽으로 제공합니다. 이를 통해 어느 때에 요청/응답 데이터가 발생했으며 트랜잭션에 소요된 시간은 어느 정도인지 확인할 수 있습니다.
또한 기록 세션을 저장하여 나중에 다시 재생 및 분석할 수 있습니다. 이렇게 하면 산발적인 통신 오류를 유발하는 복잡한 요청/응답 흐름을 쉽게 캡처할 수 있습니다. 한번 저장한 세션은 복제할 수 있으며 현재 세션을 CSV 또는 HTTP 추적 형식으로 내보내는 것은 물론 HTTP 추적 파일을 새 세션으로 가져올 수도 있습니다.
낮은 대역폭에서 요청을 시뮬레이션하는 경우(예: 기업 네트워크가 아닌 56k 모뎀을 통한 요청이 실패한 원인을 찾아내려는 경우) 이 응용 프로그램에서는 일반적인 사전 설정 모음을 선택하거나 대역폭, 사용률, 왕복 대기 시간, MTU(최대 전송 단위)의 네 가지 제한 요소를 기준으로 새로운 사전 설정을 정의할 수 있도록 하는 제한 기능을 제공합니다. 또한 로컬 포트를 원격 끝점(포트)에 바인딩함으로써 포트에 전송된 모든 트래픽이 원격 주소로 리디렉션되도록 역방향 프록시 또는 포트 전달기와 같은 역할을 하는 디버깅 프록시를 구성할 수도 있습니다.
가격: 단일 사용자 라이선스의 경우 $50부터입니다.
HTTP 트래픽을 분석하는 Charles Web Debugging Proxy (Click the image for a smaller view)
HTTP 트래픽을 분석하는 Charles Web Debugging Proxy (Click the image for a larger view)