소개
이 실습에서는 Tshark 명령어를 사용하여 Wireshark 에서 패킷 캡처 크기를 제어하는 방법을 배웁니다. 총 패킷 수를 -c 500으로 제한하고 패킷 길이를 -s 128로 제한하여 헤더만 캡처하고 저장 공간을 절약하는 두 가지 필수 기술을 탐색합니다.
eth1 인터페이스에서 실제 연습을 통해 트래픽을 limited.pcap 파일에 캡처하고, 서로 다른 설정이 캡처에 어떤 영향을 미치는지 관찰합니다. 이 실습을 통해 다양한 분석 시나리오에 맞춰 패킷 수집을 최적화하는 데 도움이 될 것입니다.
-c 500 옵션으로 패킷 수 설정
이 단계에서는 Tshark 가 수집하는 패킷 수를 제한하여 패킷 캡처 시간을 제어하는 방법을 배웁니다. Tshark 는 Wireshark 의 명령줄 버전으로, 자동화된 캡처에 적합합니다. -c 옵션은 지속적인 캡처로 시스템을 과부하하지 않고 네트워크 트래픽의 대표적인 샘플이 필요할 때 특히 유용합니다.
LabEx VM 의 터미널을 엽니다. 시스템은 자동으로 올바른 작업 디렉터리 (
~/project) 에 배치하므로 즉시 시작할 수 있습니다.명령어 구조는 다음과 같은 기본 패턴을 사용합니다.
tshark -c [숫자] [다른 옵션]여기서
[숫자]는 수집할 최대 패킷 수를 지정하여 캡처가 언제 중지될지 정확하게 결정합니다. 이는 저장 공간을 채울 수 있는 무제한 실행을 방지합니다.먼저 사용 가능한 네트워크 인터페이스를 확인합니다. 다음 명령어를 실행합니다.
tshark -D다음과 유사한 인터페이스 목록이 표시됩니다.
1. eth0 2. eth1 (가상 인터페이스) 3. any 4. lo (루프백) ...이 실습에서 일관된 트래픽 생성을 보장하기 위해 만들어진 가상 인터페이스인
eth1을 캡처에 사용합니다.주요 연습으로 500 개의 패킷을 캡처해 보겠습니다. 다음 명령어를 실행합니다.
tshark -c 500 -i eth1패킷 캡처에는 관리자 권한이 필요하므로
sudo명령어가 필요합니다. 이 명령은tshark에게eth1네트워크 연결을 모니터링하도록 지시합니다.tshark가 캡처할 트래픽을 생성하려면 새 터미널 탭을 열거나 현재 터미널을 분할하고 다음 명령어를 실행합니다.ping -c 10 google.com이렇게 하면
google.com에 10 개의 ICMP 패킷을 전송하여eth1에서tshark가 캡처할 수 있는 네트워크 활동을 생성합니다.패킷이 흐르면
tshark터미널에서 실시간 출력을 볼 수 있습니다. 정확히 500 개의 패킷 후tshark는 자동으로 종료됩니다. 출력은 다음과 유사하게 표시됩니다 (500 개 패킷의 경우 훨씬 길어집니다).'eth1'에서 캡처 중 1 0.000000000 192.168.X.X -> 142.250.X.X ICMP 84 Echo (ping) 요청 id=0xXXXX, seq=1/256, ttl=64 (2 초 후 응답) 2 0.000000000 142.250.X.X -> 192.168.X.X ICMP 84 Echo (ping) 응답 id=0xXXXX, seq=1/256, ttl=117 (1 초 후 요청) ... (많은 줄) 500 개 패킷 캡처됨전체 500 개 패킷 캡처 전에 메커니즘을 이해하기 위해 작은 샘플로 테스트해 보겠습니다. 이 10 개 패킷 시험은 설정을 확인하는 데 도움이 됩니다.
tshark -c 10 -i eth1이 명령을 실행하는 동안 다른 터미널에서 트래픽을 생성해야 합니다.
-s 128 옵션으로 스냅샷 길이 설정
이 단계에서는 Tshark 의 -s 옵션을 사용하여 패킷 캡처 시 스냅샷 길이 (snaplen) 를 설정하는 방법을 배웁니다. 이는 각 패킷의 얼마나 많은 부분을 캡처할지 결정하며, 128 바이트는 패킷 헤더를 캡처하면서 저장 공간을 절약하는 일반적인 값입니다. 스냅샷 길이는 분석에 패킷 헤더만 필요하고 전체 패킷 내용은 필요하지 않을 때 특히 유용합니다.
먼저 터미널에서 기본 작업 디렉터리
~/project에 있는지 확인합니다. 여기서 모든 캡처 명령을 실행하여 정리된 상태를 유지합니다.스냅샷 길이 옵션 (
-s) 은 기록할 바이트 수를 지정하여 각 패킷의 얼마나 많은 부분을 캡처할지 제한합니다. 값이 작을수록 디스크 공간을 절약하지만 중요한 페이로드 데이터를 놓칠 수 있습니다. 기본 구문은 다음과 같습니다.tshark -s [길이] [다른 옵션]이전 단계의 패킷 수와 결합하여 스냅샷 길이를 128 바이트로 설정하여 패킷을 캡처해 보겠습니다. 이 명령은 각 패킷의 처음 128 바이트를 캡처하고 500 개 패킷에 도달할 때까지 계속합니다.
tshark -c 500 -s 128 -i eth1tshark가 실행되는 동안 별도의 터미널 (예:ping -c 10 google.com) 에서 트래픽을 생성해야 합니다.각 패킷의 처음 128 바이트를 보여주는 출력이 표시됩니다.
-c옵션에 지정된 대로 500 개 패킷 후 캡처가 자동으로 중지됩니다. 이 조합은 캡처 크기와 시간을 모두 관리하는 데 도움이 됩니다. 출력은 이전 단계와 유사하지만 패킷 세부 정보가 128 바이트를 초과하면 잘릴 수 있습니다.'eth1'에서 캡처 중 1 0.000000000 192.168.X.X -> 142.250.X.X ICMP 84 Echo (ping) 요청 id=0xXXXX, seq=1/256, ttl=64 ... (많은 줄) 500 개 패킷 캡처됨스냅샷 길이가 캡처에 미치는 영향을 더 잘 이해하려면 다음 비교 명령을 시도해 보세요. 서로 다른
-s값으로 표시되는 데이터 양이 어떻게 변경되는지 확인하세요. 각 명령에 대해 트래픽을 생성해야 합니다.tshark -c 5 -s 64 -i eth1 ## 패킷당 64 바이트만 캡처 tshark -c 5 -s 0 -i eth1 ## 전체 패킷 캡처 (기본값)-s 0설정은tshark에게 전체 패킷을 캡처하도록 지시하며, 완전한 패킷 내용이 필요하지만 더 많은 저장 공간을 소비할 때 유용합니다.
eth1 인터페이스로 트래픽 캡처
이 단계에서는 Tshark 의 -i 옵션을 사용하여 특정 인터페이스에서 네트워크 트래픽을 캡처하는 방법에 대해 알아봅니다. 네트워크 인터페이스는 컴퓨터가 네트워크와 통신하는 데 사용하는 물리적 또는 가상 연결입니다. Wi-Fi 와 이더넷과 같이 여러 인터페이스가 있는 경우, 대상 패킷 분석을 위해 올바른 인터페이스를 지정하는 것이 중요합니다.
터미널을 열고 작업 디렉터리로 이동합니다.
cd ~/project-i플래그는 Tshark 가 어떤 네트워크 인터페이스를 모니터링할지 지정합니다. 기본 명령 구조는 다음과 같습니다.tshark -i [인터페이스] [다른 옵션]여기서
[인터페이스]는 실제 인터페이스 이름으로 대체해야 하며, 일반적으로 실습 환경에서는eth1입니다.이제 패킷 제한 (
-c) 및 스냅샷 길이 (-s) 에 대해 배운 내용을 결합해 보겠습니다. 이 명령은eth1인터페이스에서 500 개의 패킷을 캡처하고 각 패킷의 처음 128 바이트만 저장합니다.tshark -c 500 -s 128 -i eth1패킷 캡처에는 관리자 권한이 필요하므로
sudo가 필요합니다.캡처하는 동안 테스트 트래픽을 생성하려면 다른 터미널 탭을 열고 다음을 실행합니다.
ping -c 3 google.com이렇게 하면 Google 서버에 3 개의 ICMP 패킷이 전송되며, 캡처 결과에 나타나야 합니다. 이러한 알려진 패킷을 관찰하면 캡처가 올바르게 작동하는지 확인하는 데 도움이 됩니다.
캡처는 500 개 패킷 후 자동으로 중지되지만, 언제든지 다음을 눌러 수동으로 중지할 수 있습니다.
Ctrl+C이 키보드 인터럽트는 캡처된 데이터를 보존하면서 캡처 프로세스를 안전하게 종료합니다.
limited.pcap 파일로 저장
이 단계에서는 나중에 분석할 수 있도록 캡처된 네트워크 트래픽을 파일로 저장하는 방법을 배웁니다. Tshark 의 -w 옵션은 캡처된 모든 네트워크 데이터를 보존하는 패킷 캡처 (pcap) 파일을 생성합니다. 이는 오프라인으로 트래픽 패턴을 검사하거나 동료들과 캡처를 공유해야 할 때 특히 유용합니다.
시작하기 전에 터미널이 올바른 작업 디렉토리에 있는지 확인하십시오. 다음을 입력합니다.
cd ~/project이렇게 하면 모든 캡처 파일이 지정된 프로젝트 폴더에 저장됩니다.
-w플래그는 Tshark 가 캡처된 패킷을 저장할 위치를 지정합니다. 기본 명령 구조는 다음과 같습니다.tshark -w [파일 이름] [다른 옵션]파일 이름은 패킷 캡처 파일의 표준 형식인
.pcap확장자로 끝나야 합니다.이제까지 배운 모든 옵션을 실제 예제에 결합해 보겠습니다. 이 명령은 다음을 수행합니다.
- 정확히 500 개의 패킷 캡처 (
-c 500) - 각 패킷을 128 바이트로 제한 (
-s 128) eth1인터페이스에서 수신 (-i eth1)- 모든 내용을
limited.pcap파일로 저장 (-w limited.pcap)
tshark -c 500 -s 128 -i eth1 -w limited.pcap- 정확히 500 개의 패킷 캡처 (
tshark가 실행 중인 동안 다른 터미널 창을 열어 테스트 트래픽을 생성합니다. 이러한 명령은 일반적인 네트워크 활동을 생성합니다.ping -c 3 google.com curl http://example.com이 시뮬레이션된 트래픽은 실행 중인
tshark세션에서 캡처됩니다.500 개의 패킷을 캡처한 후 (또는
Ctrl+C를 눌러 이전에 중지) 캡처 파일이 존재하는지 확인하고 크기를 확인합니다.ls -lh limited.pcap출력에는 파일 세부 정보 (크기 및 생성 시간 포함) 가 다음과 유사하게 표시됩니다.
-rw-r--r-- 1 root root 56K Aug 10 XX:XX limited.pcap나중에 캡처된 패킷을 검토하려면 두 가지 주요 옵션이 있습니다.
tshark사용 (명령줄):tshark -r limited.pcap이렇게 하면 패킷 내용이 캡처된 대로 정확하게 표시되어 원하는 대로 트래픽을 분석할 수 있습니다.
wireshark사용 (GUI):참고: 데스크톱 인터페이스에서 이 명령을 실행해야 합니다.
wireshark limited.pcap &이렇게 하면
limited.pcap파일이 Wireshark 그래픽 사용자 인터페이스에서 열리며, 캡처된 패킷을 분석하는 더 시각적이고 대화형적인 방법을 제공합니다.&기호는 명령을 백그라운드에서 실행하므로 터미널을 계속 사용할 수 있습니다.
요약
이 실습에서는 Tshark 에서 필수적인 명령줄 매개변수를 사용하여 패킷 캡처 크기를 제어하는 방법을 배웠습니다. -c 500으로 패킷 수를 제한하고 -s 128로 패킷 길이를 제한하여 이러한 옵션이 캡처 동작과 저장 효율에 미치는 영향을 관찰했습니다.
연습 과정에서는 이러한 기술을 대상 트래픽 분석을 위한 인터페이스 선택 (-i eth1) 과 결합하여 보여주었습니다. tshark -c 500 -s 128 -i eth1 -w limited.pcap와 같은 명령을 통해 여러 캡처 제약 조건을 동시에 적용하고 tshark와 wireshark를 모두 사용하여 오프라인 분석을 위한 결과를 저장하는 실무 경험을 쌓았습니다.


