와이어샤크 필터 가이드: 캡처 필터와 디스플레이 필터의 차이와 활용법

35 sec read

네트워크 패킷 분석의 표준 도구인 와이어샤크(Wireshark)를 사용할 때, 수많은 패킷의 홍수 속에서 원하는 정보를 찾아내는 능력은 분석의 성패를 좌우합니다. 이 능력의 핵심이 바로 ‘필터’입니다. 와이어샤크는 두 가지 강력하지만 근본적으로 다른 필터링 메커니즘을 제공합니다: 캡처 필터(Capture Filter)디스플레이 필터(Display Filter).

이 둘의 차이를 명확히 이해하고 전략적으로 사용하는 것은 초보자와 전문가를 가르는 중요한 기준입니다. 이 글에서는 두 필터의 개념, 문법, 그리고 실전 활용 전략을 심도 있게 다룹니다.

1. 캡처 필터 (Capture Filter): 필요한 데이터만 수집하기

캡처 필터는 패킷 캡처를 시작하기 전에 적용하는 필터입니다. 이는 마치 특정 크기의 그물코를 가진 어망으로 물고기를 잡는 것과 같습니다. 내가 원하는 종류의 패킷(물고기)만 그물(캡처 파일)에 담고, 나머지는 처음부터 무시합니다.

이렇게 수집 단계에서부터 데이터를 걸러내므로, 대용량 트래픽 환경이나 장시간 캡처 시 시스템의 부하를 줄이고 저장 공간을 효율적으로 사용하는 데 결정적인 역할을 합니다.

  • 적용 시점: 캡처 시작 인터페이스 설정 화면
  • 사용 문법: BPF(Berkeley Packet Filter) 문법
목적필터 예시설명
특정 IP 주소host 192.168.0.10출발지 또는 목적지 IP가 192.168.0.10인 모든 트래픽
출발지/목적지 IPsrc host 192.168.0.10 / dst host 192.168.0.10각각 출발지 또는 목적지 IP가 해당될 때
특정 포트port 80출발지 또는 목적지 포트가 80인 모든 트래픽
프로토콜tcp, udp, icmp지정된 프로토콜 트래픽만
프로토콜과 포트 조합tcp port 443TCP 프로토콜을 사용하고 포트가 443(HTTPS)인 트래픽
IP 대역 (서브넷)net 192.168.0.0/24192.168.0.x 대역의 모든 트래픽
논리 연산 (AND/OR)tcp and port 443 and host 1.1.1.1AND(and, &&)와 OR(or, ||)로 조건 조합 가능

2. 디스플레이 필터 (Display Filter): 수집된 데이터에서 원하는 정보 찾기

디스플레이 필터는 이미 캡처가 완료된 데이터 중에서 화면에 보여줄 패킷을 걸러내는 기능입니다. 이는 어망으로 잡은 모든 물고기를 일단 배 위에 쏟아 놓고, 그중에서 특정 색깔이나 종류의 물고기만 골라보는 것과 같습니다. 원본 캡처 파일(.pcapng)은 변경되지 않으며, 단지 분석가의 관점만 바꾸는 것입니다.

디스플레이 필터는 프로토콜의 거의 모든 필드를 조건으로 사용할 수 있어 매우 정교하고 강력한 분석을 가능하게 합니다.

  • 적용 시점: 캡처 후 메인 화면 상단의 필터 입력창
  • 사용 문법: 와이어샤크 고유의 상세한 필터 문법
목적필터 예시설명
특정 IP 주소ip.addr == 192.168.0.10출발지 또는 목적지 IP가 해당될 때
출발지/목적지 IPip.src == 192.168.0.10 / ip.dst == 192.168.0.10각각 출발지 또는 목적지 IP 필터링
특정 포트tcp.port == 80 / udp.port == 53특정 TCP 또는 UDP 포트 트래픽
프로토콜http, dns, tcp, udp, icmp해당 프로토콜만 화면에 표시
TCP 상태 플래그tcp.flags.syn == 1 / tcp.flags.reset == 1TCP 3-way-handshake의 시작 패킷(SYN) 또는 연결 종료(RST) 패킷
HTTP 요청 메소드/URIhttp.request.method == "POST"HTTP POST 요청만 필터링
http.request.uri contains "/login"URI에 “/login” 문자열이 포함된 HTTP 요청만 필터링
논리 연산 (AND/OR)ip.src == 192.168.0.10 && tcp.port == 8080AND(&&, and), OR(||, or)로 조건 조합 가능
패킷 내용 검색frame contains "password"패킷의 Raw 데이터 전체에서 “password” 문자열 검색 (암호화되지 않은 경우)

핵심 비교: Capture Filter vs. Display Filter

구분캡처 필터 (Capture Filter)디스플레이 필터 (Display Filter)
시점캡처 시작 전캡처 완료 후 (또는 실시간 캡처 중)
목표수집할 데이터의 양 자체를 줄이는 것수집된 데이터 내에서 분석할 대상을 좁히는 것
영향원본 데이터에 직접적 영향 (필터링된 것만 저장)원본 데이터에 영향 없음 (화면에 보여주는 방식만 변경)
문법BPF (host, port, net)Wireshark 전용 (ip.addr, tcp.flags, http)
유연성낮음 (L2~L4 헤더의 일부 필드만 가능)높음 (프로토콜의 거의 모든 필드와 데이터 내용까지 가능)
성능시스템 부하 및 저장 공간 감소 효과분석의 효율성과 속도 증대

전략적 활용법: 언제 무엇을 쓸 것인가?

최고의 분석 효율을 위해서는 두 필터를 목적에 맞게 조합하는 것이 중요합니다.

  1. 조사 범위가 넓고 불확실할 때: 관대한 캡처 필터 + 강력한 디스플레이 필터
    • 상황: “192.168.0.10 서버에서 뭔가 문제가 있는데, 원인이 불분명하다.”
    • 전략: 캡처 필터는 host 192.168.0.10 정도로 넓게 설정하여 해당 서버와 관련된 모든 트래픽을 일단 수집합니다. 그 후, 디스플레이 필터를 사용하여 tcp.flags.reset == 1 (연결 실패), http.response.code >= 400 (HTTP 에러), dns.qry.name contains "malware" (의심스러운 DNS 요청) 등 다양한 가설을 검증하며 분석의 범위를 좁혀나갑니다.
  2. 조사 대상이 명확하고 트래픽이 많을 때: 엄격한 캡처 필터
    • 상황: “운영 중인 웹 서버(1.2.3.4)의 443 포트(HTTPS) 트래픽만 분석하면 된다.”
    • 전략: 네트워크 트래픽이 매우 많은 경우, 불필요한 데이터를 모두 저장하는 것은 비효율적입니다. 캡처 필터에 host 1.2.3.4 and tcp port 443이라고 명확히 지정하여 필요한 패킷만 수집합니다. 이렇게 하면 캡처 파일의 크기가 작아지고, 와이어샤크의 반응 속도도 빨라집니다.

캡처 필터는 수집할 데이터의 ‘양’을 제어하는 도구이고, 디스플레이 필터는 분석할 데이터의 ‘질’을 높이는 도구입니다. 이 두 가지 필터의 차이를 이해하고 능숙하게 조합하여 사용하는 것은 방대한 네트워크 트래픽 속에서 문제의 핵심을 꿰뚫어 보는 가장 효과적인 방법입니다.

[MSA] Spring Cloud Gateway VS Apache APISIX : 단계별…

마이크로서비스 아키텍처(MSA)에서 API 게이트웨이는 시스템의 관문 역할을 하는 핵심 컴포넌트입니다. 수많은 Java 개발팀이 Spring 생태계와의 완벽한 통합성을 자랑하는 Spring Cloud Gateway를 선택해왔습니다. 그러나 시스템이...
eve
1 min read

[Kafka] 카프카의 심장: 토픽, 파티션, 프로듀서, 컨슈머 완벽 해부

Apache Kafka가 어떻게 대용량 데이터를 실시간으로, 그리고 안정적으로 처리할 수 있는지 궁금하신가요? 그 비밀은 Kafka를 구성하는 핵심 요소들의 유기적인 협력에 있습니다. Kafka는 마치 잘...
eve
1 min read

[Spring Boot] RabbitMQ에서 Kafka로의 실전 전환 가이드: 단계별 마이그레이션

최근 많은 시스템이 단순한 메시지 큐를 넘어, 대용량 데이터 처리와 실시간 스트리밍이 가능한 이벤트 기반 아키텍처로 진화하고 있습니다. 이러한 흐름의 중심에 있는 기술이 바로...
eve
1 min read