Tshark 에서 투 패스 분석 사용하기

WiresharkBeginner
지금 연습하기

소개

이 랩에서는 Wireshark 의 명령줄 도구인 tshark 를 사용하여 PCAP 파일에서 네트워크 트래픽을 분석하기 위해 투 패스 분석을 수행하는 방법을 배우게 됩니다. 파일 읽기를 위한 -r, 투 패스 모드를 위한 -2, 상세 출력을 위한 -V와 같은 주요 옵션을 사용하여 디스플레이 필터로 TCP 확인 응답 패킷을 검사하는 연습을 할 것입니다.

이 연습은 파일 검증, 투 패스 분석을 통한 프로토콜 분해 향상, 네트워크 트래픽 패턴 해석을 포함하여 기본적인 tshark 작업부터 고급 작업까지 안내합니다. 이러한 실질적인 기술은 tshark 의 강력한 기능을 사용하여 보다 정확하고 효율적인 네트워크 분석을 수행하는 데 도움이 될 것입니다.

-r capture.pcap 으로 파일 열기

이 단계에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 패킷 캡처 파일을 열고 검사하는 방법을 배우게 됩니다. 이 기본적인 기술은 더 발전된 분석 기술로 넘어가기 전에 미리 기록된 네트워크 트래픽을 분석하는 데 필수적입니다.

-r 옵션은 tshark 에서 가장 자주 사용되는 매개변수 중 하나입니다. "read"를 의미하며, tshark 가 라이브 네트워크 트래픽을 캡처하는 대신 파일에서 패킷을 처리하도록 지정합니다. 우리는 기록된 네트워크 통신 데이터를 포함하는 capture.pcap이라는 샘플 파일을 사용합니다.

시작하기 전에, 우리가 무엇을 하고 있는지 이해해 봅시다:

  • .pcap 파일은 캡처된 네트워크 패킷을 저장하기 위한 표준 형식입니다.
  • 이 파일에는 우리가 분석할 원시 네트워크 트래픽 데이터가 포함되어 있습니다.
  • 저장된 캡처 파일을 사용하면 라이브 트래픽 없이 네트워크 동작을 연구할 수 있습니다.

다음 단계를 주의 깊게 따르십시오:

  1. 먼저, 캡처 파일이 있는 디렉토리로 이동합니다:
cd ~/project
  1. 캡처 파일이 존재하는지 확인하고 속성을 확인합니다:
ls -l capture.pcap

다음과 유사한 출력을 볼 수 있습니다:

-rw-r--r-- 1 labex labex 12345 Jan 1 00:00 capture.pcap

이것은 파일이 존재하고 크기 및 권한을 보여줍니다.

  1. 이제 캡처 파일 내용을 열고 표시해 보겠습니다:
tshark -r capture.pcap

이 명령은 파일을 읽고 터미널에 캡처된 각 패킷의 요약을 표시합니다. 각 줄은 타임스탬프, 송신/수신 주소 및 프로토콜과 같은 기본 정보를 보여주는 하나의 네트워크 패킷을 나타냅니다.

초보자를 위한 팁: 패킷 분석을 시작할 때, 저장된 캡처 파일로 작업하는 것이 라이브 트래픽을 처리하는 것보다 더 쉬운 경우가 많습니다. -r 옵션은 이러한 기능을 제공합니다. 다음 단계에서는 이 트래픽의 특정 측면을 필터링하고 분석하는 방법을 배우게 됩니다.

-2 로 투 패스 활성화

이 단계에서는 -2 옵션을 추가하여 Wireshark 의 tshark 를 투 패스 분석 모드로 사용하는 방법을 살펴봅니다. 이 강력한 기능을 사용하면 tshark 가 캡처 파일을 두 번 처리하여 프로토콜 분석 정확도와 디스플레이 필터 결과를 크게 향상시킬 수 있습니다.

패킷 분석을 처음 접하는 분들을 위해: 일반적으로 tshark 는 패킷을 한 번만 순차적으로 읽습니다. 투 패스 모드는 다음을 통해 이를 변경합니다.

  1. 첫 번째 패스: 전체 파일을 빠르게 스캔하여 프로토콜 관계 및 종속성을 구축합니다.
  2. 두 번째 패스: 첫 번째 패스의 전체 컨텍스트를 사용하여 각 패킷을 주의 깊게 분석합니다.

다음과 같은 경우 투 패스 모드를 사용해야 합니다.

  • 후속 패킷이 이전 패킷을 설명하는 복잡한 프로토콜로 작업할 때
  • 전체 패킷 컨텍스트가 필요한 정교한 디스플레이 필터를 적용할 때
  • 정확한 프로토콜 통계 및 요약을 생성할 때

샘플 캡처 파일로 연습해 보겠습니다:

  1. 먼저, 프로젝트 디렉토리로 이동합니다 (이전 단계를 계속 진행하는 경우):
cd ~/project
  1. 이제 투 패스 분석을 활성화하여 tshark 를 실행합니다:
tshark -2 -r capture.pcap

무슨 일이 일어나는지 이해하기: -2 플래그는 이중 스캔 프로세스를 활성화합니다. 첫 번째 패스 동안 tshark 는 TCP 시퀀스 번호 및 세션 상태와 같은 중요한 프로토콜 세부 정보를 기록합니다. 두 번째 패스에서는 이 정보를 사용하여 대화를 적절하게 재구성하고 필터를 정확하게 적용합니다. 이는 확인 응답이 데이터 패킷을 해석하는 방식에 영향을 미치는 TCP 와 같은 프로토콜에 특히 유용합니다.

-R "tcp.flags.ack==1"로 응답 필터링

이 단계에서는 Wireshark 의 강력한 디스플레이 필터링 기능을 사용하여 TCP ACK 패킷을 필터링하는 방법을 살펴봅니다. Tshark 의 -R 옵션을 사용하면 캡처된 네트워크 트래픽을 분석하기 위해 이러한 필터를 적용할 수 있습니다. 이는 TCP 확인과 같이 특정 유형의 패킷에 집중하려는 경우 특히 유용합니다.

TCP ACK 패킷은 네트워크 통신에서 중요한 역할을 합니다. 컴퓨터가 TCP 연결을 통해 데이터를 수신할 때마다 성공적인 수신을 확인하기 위해 이러한 확인 패킷을 다시 보냅니다. 이를 필터링하여 시스템이 데이터 전송을 확인하는 방식을 연구할 수 있습니다.

단계별로 과정을 살펴보겠습니다:

  1. 먼저, 캡처 파일이 저장된 작업 디렉토리로 이동해야 합니다:
cd ~/project
  1. 이제 Tshark 를 투 패스 분석 (-2) 옵션과 함께 사용하여 ACK 필터를 적용합니다:
tshark -2 -r capture.pcap -R "tcp.flags.ack==1"

이 명령에서 무슨 일이 일어나는지 분석해 보겠습니다:

  • -2는 보다 정확한 결과를 위해 투 패스 분석을 활성화합니다.
  • -r capture.pcap은 입력 캡처 파일을 지정합니다.
  • -R "tcp.flags.ack==1"은 ACK 패킷에 대한 디스플레이 필터를 적용합니다.

이해해야 할 주요 사항:

  • -R 옵션은 Tshark 에게 필터 기준과 일치하는 패킷만 표시하도록 지시합니다.
  • tcp.flags.ack==1은 TCP ACK 플래그가 1 (true) 로 설정된 패킷과 정확히 일치합니다.
  • TCP ACK 는 정상적인 프로토콜 동작이며, 반드시 문제를 나타내는 것은 아닙니다.
  • 투 패스 분석 (-2) 은 정확한 프로토콜 분해 및 필터링을 보장하는 데 도움이 됩니다.

명령을 실행한 후, ACK 플래그가 설정된 TCP 패킷만 포함하는 출력을 보게 됩니다. 일반적인 줄은 다음과 같습니다:

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 54 443 → 49234 [ACK] Seq=1 Ack=1 Win=64240 Len=0

이것은 패킷 번호, 타임스탬프, 송신/수신 IP, 포트 및 필터링한 [ACK] 플래그를 포함한 TCP 관련 정보를 보여줍니다.

-V 로 결과 표시

이 단계에서는 Wireshark 의 -V (verbose, 상세) 옵션을 사용하여 포괄적인 패킷 세부 정보를 보는 방법을 살펴봅니다. 네트워크 트래픽을 분석할 때 패킷의 전체 구조를 이해하는 것이 중요합니다. -V 플래그는 전체 프로토콜 계층 구조와 모든 필드 값을 표시하여 이를 돕습니다. 이는 이전 필터링에서 TCP ACK 패킷을 검사할 때 특히 유용합니다.

상세 출력 (-V) 은 각 패킷의 세 가지 주요 측면을 보여줍니다.

  • 서로 다른 계층이 서로를 캡슐화하는 방식을 보여주는 완전한 프로토콜 분석
  • 기본 보기에서 종종 숨겨지는 기술 세부 정보를 포함하여 이러한 프로토콜 내의 모든 필드 값
  • 프로토콜이 실제로 네트워크 통신에서 스택되는 방식을 반영하는 명확한 계층적 구성

단계별로 실행해 보겠습니다:

  1. 먼저, 캡처 파일이 저장된 작업 디렉토리로 이동합니다. 이렇게 하면 패킷 캡처 데이터에 액세스할 수 있습니다:
cd ~/project
  1. 이제 필터링된 ACK 패킷에 대한 상세 출력을 사용하여 명령을 실행합니다. 투 패스 분석 (-2) 을 이전 필터 (-R) 와 결합하고 -V를 추가하는 것을 확인하십시오:
tshark -2 -r capture.pcap -R "tcp.flags.ack==1" -V

패킷 분석을 처음 접하는 분들을 위해:

  • -V 옵션은 "verbose" 모드를 활성화합니다. 마치 책의 목차에서 전체 챕터를 읽는 것으로 전환하는 것과 같습니다.
  • 기본 보기가 기본 패킷 요약을 표시하는 것과 달리, verbose 모드는 모든 기술 세부 정보를 노출합니다.
  • 출력은 프로토콜 계층 (Ethernet → IP → TCP 등) 별로 정보를 구성하며, 이는 패킷이 구성되는 방식과 정확히 일치합니다.
  • 각 프로토콜 필드의 특정 값을 볼 수 있으며, 네트워크 교환에서 정확히 무슨 일이 일어나고 있는지 이해하는 데 도움이 됩니다.

출력에서 예상되는 사항은 다음과 같습니다 (간단한 예):

Frame 1: 54 bytes on wire...
Ethernet II, Src: aa:bb:cc:dd:ee:ff...
Internet Protocol Version 4, Src: 192.168.1.1...
Transmission Control Protocol, Src Port: 443...
    [ACK] Seq=1 Ack=1 Win=64240 Len=0
    [TCP Flags: ·······A····]

요약

이 랩에서는 Wireshark 의 tshark 명령줄 도구를 사용하여 투 패스 패킷 분석을 수행하는 방법을 배웠습니다. 이 과정에는 -r 옵션을 사용하여 캡처 파일 (capture.pcap) 에서 패킷을 읽고 분석 전에 해당 위치를 확인하는 작업이 포함되었습니다.

-2 옵션으로 활성화된 투 패스 모드를 탐색했습니다. 이 모드는 패킷을 두 번 스캔하여 프로토콜 분석 정확도를 향상시킵니다. 이 기술은 복잡한 필터와 후속 패킷의 컨텍스트 정보를 필요로 하는 프로토콜에 특히 유용합니다.