Post

와이어샤크 검색 문법

와이어샤크 필터링 문법 요약

1. 프로토콜 필터링

  • tcp, udp, http, dns, icmp, arp 등 특정 프로토콜의 패킷만 표시합니다.

2. IP 주소 및 포트 필터링

  • ip.addr == [IP 주소] : 특정 IP 주소와 관련된 모든 패킷을 표시합니다.
  • ip.src == [IP 주소] / ip.dst == [IP 주소] : 출발지 또는 목적지 IP 주소를 기준으로 필터링합니다.
  • tcp.port == [포트 번호] / udp.port == [포트 번호] : 특정 TCP 또는 UDP 포트를 사용하는 패킷을 표시합니다.

3. 논리 연산자

  • and : 두 조건을 모두 만족하는 패킷을 표시합니다.
  • or : 두 조건 중 하나라도 만족하는 패킷을 표시합니다.
  • not / ! : 특정 조건을 만족하지 않는 패킷을 표시합니다.

4. 문자열 검색

  • contains "[문자열]" : 특정 문자열을 포함하는 패킷을 표시합니다.

5. 기타 유용한 필터

  • eth.addr == [MAC 주소] : 특정 MAC 주소와 관련된 패킷을 표시합니다.
  • tcp.flags.syn == 1 : TCP SYN 패킷만 표시합니다. (연결 설정 요청)
  • http.request.method == "GET" / http.request.method == "POST" : HTTP GET 또는 POST 요청만 표시합니다.

6. 예시 문제

  • A. http and ip.addr == 192.168.0.1 : 192.168.0.1과 관련된 HTTP 패킷만 표시합니다.
  • B. tcp.port == 80 or tcp.port == 443 : 80번 또는 443번 포트를 사용하는 TCP 패킷을 표시합니다.
  • C. not dns : DNS 패킷을 제외한 모든 패킷을 표시합니다.
  • D. http.request.uri contains "login" : URI에 “login”이 포함된 HTTP 요청 패킷을 표시합니다.
  • E. http.response.code == 200 : HTTP 응답 코드가 200(OK)인 패킷을 표시합니다.
  • F. http.request.method == "POST" and http.request.uri contains "admin" : “admin”이 포함된 URI에 대한 HTTP POST 요청 패킷을 표시합니다.
  • G. frame contains "password" : 패킷 내용에 “password” 문자열이 포함된 패킷을 표시합니다. (주의: 평문 비밀번호 노출 가능성)
  • H. tcp contains "flag" : TCP 패킷 내용에 “flag” 문자열이 포함된 패킷을 표시합니다.
  • I. ip.len > 1000 : IP 패킷 길이가 1000바이트보다 큰 패킷을 표시합니다.
  • J. tcp.seq >= 10000 and tcp.seq <= 20000 : TCP 시퀀스 번호가 10000 이상 20000 이하인 패킷을 표시합니다.
  • K. frame.time >= "2023-09-21 10:00:00" and frame.time <= "2023-09-21 11:00:00" : 2023년 9월 21일 오전 10시부터 오전 11시 사이에 캡처된 패킷을 표시합니다.
  • L. (ip.src == 192.168.0.100 or ip.src == 192.168.0.200) and (tcp.port == 80 or tcp.port == 443) : 출발지 IP 주소가 192.168.0.100 또는 192.168.0.200이고, TCP 포트 번호가 80 또는 443인 패킷을 표시합니다.