Tshark 에서 대용량 파일 처리하기

WiresharkBeginner
지금 연습하기

소개

이 랩에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 대용량 패킷 캡처 파일을 효율적으로 처리하는 기술을 배우게 됩니다. -r을 사용하여 PCAP 파일을 열고, -c를 사용하여 패킷 수를 제한하고, -Y를 사용하여 트래픽을 필터링하고, -w를 사용하여 하위 집합을 내보내는 연습을 할 것입니다.

실습을 통해 패킷 제한, 프로토콜 필터, 파일 분할을 적용하여 대용량 데이터 세트를 처리하는 방법을 익히게 됩니다. 이러한 기술은 리소스 최적화 및 정확한 데이터 추출이 필요한 네트워크 문제 해결 시나리오에 필수적입니다.

-r large.pcap 으로 파일 열기

이 단계에서는 Wireshark 의 명령줄 인터페이스인 tshark를 사용하여 패킷 캡처 (PCAP) 파일을 열고 검사하는 방법을 배우게 됩니다. PCAP 파일에는 네트워크 인터페이스에서 캡처된 네트워크 트래픽 데이터가 포함되어 있습니다. -r 옵션은 "read"를 의미하며, tshark에게 처리할 파일을 알려줍니다.

  1. 먼저, 패킷 캡처 파일이 포함된 디렉토리로 이동해야 합니다. 터미널에서 다음을 실행합니다.

    cd ~/project

    이렇게 하면 작업 디렉토리가 large.pcap 파일이 저장된 위치로 변경됩니다. tshark가 파일을 찾을 수 있도록 올바른 디렉토리에 있는 것이 중요합니다.

  2. 이제 다음을 사용하여 large.pcap의 내용을 열고 표시해 보겠습니다.

    tshark -r large.pcap

    이 명령은 파일을 읽고 패킷 데이터를 터미널에 출력합니다. 각 줄은 캡처된 하나의 네트워크 패킷을 나타냅니다.

  3. 출력에는 각 패킷에 대한 몇 가지 중요한 정보 열이 표시됩니다.

    • Packet number (패킷 번호): 캡처에서 패킷의 시퀀스 번호
    • Timestamp (타임스탬프): 패킷이 캡처된 시간
    • Source and destination IPs (소스 및 대상 IP): 패킷의 출발지와 목적지
    • Protocol (프로토콜): 사용 중인 네트워크 프로토콜 (예: TCP, UDP, HTTP)
    • Length (길이): 바이트 단위의 패킷 크기
    • Info (정보): 패킷 내용에 대한 추가 세부 정보
  4. 대용량 PCAP 파일은 많은 출력을 생성할 수 있으므로 less로 파이핑하여 읽기 쉽게 만들 수 있습니다.

    tshark -r large.pcap | less

    이렇게 하면 화살표 키를 사용하여 출력을 페이지별로 스크롤할 수 있습니다. 뷰어를 종료하고 명령 프롬프트로 돌아가려면 q를 누르십시오.

-c 10000 으로 처리 제한

이 단계에서는 대용량 패킷 캡처 파일에서 처리되는 데이터의 양을 제어하는 방법을 살펴보겠습니다. 네트워크 분석 작업을 할 때 수백만 개의 패킷을 포함할 수 있는 매우 큰 PCAP 파일을 자주 접하게 됩니다. 모든 패킷을 한 번에 처리하는 것은 시간이 오래 걸리고 리소스를 많이 사용할 수 있습니다. 이때 tshark-c 옵션이 유용합니다.

-c 플래그를 사용하면 파일의 처음부터 처리할 패킷 수를 정확하게 지정할 수 있습니다. 이는 분석 접근 방식을 테스트하거나 트래픽의 대표적인 샘플만 검사해야 할 때 특히 유용합니다.

  1. 먼저, 캡처 파일이 있는 올바른 작업 디렉토리에 있는지 확인합니다.

    cd ~/project
  2. 이제 large.pcap 파일에서 처음 10,000 개의 패킷만 처리합니다. 명령 구조는 간단합니다. -r로 입력 파일을 지정하고 -c로 패킷 수 제한을 지정합니다.

    tshark -r large.pcap -c 10000
  3. 명령이 완료되면 정확히 10,000 개의 패킷이 처리되었음을 확인할 수 있습니다. 출력은 다음과 같이 명확하게 표시됩니다.

    10000 packets captured
  4. 10,000 개의 패킷도 상당한 출력을 생성할 수 있으므로 결과를 less로 파이핑하여 더 쉽게 볼 수 있습니다. 이렇게 하면 출력을 페이지별로 스크롤할 수 있습니다.

    tshark -r large.pcap -c 10000 | less
  5. 패킷 처리를 제한하는 것이 유용한 실제 시나리오는 다음과 같습니다.

    • 전체 처리를 기다리지 않고 대용량 파일을 빠르게 분석
    • 전체 파일에 적용하기 전에 필터 구문이 올바르게 작동하는지 확인
    • 트래픽의 샘플만 필요한 경우 시스템 리소스 절약
    • 확장하기 전에 관리 가능한 데이터 세트에서 분석 스크립트 테스트

-Y "ip"로 IP 트래픽 필터링

이 단계에서는 Tshark 의 강력한 디스플레이 필터 옵션인 -Y를 사용하여 네트워크 트래픽을 필터링하여 IP 패킷만 표시하는 데 중점을 둡니다. 이는 특정 프로토콜 트래픽을 빠르게 격리해야 하는 대용량 캡처 파일 작업 시 특히 유용합니다.

  1. 먼저, 캡처 파일이 저장된 프로젝트 디렉토리로 이동합니다. 이렇게 하면 올바른 파일로 작업하고 있는지 확인합니다.

    cd ~/project
  2. 이제 -Y 필터를 사용하여 캡처 파일에서 IP 트래픽만 표시합니다. 아래 명령은 'large.pcap' 파일을 읽고 필터를 적용합니다.

    tshark -r large.pcap -Y "ip"
  3. 이 명령을 실행한 후 출력에 다음 기준을 충족하는 패킷만 표시되는 것을 확인할 수 있습니다.

    • IPv4 또는 IPv6 프로토콜 사용
    • 구조에 적절한 IP 헤더 포함
    • ARP (Address Resolution Protocol, 주소 결정 프로토콜) 또는 STP (Spanning Tree Protocol, 스패닝 트리 프로토콜) 와 같은 비 IP 트래픽 제외
  4. 대용량 파일을 더 효율적으로 처리하기 위해 이 필터를 다른 학습한 옵션과 결합할 수 있습니다. 이 예제에서는 처리를 10,000 개의 패킷으로 제한하고 출력을 less로 파이핑하여 더 쉽게 볼 수 있습니다.

    tshark -r large.pcap -c 10000 -Y "ip" | less
  5. -Y 필터는 Wireshark 의 디스플레이 필터 구문을 사용하며, 다음과 같은 다양한 기능을 제공합니다.

    • 프로토콜 기반 필터링 (ip, tcp, udp)
    • 소스/대상 주소 필터링 (ip.src, ip.dst)
    • 포트 번호 필터링 (tcp.port, udp.port)

-w small.pcap 으로 서브셋 저장

이 단계에서는 대용량 캡처 파일에서 특정 부분의 네트워크 트래픽을 추출하여 저장하는 방법을 배우게 됩니다. 이는 전체를 분석하기에는 리소스 집약적인 대규모 PCAP 파일 작업 시 특히 유용합니다.

  1. 먼저, 캡처 파일이 저장된 프로젝트 디렉토리로 이동합니다. 이렇게 하면 모든 파일 작업이 올바른 위치에서 수행됩니다.

    cd ~/project
  2. 다음 명령은 여러 Tshark 기능을 결합하여 관리 가능한 서브셋 파일을 만드는 방법을 보여줍니다. 여기서는 'large.pcap'에서 읽어오지만 처음 10,000 개의 IP 패킷만 유지합니다.

    tshark -r large.pcap -c 10000 -Y "ip" -w small.pcap

    자세히 살펴보면 다음과 같습니다.

    • -r large.pcap는 입력 파일을 지정합니다.
    • -c 10000은 처리를 처음 10,000 개의 패킷으로 제한합니다.
    • -Y "ip"는 IP 트래픽만 포함하도록 디스플레이 필터를 적용합니다.
    • -w small.pcap은 필터링된 결과를 새 파일에 씁니다.
  3. 명령을 실행한 후 출력 파일이 성공적으로 생성되었는지 확인합니다. -lh 플래그가 있는 ls 명령은 파일 크기를 사람이 읽을 수 있는 형식 (KB/MB 등) 으로 다른 세부 정보와 함께 표시합니다.

    ls -lh small.pcap
  4. 이제 이 더 작고 필터링된 파일로 더 효율적으로 작업할 수 있습니다. 내용을 보려면 출력을 less로 파이핑하여 패킷을 스크롤할 수 있습니다.

    tshark -r small.pcap | less

    이는 지정한 IP 트래픽만 포함하면서 원래의 대용량 파일을 처리하는 것보다 훨씬 빠릅니다.

요약

이 랩에서는 Wireshark 의 tshark 명령줄 도구를 사용하여 대용량 패킷 캡처 파일을 효율적으로 처리하는 핵심 기술을 배웠습니다. -r로 파일 열기, -c를 통한 패킷 수 제한, -Y를 사용한 디스플레이 필터 적용, -w를 사용한 서브셋 내보내기를 실습하여 대규모 데이터 세트를 효과적으로 관리했습니다.

이 연습에서는 less를 사용한 출력 탐색 및 대상 패킷 추출을 포함하여 터미널 기반 분석에 대한 실용적인 기술을 보여주었습니다. 이러한 기능은 시스템 리소스 사용을 최적화하면서 방대한 트래픽 캡처로 작업하는 네트워크 전문가에게 필수적입니다.