소개
이 랩에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 실시간 네트워크 트래픽을 캡처하는 방법을 배우게 됩니다. -D를 사용하여 네트워크 인터페이스를 식별하고, -i를 사용하여 eth1과 같은 인터페이스를 선택하며, 기본 설정으로 패킷을 캡처하는 연습을 할 것입니다.
이 랩은 나중에 분석할 수 있도록 -w를 사용하여 캡처를 pcap 파일에 저장하는 과정을 안내합니다. 이러한 기본적인 기술은 실제 시나리오에서 네트워크 문제 해결 및 트래픽 모니터링에 필수적입니다.
-D 옵션으로 인터페이스 목록 확인
이 단계에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 사용 가능한 네트워크 인터페이스를 나열하는 방법을 배우게 됩니다. 네트워크 인터페이스는 컴퓨터가 네트워크에 연결되는 물리적 또는 가상 지점입니다. 네트워크 트래픽을 캡처하기 전에 시스템에서 어떤 인터페이스가 활성 상태인지 식별하는 것이 중요합니다. 왜냐하면 서로 다른 인터페이스가 서로 다른 유형의 네트워크 트래픽을 처리하기 때문입니다.
- 먼저 LabEx VM 환경에서 터미널을 엽니다. 터미널은 명령을 통해 Linux 시스템과 상호 작용하는 관문입니다. 기본 작업 디렉토리는
~/project이며, 별도로 지정하지 않는 한 생성하는 모든 파일이 여기에 저장됩니다.

- 사용 가능한 모든 네트워크 인터페이스를 나열하려면 다음 명령을 실행합니다.
tshark -D
- 이 명령은 캡처 가능한 모든 네트워크 인터페이스를 보여주는 출력을 표시합니다. 일반적인 출력은 다음과 같습니다.
1. eth1
2. any
3. lo (Loopback)
4. nflog
5. nfqueue
6. docker0
-D플래그는tshark에게 사용 가능한 인터페이스를 표시하도록 지시하는 특정 명령 옵션입니다. 각 인터페이스는 고유한 목적을 수행합니다.eth1: 이것은 일반적으로 주요 유선 네트워크 인터페이스이며, 대부분의 외부 네트워크 통신을 처리합니다.lo: 루프백 인터페이스는 자체 머신 내에서 내부 네트워크 트래픽을 처리합니다.any: 모든 사용 가능한 인터페이스에서 동시에 트래픽을 캡처하는 특수한 가상 인터페이스입니다.
잠시 시간을 내어 인터페이스 목록을 주의 깊게 살펴보십시오. 패킷 캡처를 시작할 때 이러한 인터페이스 이름을 참조해야 합니다. 모니터링하려는 네트워크 인터페이스의 트래픽을 정확하게 지정해야 하기 때문입니다. 번호 매기기는 후속 명령에서 인터페이스를 선택할 때 도움이 됩니다.
-i eth1 옵션으로 인터페이스 선택
이 단계에서는 Wireshark 의 tshark 도구를 사용하여 패킷 캡처를 위해 특정 네트워크 인터페이스를 선택하는 방법을 배우게 됩니다. 네트워크 인터페이스는 컴퓨터가 네트워크에 연결되는 물리적 또는 가상 지점입니다. eth1 인터페이스는 일반적으로 Linux 시스템의 첫 번째 이더넷 포트이며 대부분의 외부 네트워크 트래픽을 처리합니다.
- 먼저 캡처 파일을 저장할 올바른 작업 디렉토리에 있는지 확인합니다.
cd ~/project
- 특히
eth1인터페이스에서 패킷 캡처를 시작하려면 다음 명령을 실행합니다.
sudo tshark -i eth1
이 명령의 각 부분이 무엇을 하는지 이해해 보겠습니다.
sudo: 네트워크 인터페이스에 액세스하는 데 필요한 관리자 권한을 제공합니다.tshark: Wireshark 의 명령줄 버전입니다.-i eth1: tshark 에게 eth1 인터페이스에서 수신 대기하도록 지시합니다 (시스템에서 다른 인터페이스 이름을 사용하는 경우 변경하십시오).
실행하면 다음과 같이 터미널에 실시간 네트워크 트래픽이 표시됩니다.
Capturing on 'eth1'
1 0.000000000 192.168.1.100 → 192.168.1.1 TCP 74 55942 → 80 [SYN] Seq=0 Win=64240 Len=0
2 0.000123456 192.168.1.1 → 192.168.1.100 TCP 74 80 → 55942 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0
각 줄은 소스/대상 IP, 프로토콜 유형 및 기타 기술 세부 정보를 보여주는 네트워크 패킷을 나타냅니다.
패킷 캡처를 중지하려면
Ctrl+C를 누릅니다. 그러면 터미널에 캡처된 트래픽에 대한 요약 통계가 표시됩니다.초보자를 위한 중요 참고 사항:
eth1은 대부분의 Linux 시스템에서 첫 번째 이더넷 인터페이스의 기본 이름입니다.- 인터페이스를 나열할 때 찾은 정확한 인터페이스 이름을 항상 사용하십시오.
- 네트워크 트래픽을 캡처하려면 특별한 권한이 필요하므로
sudo가 필요합니다. - 출력은 시스템에서 발생하는 실제 네트워크 통신을 보여줍니다.
기본 설정으로 캡처 시작
이 단계에서는 Wireshark 의 tshark를 사용하여 기본 설정으로 기본적인 패킷 캡처를 시작하는 방법을 배우게 됩니다. 이는 인터페이스를 식별하고 eth1을 선택한 이전 단계를 기반으로 합니다. 먼저, 일반적으로 Linux 시스템의 첫 번째 이더넷 인터페이스인 eth1 인터페이스를 통과하는 모든 네트워크 트래픽을 캡처하는 것으로 시작합니다.
- 먼저 캡처 파일을 저장할 올바른 작업 디렉토리에 있는지 확인합니다.
cd ~/project
eth1인터페이스에서 기본 설정으로 패킷 캡처를 시작하려면 다음을 실행합니다.
sudo tshark -i eth1
sudo 명령은 네트워크 트래픽 캡처에 루트 권한이 필요하기 때문에 필요합니다. -i eth1 플래그는 tshark 에게 eth1 네트워크 인터페이스에서만 수신 대기하도록 지시합니다.
이 명령의 주요 측면:
- eth1 을 통과하는 모든 패킷 유형 (TCP, UDP, ICMP 등) 을 캡처합니다.
- 캡처되는 대로 실시간으로 패킷 요약을 표시합니다.
- 기본 캡처 필터 (필터링 없이 모든 트래픽을 캡처) 를 사용합니다.
- 다음을 포함한 기본 패킷 정보를 표시합니다.
- 패킷 번호 (1 부터 시작하는 순차적 카운트)
- 타임스탬프 (각 패킷이 캡처된 시간 표시)
- 소스 및 대상 IP (트래픽의 송신 및 수신 위치 표시)
- 프로토콜 (네트워크 프로토콜 유형 식별)
- 패킷 내용에 대한 기본 정보
다음과 유사한 출력을 볼 수 있습니다.
1 0.000000000 192.168.1.100 → 8.8.8.8 DNS 74 Standard query
2 0.000123456 8.8.8.8 → 192.168.1.100 DNS 90 Standard query response
각 줄은 하나의 네트워크 패킷을 나타냅니다. 화살표 (→) 는 소스 및 대상 IP 주소 간의 트래픽 흐름 방향을 보여줍니다.
출력을 일시적으로 일시 중지하려면 (캡처를 중지하지 않고)
Ctrl+S를 누릅니다. 다시 시작하려면Ctrl+Q를 누릅니다. 이는 새로운 패킷이 너무 빠르게 스크롤되지 않도록 특정 패킷을 검사하려는 경우에 유용합니다.이 기본 캡처에 대한 다음 중요한 사항을 기억하십시오.
- 기본 캡처는 디스플레이를 관리하기 위해 패킷 헤더만 표시합니다 (전체 페이로드는 아님).
Ctrl+C로 중지할 때까지 캡처가 계속됩니다.- 아직 디스크에 저장되는 패킷은 없습니다 (다음 단계에서 다룹니다).
- 터미널 출력은 단지 실시간 보기일 뿐입니다. 아직 이 정보를 영구적으로 저장하지 않습니다.
-w capture.pcap 옵션으로 중지 및 파일 저장
이 단계에서는 패킷 캡처 세션을 적절하게 중지하고 캡처된 패킷을 나중에 분석할 수 있도록 파일에 저장하는 방법을 배우게 됩니다. 이는 기본적인 Wireshark/tshark 워크플로우를 완료합니다. 나중에 네트워크 트래픽을 분석하거나 동료와 데이터를 공유해야 할 때 패킷을 파일에 저장하는 것이 필수적입니다.
- 먼저 캡처 파일을 저장하려는 올바른 작업 디렉토리에 있는지 확인합니다. ~/project 디렉토리는 일반적으로 실습에 사용됩니다.
cd ~/project
- 자동으로 패킷을 파일에 저장하는 새로운 캡처 세션을 시작하려면 이 명령을 실행합니다. -w 플래그는 tshark 에게 캡처된 데이터를 저장할 위치를 알려줍니다.
tshark -i eth1 -w capture.pcap
이 명령의 주요 측면을 자세히 살펴보겠습니다.
-w capture.pcap: 출력 파일 이름을 지정하고 표준 PCAP 형식으로 패킷을 저장합니다.- 파일은 현재 작업 디렉토리 (~/project) 에 생성됩니다.
- 실시간 모니터링과 달리 이 명령은 파일에 저장하는 동안 화면 출력 없이 자동으로 실행됩니다.
권한에 대한 중요 참고 사항:
- 이 명령과 함께
sudo를 사용하지 마십시오 (예:sudo tshark -i eth1 -w capture.pcap). ~/project디렉토리는 루트 액세스를 포함하여 액세스를 제한하는 특정 권한을 가지고 있습니다.sudo로 실행하면 "Permission denied" 오류가 발생합니다.- 올바른 권한으로 적절한 파일 생성을 보장하려면
sudo없이 명령을 사용하십시오.
의미 있는 네트워크 트래픽을 수집하기 위해 약 30 초 동안 캡처를 실행합니다. 이 기간을 통해 과도하게 큰 파일을 생성하지 않고 다양한 유형의 패킷을 캡처할 수 있습니다.
캡처를 정상적으로 중지하고 파일을 마무리하려면
Ctrl+C를 누릅니다. 터미널에 캡처 세션에 대한 요약 정보가 표시됩니다.
^CCapturing on 'eth1'
45 packets captured
- 디렉토리 내용을 나열하여 캡처 파일이 성공적으로 생성되었는지 확인합니다. -lh 플래그는 파일 크기를 사람이 읽을 수 있는 형식으로 표시합니다.
ls -lh capture.pcap
- 다음과 유사한 출력을 볼 수 있으며, 파일이 적절한 권한으로 생성되었고 캡처된 데이터를 포함하고 있음을 보여줍니다.
-rw-r--r-- 1 labex labex 12K Aug 10 15:30 capture.pcap
- PCAP 파일 작업에 대한 중요 참고 사항:
- PCAP 파일은 나중에 Wireshark GUI 또는 tshark 명령으로 분석할 수 있습니다.
- 파일 크기는 캡처 기간에 따라 증가합니다. 디스크 공간에 유의하십시오.
- 덮어쓰기를 방지하려면 별도의 캡처 세션에 고유한 파일 이름을 사용하십시오.
- .pcap 확장자는 패킷 캡처 파일의 표준입니다.
요약
이 실습에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 실시간 네트워크 트래픽을 캡처하는 방법을 배웠습니다. -D 플래그를 사용하여 사용 가능한 인터페이스를 나열하고, -i 매개변수를 사용하여 특정 인터페이스에서 패킷을 캡처하는 연습을 했습니다. IP 주소 및 프로토콜과 같은 주요 네트워크 세부 정보를 관찰하면서 말입니다.
이 연습은 sudo 권한의 적절한 사용 및 기본 캡처 제어를 포함하여 기본적인 tshark 명령에 대한 실질적인 경험을 제공했습니다. 이러한 필수 기술은 보다 진보된 네트워크 분석 및 문제 해결 작업의 기반을 형성합니다.


