[Network] wireshark & netmornitering 소개

목차

  1. 와이어샤크
  2. 네트워크마이너
  3. 와이어샤크 사용법



와이어샤크

wireshark

What is Wireshark

와이어샤크는 네트워크 패킷 분석기입니다. 캡쳐한 패킷 데이터를 최대한 자세하게 보여줍니다.

Features

  • UNIX, Windows에서 사용 가능합니다
  • 네트워크 인터페이스에서 실시간 패킷 데이터를 캡쳐합니다
  • tcpdump, windump, wire shark와 같은 패킷 캡쳐 프로그램에서 캡쳐한 패킷 데이터가 포함된 파일을 열 수 있습니다
  • 패킷 데이터의 hex dump1를 포함한 텍스트 파일에서 패킷을 불러올 수 있습니다
  • 패킷의 매우 자세한 프로토콜 정보를 출력합니다
  • 많은 기준의 패킷 필터링을 제공합니다
  • 많은 기준의 패킷 검색을 제공합니다
  • 다양한 통계 생성이 가능합니다
  • 캡쳐한 파일들은 editcap 프로그램으로 편집하거나 변환할 수 있습니다
  • 캡쳐한 트래픽 내의 VolP 호출을 감지할 수 있습니다
  • 와이어샤크를 통해 순수 USB 트래픽을 캡쳐할 수 있습니다2

What Wireshark is not

  • 침입 감지 프로그램이 아니므로 허락받지 않은 사용자가 네트워크의 침입했을 때 경고하지 않습니다
  • 네트워크를 조작하는 프로그램이 아니라 측정하는 프로그램입니다. 패킷을 보내거나 (도메인 이름 resolution을 제외한) 다른 능동적인 것들을 수행하지 않습니다.

1: 데이터의 16진법적인 보임새
2: 리눅스에서만 가능



네트워크마이너

networkminer

NetworkMiner는 Windows 용 NFAT3입니다. NetworkMiner는 네트워크에 트래픽을 발생시키지 않고 운영 체제, 세션, 호스트 이름, 열린 포트 등을 감지하기 위한 수동 네트워크 스니퍼/패킷 캡처 도구로 사용할 수 있습니다. 오프라인 분석을 위해 PCAP4 파일을 구문 분석하고 PCAP 파일에서 전송 된 파일 및 인증서를 재생성/재조립할 수도 있습니다.

NetworkMiner의 목적은 네트워크의 트래픽에 관한 데이터를 수집하는 것이 아니라 네트워크의 호스트에 대한 데이터(예: 포렌식 증거)를 수집하는 것입니다. 기본 보기 설정은 패킷 중심(프레임 목록으로 표시됨)이 아니라 호스트 중심(호스트별로 그룹화 된 정보)입니다.

NetworkMiner는 PCAP 파일을 구문 분석하거나 네트워크에서 직접 트래픽을 스니핑하여 네트워크를 통해 전송된 파일 및 인증서를 추출 할 수 있습니다. 네트워크를 통해 스트리밍되는 미디어 파일을 추출하고 저장하는 데 사용할 수있는 깔끔한 기능입니다.

[3]: Network Forensic Analysis Tool
[4]: OSI 모델에서 라이브 네트워크 패킷 데이터를 캡쳐하는 API. wireshark 같은 네트워크 분석기에서 .pcap 파일을 만들어 패킷 데이터를 수집하고 기록함.



wireshark 사용법

wireshark 패킷 캡쳐

0305

설치하고 처음 시작하면 위와 같은 화면이 뜹니다. 사용 가능한 인터페이스 목록 중에서 인터페이스를 선택하고 위쪽 main toolbar에서 파란 상어 지느러미 버튼을 클릭하면 패킷들을 캡쳐할 수 있습니다. 다음은 실제로 캡쳐했을 때 나타나는 창입니다.

Main Window

0301 0302

위에서부터 차례대로 설명합니다.

  1. menu
    여러 유용한 기능을 사용할 수 있는 바
  2. main toolbar
    자주 사용하는 도구들을 빠르게 접근할 수 있는 툴바
  3. filter toolbar
    출력할 패킷의 필터를 설정하는 툴바
  4. packet list pane
    캡쳐한 패킷의 요약을 보여주는 창
  5. packet details pane
    packet list pane에서 선택한 패킷을 자세하게 보여주는 창
  6. packet bytes pane
    packet list pane에서 선택한 패킷을 packet details pane에서 선택한 필드를 강조해서 hexdump로 보여주는 창
  7. status bar
    현재 프로그램 상태와 캡쳐한 데이터에 대한 자세한 정보를 보여주는 바

+ 자세한 navigation은 키보드로 실행가능합니다. 여기에서 빠르게 실행할 수 있는 단축키 목록을, 여기에서는 추가적인 단축키를 확인할 수 있습니다.

아래는 packet list pane의 부가적인 설명입니다.

packet list pane

0303

패킷 목록의 각 라인은 캡처 파일의 한 패킷에 해당합니다. 라인을 선택하면 Packet Details 및 Packet Bytes pane에 자세한 세부 정보가 표시됩니다.

패킷을 분석하는 동안 Wireshark는 프로토콜 분석자의 정보를 배치합니다. 높은 수준의 프로토콜은 낮은 수준의 정보를 덮어 쓸 수 있으므로 일반적으로 가능한 가장 높은 수준의 정보 만 볼 수 있습니다.

예를 들어 이더넷 패킷 내부의 IP 내부에 TCP를 포함하는 패킷을 살펴 보겠습니다. 이더넷 분할기는 데이터(예: 이더넷 주소)를 쓰고, IP ​​분할기는 자체 데이터(예: IP 주소)를 덮어 쓰고, TCP 분할기는 IP 정보를 덮어 씁니다.

기본 라인에는 다음이 표시됩니다.

  • No: 캡쳐 파일의 패킷 수
  • Time: 패킷의 시간표기
  • Source: 패킷을 보낸 주소
  • Destination: 패킷의 목적지 주소
  • Protocol: 프로토콜 이름의 짧은 버전
  • Length: 패킷의 길이
  • Info: 패킷 내용에 관한 추가 정보
  • 첫번째 열에는 각 패킷이 선택한 패킷과 어떻게 관련되는지 볼 수 있습니다.

0304

훨씬 자세한 내용이 문서에 있으니까 참고하시길 바랍니다.

Filtering

wireshark에는 capture filterdisplay filter가 있습니다. capture filter는 패킷을 캡쳐할 때 필터링하며, display filter는 출력한 패킷을 필터링합니다. capture filter에 대한 설명은 여기에서 참고하시길 바랍니다. 이 글에서는 display filter만 간략히 소개합니다.

display filter

display filter에서는 다음을 기준으로 출력 여부를 결정합니다.

  • 프로토콜
  • 필드의 존재 유무
  • 필드의 값
  • 필드 사이의 비교
  • 등등

특정 프로토콜을 포함한 패킷을 보고싶다면 filter bar에 프로토콜만 입력하면 됩니다. 예를 들어, TCP 패킷만 보고싶다면 filter bar에 tcp라고 입력하시면 됩니다. 비슷하게, 특정 field를 포함하는 패킷을 보고싶다면 filter bar에 field만 입력하면 됩니다. 예를 들어, HTTP request만 보고싶다면, http.request를 입력하세요.

display filter는 표현식을 사용할 수 있습니다. 비교 연산자를 사용해 값을 비교하고 논리 연산자를 통해 표현식을 결합할 수 있습니다. 슬라이스 연산자를 사용하여 일부 값만을 비교할 수도 있고 멤버십 연산자를 통해 특정 값이 포함된 field를 출력할 수 있습니다. 또한 기본적인 upper, lower과 같은 함수들도 있습니다.

필터링에 대한 자세한 설명이 궁금하시다면 여기서 확인하실 수 있고, 여기로 가시면 많은 display filter 예시가 있습니다.

출처

와이어샤크 위키
와이어샤크 문서
네트워크마이너 포렌식 위키

참고

블로그