네트워크/와이어샤크

[와이어샤크][Day 2] 기본 필터 사용법 익히기

playalone 2025. 7. 16. 21:16

이 글은 제 공부의 목적으로 작성하는 글로써, 틀린 부분이 있을수 있습니다.

틀린 부분이 있을시, 댓글로 친절히 설명해주시면 감사하겠습니다.

기본 필터 사용법 익히기

와이어샤크의 화면 상단을 캡쳐 후, 상단을 확인하면, 표시 필터가 존재하고, 

캡쳐 전에 캡쳐 - 옵션에 가면, 캡쳐 필터라는게 존재한다.

 

표시 필터는 캡쳐 이후, 사용자가 보고 싶은 것을 필터링한다면, 캡쳐 필터는 캡쳐 이전에 특정 조건의 패킷만 캡쳐하도록 하는 필터이다.

 

표시 필터

가장 먼저 표시 필터에 대해 살펴보자면, 

 

프로토콜 기준 필터링, ip 주소 기준 필터링, 포트번호 기준 필터링, mac 주소 기준 필터링이 있다.

 

프로토콜 기준 필터링

http, dns, tcp, udp, arp, icmp, dhcp, tls(https등은 이렇게 검색해야 함) 등이 있다.

ip 주소 기반 필터링

ip.addr == [ipAddr]: 출발지 또는 목적지가 [ipAddr]인 패킷

ip.src == [ipAddr]: 출발지rk [ipAddr]인 패킷

ip.dst == [ipAddr]: 목적지가 [ipAddr]인 패킷

 

포트 번호 기준 필터링

tcp.port == 80: 출발지 또는 목적지 tcp 포트가 80인 패킷

tcp.dstport == 80: 목적지 tcp 포트가 80인 패킷

udp.srcport == 53: 출발지 udp포트가 53인 패킷

 

mac 주소 기준 필터링

eth.addr == [ipAddr]: 출발 혹은 목적지 mac 주소가 [ipAddr]인 패킷

etth.src == [ipAddr]: 출발 mac 주소가 [ipAddr]인 패킷

 

특정 문자열 포함 여부 필터링

http contains "google": http 데이터에 google이라는 문자열이 있는 패킷

tcp contains "login": tcp 데이터 안에 login이라는 문자열이 있는 패킷

 

그외

http.request.method == "POST": http 요청방식이 post인 패킷

http.request.code == 404: http 응답 코드가 404인 패킷

tcp.flags.syn == 1: syn인 패킷

 

이렇게 적어놓은 것 이외에도 다양한 필터링은 제공하기 때문에 그때 그때 필요한 필터링을 검색하여 사용하도록 하겠다.

 

필터를 여러개 써야할 때에는 다른 프로그래밍 언어에서 사용하는 방식과 같다.

and / && : 연결중인 두 조건을 모두 만족할 때

or / ||: 연결중인 두 조건 중 한개라도 만족할 때

not / !: 해당 조건 제외

 

또한, gui를 통해 필터를 적용할 수도 있다. 

원하는 필터를 가진 패킷에서, 우클릭 하여, 필터로 적용시킬 수 있다.

 

캡쳐 필터

일단, 캡쳐 필터에 대해 알아보기 이전에, 나와 같은 초보자는 정확히 어떠한 패킷이 캡쳐될 지에 대한 확신 없기 때문에 모든 것을 캡쳐한 후, 표시 필터로 분석하는 것이 더 좋은 방법이라 생각한다.

 

캡쳐 필터는 bpf 문법을 사용한다.

필터링은 호스트 기준, 포트 기준, 프로토콜 기준 등이 있다.

 

호스트 기준

host [ipAddr]: 출발지 또는 목적지가 [ipAddr]인 패킷

src host [ipAddr]: 출발지가 [ipAddr]인 패킷

dst host [ipAddr]: 목적지가 [ipAddr]인 패킷

net [network]: [network] 대역의 모든 패킷

 

포트 기준

port [portNumber]: 포트번호가 [portNumber]인 패킷

src port [portNumber]: 출발지 포트가 [portNumber]인 패킷

portrange [portNumber1] [portNumber2]: 포트 번호가 [portNumber1]부터 [portNumber2] 사이인 패킷

 

프로토콜 기준

tcp, icmp, udp 등

 

필터를 여러개 써야할 때는

and: 두 조건 모두 충족

or: 두 조건중 하나라도 충족

not: 조건 제외

 

이다. 

 

이것으로 이 글을 마치도록 하겠다.