이 포스트는 널널한 개발자님 강의를 참조하며 작성하였습니다.
HTTPS 통신을 할 때 트래픽이 암호화되고 다 좋은데 문제가 있다. PC를 사용하는 철수가 https://www.naver.com 을 접속한 다음에 그 접속과정에서 일어나는 트래픽을 모니터링하고 분석하겠다고 wireshark 프로그램을 설치했다고 해보자. 그래서 분석할려고 봤더니 전부 암호화가 되어있다. 그래서 이걸 복호화해서 분석해야하는데 이걸 혼자 하기엔 매우 복잡하다. 그래서 이런 경우는 프록시 형태로 작동하는 무언가를 PC단에 설치하여 사용하는 경우가 있다. 그런 방법론의 도구가 있는게 그게 Fiddler이다.
위 그림처럼 크롬이라는 프로세스가 있는데 그걸 크롬이라 해보자. 이 크롬에 프록시 서버 세팅을 할 때 127.0.0.1(loop back)으로 설정한다. 그리고 포트를 8080번으로 한다고 하면 Fiddler proxy가 8080번의 소켓을 연다. 그러면 크롬이 소켓을 타고 TCP스택을 거쳐 IP스택으로 가는게 아니라 Fiddler가 연 8080번 소켓으로 간다. 그러면 Fiddler는 또 다른 소켓을 열어 네이버에 접속을 하는 구조이다. 이 때 크롬에서 Fiddler로 가는 통신은 HTTPS통신이고 Fiddler에서 네이버로 가는 통신도 HTTPS통신이지만 크롬에서 Fiddler로 갈때 프록시는 암호화된 트래픽을 복호화를 한다. 즉, 스트림 수준으로 복호화를 하여 분석에 용이하게 된다.