Wireshark - 기초 사용법

@Super_E끌림·2025년 8월 23일
post-thumbnail

`Wi-Fi: en0` 옆에 보면 펄스 같은게 있는데 저게 보이면 현재 통신을 주고 받고 있다는 것을 나타냅니다.

Wi-Fi: en0 옆에 보면 펄스 같은게 있는데 저게 보이면 현재 통신을 주고 받고 있다는 것을 나타냅니다.

프로그램을 실행 후 위와 같은 그림이 뜨는데
Capture 아래에 있는 것들은 와이어샤크에서 자동적으로 찾아준 현재 사용하고 있는 네트워크들 입니다.
분석하고 싶은 네트워크에 클릭을 한 후에 왼쪽 위에 있는 상어 지느러미 모양의 버튼을 클릭하면 통신하고 있는 패킷들을 캡처해서 보여줍니다.

옵션들을 하나씩 알아보겠습니다.

먼저 구조를 보면 크게 2가지로 나눌 수 있습니다.
위에는 캡처된 패킷 정보이고 아래는 그 패킷에 대한 정보(데이터들)이다.

FIle / View는 정리하지 않았습니다.

  • Edit : 패킷을 찾거나 표시 / 프로그램 속성 설정
  • Go : 캡처된 데이터를 특정 위치로 이동
  • Capture : 캡처 필터 옵션 설정 및 캡처 시작/종료
  • Analyze : 분석 옵션 설정
  • Statistics : 통계 데이터 확인
  • Telephony / Wireless : Telephony 또는 Wireless와 관련된 통계/스트림 확인

1, 3은 클릭하면 저장 후 계속, 저장없이 계속, 취소 옵션이 있다.

1, 3은 클릭하면 저장 후 계속, 저장없이 계속, 취소 옵션이 있다.

  • 1 : 패킷 캡처 (그 전에 캡처한 것은 사라짐)
  • 2 : 패킷 캡처 멈추기
  • 3 : 그 전에 캡처한거 사라지고 다시 패킷 캡처

12를 실행하면 사용 가능 / 3은 캡처하고 있을 떄 사용 가능.

패킷이란? 통신할 때의 최소 단위이다.

패킷이란? 통신할 때의 최소 단위이다.

  • Time : 패킷이 수집된 시간 (기준 : 캡처를 시작한 시점부터)
  • Source : 패킷을 보낸 주소
  • Destination : 패킷 도착 주소
  • Protocol : 프로토콜 정보
  • Length : 패킷의 길이
  • Info : 패킷 정보

패킷을 필터링할 수 있는 공간입니다.
필터링을 적용해 캡처하는 방법이 2가지가 있습니다.

  • 캡쳐 필터 : 원하는 내용만 처음부터 캡처하는 방법 BPF(Berkeley Packet Filter) 문법 사용 → tcpdump와 동일한 문법
    캡처 시작 전에만 설정 가능
    불필요한 패킷은 애초에 캡처되지 않으므로, 대량의 트래픽을 캡처할 때 성능상 유리
    단점: 필터링이 잘못되면 원하는 패킷 자체가 저장되지 않음
    문법
    • 호스트 기준
      • 특정 IP만 캡처 - host [호스트 IP 주소]
      • 출발지 IP만 캡처 - src host [호스트 IP 주소]
      • 목적지 IP만 캡처 - dst host [호스트 IP 주소]
    • 네트워크 기준
      • 서브넷 단위 캡처 - net [네트워크 주소]/[서브넷 마스크 비트]
      • 출발지 네트워크 - src net [네트워크 주소]/[서브넷 마스크 비트]
    • 포트 기준
      • 특정 포트 - port [포트 번호]
      • 출발지 포트 - src port [포트 번호]
      • 목적지 포트 - dst port [포트 번호]
      • 여러 포트 OR 조건 - port [포트 번호] or port [포트 번호]
    • 프로토콜 기준
      • 특정 프로토콜만 - tcp / udp / icmp / arp
    • 논리 연산
      • AND - [조건] and [조건]
      • OR - [조건] or [조건]
      • NOT - not [조건]
  • 디스플레이 필터 : 전체를 캡처하고 필터를 걸어 검색하는 방법 이미 캡처된 패킷들 중에서 특정 조건을 만족하는 것만 화면에 보여주는 기능
    즉, 패킷은 다 저장되지만, 보여주는 것만 제한
    문법은 Wireshark 전용 문법을 사용 (캡처 필터의 tcpdump 문법과 다름)
    캡처 후 언제든지 다시 수정해서 필터링 가능 문법 구조 : [필드명] [연산자] [값] 자주 사용되는 문법들만 한번 봐보겠습니다. 자세한 것들은 https://www.wireshark.org/docs/dfref/ 여기서 보시기 바랍니다.
    • IP 기준
      • 특정 IP 전체 (출발지/목적지 둘 다 포함) - ip.addr == [호스트 IP 주소]
      • 출발지 IP만 - src ip.addr == [호스트 IP 주소]
      • 목적지 IP만 - dst ip.addr == [호스트 IP 주소]
    • 포트 기준
      • TCP/UDP - tcp.port == [포트 번호] / udp.port == [포트 번호]
      • 출발지 포트 - [특정 프로토콜].srcport == [포트 번호]
      • 목적지 포트 - [특정 프로토콜].dstport == [포트 번호]
    • 프로토콜 기준
      • TCP만 보기 - tcp
      • HTTP만 보기 - http
      • DNS만 보기 - dns
    • HTTP 트래픽 세부 필터
      • HTTP GET 요청만 - http.request.method == "GET”
      • 특정 호스트로 요청된 패킷 - http.host == "[IP 주소 / 도메인 이름]"
      • HTTP 응답 코드가 200 OK - http.response.code == 200
    • 논리 연산자
      • AND - [조건] and [조건]
      • OR - [조건] or [조건]
      • NOT - not [조건]
profile
SoC:) SoC:)

0개의 댓글