mergecap 을 사용하여 여러 캡처 파일 병합하기

Beginner
지금 연습하기

소개

네트워크 분석 및 보안 포렌식에서는 여러 패킷 캡처 파일이 생성되는 경우가 많습니다. 이 파일들은 서로 다른 시간대, 서로 다른 네트워크 인터페이스 또는 서로 다른 장치에서 수집되었을 수 있습니다. 이러한 파일들을 개별적으로 분석하는 것은 번거로울 수 있으며, 네트워크 이벤트의 전체적인 그림을 파악하는 데 방해가 될 수 있습니다.

mergecap은 Wireshark 제품군에 포함된 명령줄 도구입니다. 이 도구의 특정 목적은 여러 캡처 파일을 하나의 출력 파일로 결합하는 것입니다. 타임스탬프를 기준으로 입력 파일의 패킷들을 시간 순서대로 지능적으로 병합하여 분석을 위한 통합된 뷰를 생성합니다.

이 실습에서는 mergecap을 사용하여 여러 샘플 캡처 파일을 병합하는 방법을 배우게 됩니다.

여러 스캔에서 생성된 .cap 파일 식별

이 단계에서는 실습 환경에 준비된 샘플 캡처 파일을 식별합니다. 실제 시나리오에서는 tcpdump 또는 Wireshark 를 다른 시간에 실행하여 이러한 파일이 생성되었을 수 있습니다.

저희의 설정 스크립트가 이미 세 개의 파일인 scan1.pcap, scan2.pcap, scan3.pcap을 생성했습니다. 현재 디렉토리의 내용을 나열하여 이 파일들을 확인해 보겠습니다. 모든 작업은 ~/project 디렉토리에서 수행됩니다.

파일들을 상세 정보와 함께 나열하려면 ls -l 명령을 사용하십시오:

ls -l

다음과 유사한 출력을 보게 될 것이며, 이는 세 개의 캡처 파일이 존재함을 확인시켜 줍니다. 크기와 타임스탬프는 약간 다를 수 있습니다.

total 12
-rw-r--r-- 1 labex labex 160 Oct 26 10:30 scan1.pcap
-rw-r--r-- 1 labex labex 160 Oct 26 10:30 scan2.pcap
-rw-r--r-- 1 labex labex 160 Oct 26 10:30 scan3.pcap

이 세 개의 .pcap 파일은 우리가 결합하고자 하는 서로 다른 데이터 소스를 나타냅니다.

파일 병합이 분석에 유용한 이유 이해하기

이 단계에서는 캡처 파일을 병합하는 것의 이점에 대해 논의합니다. 여기서는 실행할 명령이 없으며, 이 섹션은 개념적 이해를 위한 것입니다.

네트워크 문제나 보안 사고를 조사할 때, 관련된 모든 데이터를 한 곳에 모아두는 것이 중요합니다. 병합이 유용한 이유는 다음과 같습니다.

  1. 시간 순서 분석: mergecap은 모든 입력 파일의 패킷을 타임스탬프별로 자동으로 정렬합니다. 이를 통해 이벤트의 단일 시간 순서 타임라인을 재구성할 수 있으며, 이는 원인과 결과를 이해하는 데 필수적입니다.
  2. 워크플로우 간소화: Wireshark 에서 세 개의 별도 파일을 열고 계속 전환하는 대신, 단일 통합 파일로 작업할 수 있습니다. 이를 통해 데이터 필터링, 검색 및 분석이 훨씬 효율적으로 이루어집니다.
  3. 포괄적인 뷰: 클라이언트 컴퓨터와 서버에서 동시에 트래픽을 캡처했다고 상상해 보십시오. 이 두 캡처를 병합하면 대화의 양쪽 측면을 하나의 스트림으로 볼 수 있어 상호 작용의 전체 그림을 제공합니다.

파일을 병합함으로써 단편화된 데이터를 일관되고 분석 가능한 전체로 변환합니다.

Wireshark Suite 의 mergecap 명령 사용하기

이 단계에서는 mergecap 명령 자체에 익숙해집니다. 설정 스크립트가 이미 tshark 패키지를 설치했으며, 여기에는 mergecap 유틸리티가 포함되어 있습니다.

mergecap이 사용 가능한지 확인하고 기본 사용법 지침을 보려면 도움말 페이지를 볼 수 있습니다. 이는 모든 명령줄 도구의 기능을 이해하는 좋은 습관입니다.

-h (help) 플래그와 함께 mergecap 명령을 실행합니다.

mergecap -h

그러면 사용 가능한 모든 옵션과 해당 설명이 표시됩니다. 출력은 다음과 유사하게 나타납니다.

Mergecap (Wireshark) 4.0.x
Merge two or more capture files into one.
See https://www.wireshark.org for more information.

Usage: mergecap [options] -w <outfile>|- <infile> [<infile> ...]

Output:
  -w <outfile>|-      set the output filename to <outfile> or '-' for stdout
  -a                  append packets to the end of the output file
...

-w <outfile> 옵션에 주의를 기울이십시오. 이것이 가장 중요한 플래그이며, 결합된 출력을 어디에 저장할지 mergecap에 알려줍니다.

-w 로 출력 파일 지정 및 모든 입력 파일 지정

이 단계에서는 실제 병합 작업을 수행합니다. 구문은 간단합니다. -w로 출력 파일을 지정한 다음 병합하려는 모든 입력 파일을 나열합니다.

scan1.pcap, scan2.pcap, scan3.pcapmerged_scans.pcap이라는 단일 새 파일로 결합합니다.

터미널에서 다음 명령을 실행합니다.

mergecap -w merged_scans.pcap scan1.pcap scan2.pcap scan3.pcap

명령이 성공하면 아무런 출력이 생성되지 않습니다. 새 파일이 생성되었는지 확인하려면 디렉토리의 파일을 다시 나열합니다.

ls -l

이제 목록에서 merged_scans.pcap 파일을 볼 수 있습니다. 크기는 세 개의 입력 파일 크기의 합과 거의 같아야 합니다.

total 16
-rw-r--r-- 1 labex labex 208 Oct 26 10:35 merged_scans.pcap
-rw-r--r-- 1 labex labex 160 Oct 26 10:30 scan1.pcap
-rw-r--r-- 1 labex labex 160 Oct 26 10:30 scan2.pcap
-rw-r--r-- 1 labex labex 160 Oct 26 10:30 scan3.pcap

세 개의 소스 파일을 하나로 성공적으로 병합했습니다.

병합된 파일에 모든 소스의 데이터가 포함되어 있는지 확인하기

이 단계에서는 병합된 파일에 모든 소스 파일의 결합된 데이터가 실제로 포함되어 있는지 확인합니다. 이를 수행하는 간단한 방법은 원본 파일의 패킷 수를 확인하고 병합된 파일의 패킷 수와 비교하는 것입니다.

Wireshark Suite 의 일부인 capinfos 도구는 캡처 파일에 대한 요약 통계를 제공합니다. 먼저 원본 파일 중 하나의 패킷 수를 확인해 보겠습니다.

capinfos scan1.pcap

출력에는 파일에 대한 다양한 세부 정보가 표시됩니다. "Number of packets" 줄을 찾으십시오.

File name:           scan1.pcap
File type:           pcapng
...
Number of packets:   5
...

보시다시피 scan1.pcap에는 5 개의 패킷이 포함되어 있습니다. 세 개의 소스 파일 모두 각각 5 개의 패킷으로 생성했으므로 병합된 파일에는 총 15 개의 패킷이 포함되어야 합니다.

이제 병합된 파일에서 capinfos를 실행합니다.

capinfos merged_scans.pcap

출력에서 패킷 수를 확인합니다.

File name:           merged_scans.pcap
File type:           pcapng
...
Number of packets:   15
...

"Number of packets"가 15 이므로 세 개의 소스 파일에서 가져온 데이터가 merged_scans.pcap으로 성공적으로 결합되었음을 확인할 수 있습니다.

요약

이 실습에서는 네트워크 트래픽 분석의 기본적인 기술을 배웠습니다. 여러 개의 별도 패킷 캡처 파일을 식별하는 것부터 시작했습니다. 그런 다음 mergecap 명령의 핵심 구문을 배우고 이를 사용하여 별도의 파일을 단일 통합 캡처 파일로 결합했습니다. 마지막으로 capinfos 유틸리티를 사용하여 새 파일의 총 패킷 수가 소스 파일의 패킷 합계와 일치하는지 확인하여 병합이 성공했는지 검증했습니다.

이제 다양한 소스의 네트워크 캡처를 통합할 수 있게 되었으며, 이는 분석 워크플로우를 크게 간소화할 것입니다.