WireShark와 Fiddler 패킷 캡쳐 원리

Jeongkuk Seo
Sep 8, 2018 · 3 min read

개발을 하다 보면 client와 serve간의 패킷을 캡쳐할 일이 종종 있다. 보안을 위해 대부분 HTTPS 통신을 하는데 나는 보통 Fiddler를 이용한다. 왜? Fiddler는 SSL 복호화 키를 따로 설정하지 않아도 되거든.

wireshark에서 https 패킷을 복호화 하기 위해서는 SSL 키를 따로 설정해줘야 하며 일반적인 상황에서 Fiddler 는 설정없어도 HTTPS 트래픽을 복호화 할 수 있다. 왜? 무엇이 다른 걸까? 이 둘의 동작원리에 대해 알아보자.

wireshark의 패킷 캡쳐 원리는 패킷 스니핑이다. NIC(네트워크 인터페이스 카드)에 들어오는 패킷을 수집하는데, HTTPS 패킷은 이미 암호화 되어있으므로 따로 복호화 할 수 있는 key를 설정해야 하는 것.

Fiddler는 이와는 달리 프록시 서버의 역할을 한다. Proxy는 패킷을 송/수신 하는 중간자의 역할을 한다. 보내는 요청과 응답은 모두 Proxy 서버를 통해 오고가며, 다른말로 모든 패킷은 Proxy가 받을 수 있다.

Proxy 구성

그렇다면 Proxy를 끄면 Fiddler가 패킷을 못잡을까? 테스트해보자!

explorer에 접속해서 도구 — 인터넷 옵션 — 연결-LAN 설정을 누른다. 사용자 LAN에 프록시 서버 사용이 클릭되어 있을텐데 이를 아래 그림과 같이 해제하고 적용시킨다.

Proxy 서버를 사용하지 않게 설정 된 후 Fiddler를 보면 아래 화면과 같다. Proxy 설정이 변경되어 패킷을 더 수집하지 못한다. 화면의 노란색을 클릭 시 자동으로 Proxy를 사용하도록 설정이 변경된다.

잠깐, Fiddler는 SSL 복호화 설정 없이도 패킷을 본다며? 어떻게?

Fiddler는 통신 주체 사이에서 중간자 공격(MITM)을 하는 것처럼 동작하는데, 이 과정에서 SSL 패킷을 복호화 할 수 있도록 인증서를 동적으로 생성한다. 아래 링크는 피들러 공식 사이트에서 HTTPS 패킷을 어떻게 복호화 하는지에 대한 답변으로 구체적으로 어떻게 인증서를 생성하는지는 나오지 않는다.

sjk5766

IT World

Jeongkuk Seo

Written by

sjk5766

sjk5766

IT World

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade