Tshark 에서 타임스탬프 표시 사용자 정의

WiresharkBeginner
지금 연습하기

소개

이 랩에서는 네트워크 분석을 향상시키기 위해 Wireshark 의 tshark 유틸리티에서 타임스탬프 표시를 사용자 정의하는 방법을 배우게 됩니다. -r을 사용하여 PCAP 파일을 읽고 UTC (-t u) 또는 에포크 시간 (-t e) 으로 타임스탬프 형식을 지정하는 것과 같은 주요 기술을 탐구할 것입니다.

실습을 통해 다양한 분석 요구 사항을 충족하기 위해 다양한 타임스탬프 형식을 적용하는 방법을 안내합니다. tshark -r capture.pcap -t u와 같은 명령을 사용하여 시간대 간에 시간 표시를 표준화하거나 정확한 에포크 시간을 얻는 연습을 할 것입니다.

-r capture.pcap 으로 파일 읽기

이 단계에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 -r 옵션으로 패킷 캡처 파일을 읽는 방법을 배우게 됩니다. PCAP 파일에는 네트워크 인터페이스에서 캡처된 원시 네트워크 트래픽 데이터가 포함되어 있으며, tshark는 그래픽 Wireshark 인터페이스를 사용하지 않고 이 데이터를 분석하는 데 도움이 됩니다.

먼저, 캡처 파일이 저장된 올바른 디렉토리로 이동해 보겠습니다. 이렇게 하면 전체 경로를 지정하지 않고도 파일에 액세스할 수 있습니다.

cd ~/project

-r 옵션 ( "read"의 약자) 은 tshark에게 라이브 네트워크 트래픽 대신 지정된 캡처 파일에서 패킷을 읽도록 지시합니다. 이 경우, 일반적인 네트워크 통신 데이터를 포함하는 미리 준비된 샘플 파일인 capture.pcap을 분석합니다.

캡처 파일에서 기본 패킷 정보를 표시하려면 다음을 실행합니다.

tshark -r capture.pcap

이 명령은 파일의 모든 패킷을 순차적으로 나열하여 표시하며, 각 줄은 하나의 네트워크 패킷을 나타냅니다. 출력에는 몇 가지 중요한 필드가 포함됩니다.

  • 패킷 번호 (캡처 순서 표시)
  • 타임스탬프 (각 패킷이 캡처된 시간 기록)
  • 소스 및 대상 IP 주소
  • 프로토콜 유형 (TCP, UDP 또는 ICMP 등)
  • 바이트 단위의 패킷 크기
  • 패킷 내용에 대한 간략한 설명

다음은 TCP 연결 설정에 대한 출력의 예입니다.

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 34512 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 66 34512 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

이 예에서는 두 개의 패킷을 볼 수 있습니다. 첫 번째는 192.168.1.1 에서 포트 443 의 192.168.1.2 로 연결을 시작하는 TCP SYN 패킷이고, 두 번째는 응답하는 SYN-ACK 패킷입니다. -r 옵션은 이전에 캡처된 네트워크 트래픽을 검사하는 데 필수적이며, 더 고급 패킷 분석 기술의 기초를 형성합니다.

-t u 로 UTC 형식 설정

이 단계에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 패킷 타임스탬프를 UTC (Coordinated Universal Time, 협정 세계시) 형식으로 표시하는 방법을 살펴봅니다. -t u 옵션은 여러 시간대에 걸쳐 있는 네트워크 트래픽을 다룰 때 특히 유용하며, 표준화된 시간 기준을 제공합니다.

시작하기 전에 패킷 캡처 파일이 있는 올바른 작업 디렉토리에 있는지 확인해 보겠습니다.

cd ~/project

-t u 매개변수는 tshark에게 모든 타임스탬프를 UTC 형식으로 변환하도록 지시합니다. 이것은 로컬 시스템 시간과 다릅니다. 이전 단계에서 배운 -r 옵션과 결합하여 샘플 캡처 파일을 읽어보겠습니다.

tshark -r capture.pcap -t u

이 명령을 실행하면 다음과 유사한 출력이 표시되며, 명확한 UTC 타임스탬프가 포함됩니다.

1 2023-01-01 00:00:00.000000 UTC 192.168.1.1 → 192.168.1.2 TCP 66 443 → 34512 [SYN] Seq=0 Win=64240 Len=0
2 2023-01-01 00:00:00.000123 UTC 192.168.1.2 → 192.168.1.1 TCP 66 34512 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

각 타임스탬프에 "UTC" 지정이 포함되어 있는지 확인하십시오. 이 형식은 서로 다른 지리적 위치의 서버에서 로그를 분석하거나 시간대가 다른 팀원과 협업할 때 특히 유용합니다. UTC 형식은 로컬 시간대 설정에 의존하지 않으므로 시간 기준에 대한 혼란을 없애줍니다.

차이점을 더 잘 이해하려면 이 출력을 이전 연습의 기본 로컬 시간 형식과 비교해 볼 수 있습니다. 이렇게 하면 동일한 네트워크 이벤트가 서로 다른 시간 표현으로 어떻게 나타나는지 확인할 수 있습니다.

-t e 로 Epoch Time 사용

이 단계에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 패킷 타임스탬프를 epoch 형식으로 표시하는 방법을 배우게 됩니다. -t e 옵션은 tshark에게 타임스탬프를 epoch 시간 (Unix 시간이라고도 함) 으로 표시하도록 지시하며, 이는 1970 년 1 월 1 일 이후의 초 수를 계산합니다. 이 형식은 정확한 시간 계산을 수행하거나 epoch 시간을 사용하는 다른 시스템과 통합해야 할 때 특히 유용합니다.

시작하기 전에 패킷 캡처 파일이 저장된 올바른 작업 디렉토리에 있는지 확인해 보겠습니다.

cd ~/project

이제 샘플 패킷 캡처 파일을 처리하기 위해 -r ( "read"의 약자) 과 함께 -t e 옵션을 사용합니다. 기본 명령 구조는 간단합니다. -r 뒤에 입력 파일을 지정하고 epoch 시간 형식을 위해 -t e를 추가합니다.

tshark -r capture.pcap -t e

이 명령을 실행하면 다음과 유사한 출력이 표시되며, 두 번째 열에 epoch 타임스탬프가 표시됩니다.

1 1672531200.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 34512 [SYN] Seq=0 Win=64240 Len=0
2 1672531200.000123 192.168.1.2 → 192.168.1.1 TCP 66 34512 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

각 타임스탬프가 소수점으로 표시되는 것을 확인하십시오. 소수점 앞의 부분은 전체 초를 나타내고, 소수 부분은 마이크로초를 나타냅니다. 이 정밀도는 epoch 시간을 다음과 같은 여러 시나리오에서 유용하게 만듭니다.

  • 네트워크 이벤트 간의 정확한 시간 간격 측정
  • epoch 시간을 사용하는 시스템 로그와 패킷 캡처 일치
  • 스크립트 또는 분석 도구에서 타임스탬프에 대한 수학적 연산 수행

차이점을 더 잘 이해하려면 이 출력을 이전 UTC 형식 예제의 결과와 비교해 볼 수 있습니다. 두 형식을 나란히 보면 동일한 순간을 다른 방식으로 표현할 수 있음을 인식하는 데 도움이 됩니다.

-P 옵션으로 패킷 표시

이 단계에서는 Wireshark 의 tshark-P 옵션을 사용하여 패킷 요약을 더 읽기 쉬운 형식으로 표시하는 방법을 배우게 됩니다. 이 옵션은 특히 패킷 분석을 처음 시작할 때 읽고 분석하기 쉬운 더 깔끔한 출력 형식을 제공합니다.

먼저 캡처 파일이 있는 올바른 디렉토리에 있는지 확인하십시오. tshark가 패킷 캡처 파일을 어디에서 찾아야 하는지 알아야 하므로 중요합니다.

cd ~/project

-P 옵션은 tshark가 패킷 정보를 표시하는 방식을 변경합니다. 모든 것을 단일 압축된 줄로 표시하는 대신 (읽기 어려울 수 있음) 각 정보 조각을 자체 줄에 수직 형식으로 표시합니다. 이렇게 하면 특정 필드를 한눈에 쉽게 식별할 수 있습니다. 샘플 캡처 파일과 함께 사용해 보겠습니다.

tshark -r capture.pcap -P

다음은 이 형식의 일반적인 패킷 모양입니다.

Packet 1:
    Arrival Time: Jan  1, 2023 00:00:00.000000000 UTC
    Epoch Time: 1672531200.000000000 seconds
    Frame Number: 1
    Frame Length: 66 bytes
    Protocols: eth:ethertype:ip:tcp
    Source: 192.168.1.1
    Destination: 192.168.1.2
    Source Port: 443
    Destination Port: 34512
    TCP Flags: 0x002 (SYN)

-P 형식은 다음과 같은 여러 상황에서 특히 유용합니다.

  • 눈의 피로 없이 패킷의 특정 필드를 빠르게 스캔해야 할 때
  • 구조화된 형식이 구문 분석을 더 쉽게 해주므로 출력을 추가 처리를 위해 다른 명령으로 파이프하려는 경우
  • Wireshark 의 GUI 가 패킷을 표시하는 방식과 유사한, 패킷 정보의 더 정리된 보기를 선호하는 경우

이전에 -P 옵션 없이 tshark를 사용한 적이 있다면 이 형식이 얼마나 더 읽기 쉬운지 즉시 알 수 있습니다. 각 정보 조각은 자체 명확한 줄을 가지므로 패킷 세부 정보에서 원하는 것을 정확하게 찾는 것이 더 간단해집니다.

요약

이 랩에서는 실용적인 명령줄 옵션을 통해 Tshark 에서 타임스탬프 표시를 사용자 정의하는 방법을 배웠습니다. 연습에서는 일관된 시간대 분석을 위해 -r capture.pcap로 패킷 캡처를 읽고 -t u를 사용하여 타임스탬프를 UTC 형식으로 지정하는 것을 보여주었습니다.

또한 정확한 타임스탬프 표현을 위해 -t e를 사용하여 epoch 시간 형식을 사용하는 연습을 했으며, 자세한 패킷 출력을 위해 -P 옵션을 활용했습니다. 이러한 기술은 명확한 패킷 검사 워크플로우를 유지하면서 유연한 타임스탬프 형식을 제공하여 네트워크 트래픽 분석을 향상시킵니다.