본문 바로가기

Network

[Wireshark] Wireshark display filters 기능

Wireshark display filters 기능

 

 Wireshark display filters는 네트워크 영역에서 송수신하는 패킷에 대하여 사용자가 지정한 패턴을 지정하여 확인하고 싶은 패킷만 출력할 수 있다. 이는 수 많은 네트워크 패킷을 정확 명료하게 확인하기 위하여 필수적인 기능이다.

display filter interface 

디스플레이 필터는 ip, protocol, port, mac 등 데이터를 간략하게 입력하여 출력하는 방식과 필터 문법에 맞추어 검색하여 출력하는 방식이 있다. 아래는 디스플레이 필터에 대한 문법을 설명한 글이다.

 Protocol:
사용 가능한 값: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
프로토콜을 지정하지 않으면 모든 프로토콜을 사용합니다.

 

Direction:
사용 가능한 값: src, dst, src and dst, src or dst
출발지나 목적지를 지정하지 않으면 "src or dst" 키워드가 사용됩니다.
예를 들어, "host 10.2.2.2"은 "src or dst host 10.2.2.2"과 동일합니다. 

 Host(s):
사용 가능한 값: net, port, host, portrange.
호스트를 지정하지 않으면 "host" 키워드가 사용됩니다.
예를 들어, "src 10.1.1.1"은 "src host 10.1.1.1"과 같은 의미입니다.

 Logical Operations:
사용 가능한 값: not, and, or.
부정 연산("not")이 가장 높은 우선순위를 갖습니다. 논리합("or")과 논리곱("and")는 같은 우선순위를 가지며 왼쪽에서 오른쪽으로 처리됩니다.
예를 들어,
"not tcp port 3128 and tcp port 23"은 "(not tcp port 3128) and tcp port 23"과 동일하게 작용합니다.
"not tcp port 3128 and tcp port 23" 은 "not (tcp port 3128 and tcp port 23)"과는 동일하지 않습니다

논리 표현식

 =>  C언어 표기법으로 Wireshark filter에 적용하여 연산자를 사용할 수 있다.

영문 표기:  C언어 표기:  의미:
eq  ==  같다
ne != 틀리다
gt > 크다
lt < 작다
ge >= 크거나 같다
le <= 작거나 같다
and && 논리곱
or || 논리합
xor ^^ 배타적 논리합
not ! 부정


display filter 사용법

boanproject 참고자료

snmp || dns || icmp
SNMP 혹은 DNS 혹은 ICMP 트래픽을 보여줍니다.
ip.addr == 10.1.1.1
출발지나 목적지의 IP 주소가 10.1.1.1인 패킷

ip.src != 10.1.2.3 or ip.dst != 10.4.5.6
출발지의 IP 주소가 10.1.2.3이 아니거나 목적지의 IP 주소가 10.4.5.6이 아닌 패킷
ip.src != 10.1.2.3 and ip.dst != 10.4.5.6  
10.1.2.3이 아닌 모든 주소, 그리고 목적지 IP 주소 : 10.4.5.6이 아닌 모든 주소
tcp.port == 25
출발지와 목적지의 TCP 포트가 25인 패킷을 보여줍니다.
tcp.dstport == 25
목적지의 TCP 포트가 25인 패킷을 보여줍니다.
tcp.flags
TCP 플래그를 가지고 있는 패킷을 보여줍니다.
tcp.flags.syn == 0x02
TCP SYN 플래그를 가지고 있는 패킷을 보여줍니다.

Wireshark display filter는 키워드만 입력 시 관련 키워드를 확인할 수 있어 사용자가 필터를 적용하기에 최적화되어 있으며 정확한 명칭을 찾으려고 검색하지 않아도 관련 키워드에서 선택하여 사용자가 원하는 임의의 패턴을 만들 수 있다.

 

참고 사이트

https://openmaniak.com/kr/wireshark_filters.php