wireshark Capture Filter 설정 방법

개발툴|2013. 7. 31. 22:57

와이어 샤크를 이용하여 내 PC와 서버간의 통신 패킷을 확인하고 싶을 때가 있다.

나는 주로 프로토콜 통신이 어떤 원리로 이뤄지는지를 확인 해보고 싶어 사용한다.

헌데 가끔 와이어 샤크를 이용할라 치면 필터 설정을 잊어 먹을 때가 많다.

매번 검색하는 것도 귀찮으니 내 블로그에 와서 바로 확인 할 수 있도록 간단하게 정리를 하자.


와이어 샤크에는 다양한 기능들이 많은데 난 딱 한 가지 기능만 사용한다.

그것이 바로 Capture Filter 이다.


다음은 실제 캡쳐를 해봄으로써 어떻게 설정을 하는지 알아본다.

캡쳐를 할 대상은 개발 장비에 있는 테스트 웹 페이지이다.

1. 

Capture > Options 클릭 > Capture할 랜카드 체크


2. 

Capture할 랜카드를 더블 클릭하면 창이 하나 뜬다.


3. 

"Capture Filter"를 클릭 후 IP only를 클릭하자. 그런 후 개발 장비의 IP를 넣어주면 아래와 같은 Filter string이 생성 될 것이다.

ip src host 124.xxx.xxx.xxx
만약 위의 Filter string의 키워드를 잘못 입력하게 된다면 아래와 같이 Capture Filter 영역이 빨간색으로 변하게 되고, 정상적으로 입력하게 된다면 녹색으로 표시가 될 것이다.



4.

"Start" 버튼 클릭


5. 

124.xxx.xxx.xxx 웹 페이지 접속


6. 

packet details pane 영역에 패킷 리스트가 출력이 된다.


도메인으로 필터를 설정하는 방법은 다음과 같다.

http.host == search.naver.com


위의 설정을 끝냈으면 이제는 각각의 패킷을 확인하며 프로토콜이 어떻게 작동되는지에 대한 원리를 탐구하면 된다.



[SSL 패킷 캡쳐]
1.
시스템 환경 변수에 SSLKEYLOGFILE 변수 셋팅 후 재부팅


2. 
wireshark > Preferences > Protocols > SSL 이동 후 다음과 같이 경로 추가



3. 
wireshark 패킷 캡쳐 시작

4. 
크롬 브라우저를 이용해서 https 사이트에 접속하면 C:\Users\nklee\sslkeylog.log 파일에 키 정보가 기록되고 wireshark에서는 다음과 같이 HTTP 통신 전문을 확인할 수 있다.
브라우저 재시작 해야 함

여기서 말하는 키 정보라 함은 클라이언트에서 생성한 랜덤값을 의미하고 해당 랜덤 값을 서버의 공개키를 이용하여 암호화 한 후 서버로 전송한다.
서버는 암호화된 랜덤 값을 개인키를 이용하여 복호화한다.
이 랜덤 값을 이용해서 대칭키를 생성하고 client, server는 대칭키를 이용하여 통신하게 된다.







[필터식 참고]
출발지나 목적지 IP주소로 검색
ip.addr == 10.1.0.1

출발지 IP주소로 검색
ip.src == 10.1.0.1

TCP 출발지나 목적지 포트 번호로 검색
tcp.port == 8080

TCP 포트 목적지 포트 번호로 검색
tcp.dstport == 8080

TCP 포트 출발지 포트 번호로 검색
tcp.srcport == 8080

도메인으로 검색
http.host == lng1982.tistory.com


댓글()