본문 바로가기

서버운영 (TA, ADMIN)/네트워크

[네트워크] 와이어샤크 캡처 조작

패킷의 범위를 좁혀주는 필터에는 캡처 필터와 표시 필터가 있다.

 

캡처 필터(Capture Filter)란,

패킷 캡처를 실행하는 시점에서 패킷의 범위를 좁혀주는 것을 말한다.

 

표시 필터(Display Filter)란,

패킷 캡처 후에 패킷을 표시하는 단계에서 범위를 좁혀서 나타내는 것을 말한다.

 

캡처 필터의 형식은 리눅스 등에서 패킷 캡처를 수행할 때 이용되는 libpcap이나 tcpdump의 형식에 준거하고 있다. 와이어샤크의 표시에 특화된 기능인 표시 필터와는 형식이 다르다.

1) 캡처 필터를 지정하는 방법

캡처 필터를 지정하려면 캡처 옵션 화면에서 [Capture Filter]의 텍스트 박스에 필터식을 입력한다. 캡처 필터에는 전용 형식을 사용한다. 캡처 필터의 기본인 형식은 여러개의 키워드를 not이나 and, or로 연결한 형태이다.

tcp port 23 and host 192.168.0.5

 

이 필터는 특정 호스트(192.168.0.5)에서 텔넷 트래픽만을 캡처하기 위한 것이다. 이 필터는 'tcp port 23'과 'host 192.168.0.5'라는 두 부분이 and로 연결되어 있다. 이에 따라 TCP 23번 포트의 트래픽이면서 호스트 192.168.0.5라는 조건을 지정할 수 있게 되었다.

 

이와는 반대로 IP 주소가 192.168.0.5 이외의 모든 텔넷 트래픽을 캡처할 경우, 캡처 필터는 다음과 같이 된다.

tcp port 23 and not host 192.168.0.5

2) 표시 필터

와이어샤크는 통신에 관한 모든 패킷을 캡처한다. 패킷 캡처를 실제로 해보면 의외로 많은 패킷이 캡처되는 것을 알 수 있다.

 

표시 필터는 일단 캡처한 패킷에 대해 범위를 축소해서 보여준다. 표시 필터는 캡처 팰터 보다도 매우 상세하게 필터링할 수 있을 뿐만 아니라 형식도 간단해서 탐색기를 조작하듯이 프로토콜 목록에서 프로토콜을 선택할 수도 있다. 필터링 조건 연산자를 후보 목록에서 선택하거나 값을 직접 입력하는 방법으로 필터를 생성하고 화면상에 범위를 좁힌 결과를 바로 확인할 수 있다.

 

IP 주소가 '1.1.1.1' 이외의 패킷으로 범위를 좁히려 한다고 하자. 다음 예를 보면 'ip.addr != 1.1.1.1'은 연산자 자체로는 올바르지만 와이어샤크에서는 의미가 없는 필터다. 이때 배경이 황색이 되므로 경고가 있음을 알 수 있다.

 

여기서 IP 주소가 '1.1.1.1' 이외인 패킷을 올바르게 지정하려면 '!(ip.addr == 1.1.1.1)'과 같이 입력해야 한다. 필터 툴바의 텍스트박스는 이처럼 필터 조건식이 올바른지 여부를 판별하는 기능도 포함되어 있으므로 잘 활용하면 좋을 것이다.