Tshark 로 실시간 트래픽 모니터링

WiresharkBeginner
지금 연습하기

소개

이 랩에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 네트워크 트래픽을 실시간으로 모니터링하는 방법을 배우게 됩니다. eth1 인터페이스에서 패킷을 캡처하고, 실시간 통계 업데이트를 구성하며, -i--update-interval과 같은 주요 명령을 사용하여 요약된 출력을 분석하는 연습을 할 것입니다.

실습을 통해 TCP 핸드셰이크를 관찰하고, 세션을 종료하며, IP 주소 및 프로토콜을 포함한 실시간 트래픽 세부 정보를 해석하게 됩니다. 이 랩은 필수적인 네트워크 분석 기술에 대한 실질적인 경험을 제공합니다.

-i eth1 로 캡처 시작

이 단계에서는 Wireshark 의 명령줄 도구인 tshark를 사용하여 eth1 인터페이스에서 네트워크 패킷 캡처를 시작하는 방법을 배우게 됩니다. 이는 네트워크 트래픽 분석의 기본적인 작업입니다.

네트워크 인터페이스는 컴퓨터가 네트워크에 연결되는 물리적 또는 가상 지점입니다. tshark-i 플래그는 패킷을 캡처할 네트워크 인터페이스를 지정합니다. 대부분의 Linux 시스템에서 eth1은 첫 번째 이더넷 인터페이스를 나타내며, 일반적으로 기본 유선 네트워크 연결입니다. LabEx VM 환경에서 eth1은 네트워크에 연결된 기본 이더넷 인터페이스입니다.

필터 없이 tshark 를 실행하면 지정된 인터페이스를 통과하는 모든 네트워크 트래픽을 캡처합니다. 여기에는 들어오고 나가는 패킷이 모두 포함됩니다. 우리가 사용할 명령은 이 트래픽의 실시간 보기를 제공합니다.

캡처를 시작하려면 다음 단계를 따르세요.

  1. LabEx VM 에서 터미널을 엽니다 (이미 ~/project 디렉토리에 있어야 합니다).
  2. eth1 에서 캡처를 시작하려면 다음 명령을 실행합니다.
tshark -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 MSS=1460 SACK_PERM=1 TSval=123456789 TSecr=0 WS=128
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 MSS=1460 SACK_PERM=1 TSval=987654321 TSecr=123456789 WS=128

각 줄은 캡처된 패킷을 나타내며, 타임스탬프, 소스 및 대상 IP 주소, 프로토콜 유형 (이 경우 TCP) 및 다양한 프로토콜별 세부 정보를 표시합니다. 첫 번째 패킷은 TCP 연결 시작 (SYN 플래그) 을 보여주고, 두 번째 패킷은 응답 (SYN-ACK) 을 보여줍니다.

캡처를 중지하려면 터미널에서 Ctrl+C를 누르세요. 그러면 명령 프롬프트로 돌아가기 전에 캡처된 패킷의 요약이 표시됩니다. 요약에는 캡처 및 처리된 패킷 수에 대한 통계가 포함됩니다.

--update-interval 1000 으로 1 초 업데이트 설정

이 단계에서는 네트워크 트래픽 통계의 주기적인 업데이트를 표시하도록 tshark 를 구성합니다. 이 방법은 초보자에게 특히 유용합니다. 지속적인 패킷 세부 정보로 압도하지 않고 네트워크 활동에 대한 명확하고 관리 가능한 보기를 제공하기 때문입니다.

--update-interval 매개변수는 tshark 가 디스플레이를 새로 고치는 빈도를 제어합니다. 값은 밀리초 (ms) 단위로 지정되며, 1000ms 는 1 초와 같습니다. 즉, 매초마다 네트워크 트래픽의 스냅샷을 얻게 되므로 패턴과 변경 사항을 더 쉽게 관찰할 수 있습니다.

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

  • eth1 네트워크 인터페이스 (대부분의 시스템에서 기본 이더넷 포트) 를 모니터링하고 있습니다.
  • 모든 개별 패킷을 보는 대신, 요약된 카운트를 보게 됩니다.
  • 디스플레이는 매초마다 자동으로 새로 고쳐집니다.

설정 방법은 다음과 같습니다.

  1. 먼저, 올바른 작업 디렉토리에 있는지 확인합니다. 터미널을 열고 다음으로 이동합니다.
cd ~/project
  1. 이제 이 명령을 실행하여 1 초 업데이트로 모니터링을 시작합니다.
tshark -i eth1 --update-interval 1000

이것을 실행하면 다음과 유사한 출력을 볼 수 있습니다.

Capturing on 'eth1'
Packets: 15
Packets: 32
Packets: 47

출력에 대한 중요한 참고 사항:

  • "Packets" 카운트는 tshark 시작 이후 캡처된 총 개수를 보여줍니다.
  • 각 새 줄은 지정된 간격 (1 초) 후의 업데이트를 나타냅니다.
  • 숫자는 실제 네트워크 활동에 따라 다릅니다.
  • 숫자가 높을수록 해당 기간 동안 더 많은 네트워크 트래픽이 있음을 나타냅니다.

이 방법은 네트워크 모니터링에 대해 처음 배우고 세부 사항에 묻히지 않고 트래픽 패턴을 관찰하려는 경우 특히 유용한 네트워크 활동에 대한 깔끔하고 주기적인 개요를 제공합니다.

-P 로 실시간 요약 표시

이 단계에서는 tshark 의 요약 모드를 사용하여 네트워크 트래픽을 높은 수준에서 모니터링하는 방법을 살펴봅니다. 이는 개별 패킷 세부 정보에 압도되지 않고 트래픽 패턴을 관찰하려는 경우 특히 유용합니다. 각 자동차를 검사하는 대신 고속도로의 교통 흐름을 보는 것과 같습니다.

-P 매개변수는 tshark 에게 모든 패킷을 표시하는 대신 주기적인 통계를 표시하도록 지시합니다. --update-interval과 결합하면 지정된 타이밍으로 새로 고쳐지는 대시보드와 같은 보기를 생성합니다. 이 방법은 개요만 필요한 경우 원시 패킷 데이터를 스크롤하는 것보다 훨씬 효율적입니다.

시작하기 전에 네트워크 트래픽을 캡처할 수 있는 권한이 있는 올바른 작업 디렉토리에 있는지 확인하십시오. 우리가 사용할 명령은 이전 단계에서 배운 내용을 기반으로 합니다.

tshark -i eth1 --update-interval 1000 -P

각 부분의 기능은 다음과 같습니다.

  • -i eth1은 모니터링할 네트워크 인터페이스를 지정합니다.
  • --update-interval 1000은 새로 고침 빈도를 1000 밀리초 (1 초) 로 설정합니다.
  • -P는 주기적인 통계 표시 모드를 활성화합니다.

명령을 실행하면 매초마다 업데이트되는 출력이 표시되며, 세 가지 주요 지표가 표시됩니다.

Capturing on 'eth1'
Packets: 15    Avg. packet size: 342 bytes    Packets/s: 5
Packets: 32    Avg. packet size: 356 bytes    Packets/s: 8
Packets: 47    Avg. packet size: 378 bytes    Packets/s: 7

이 지표는 다음을 알려줍니다.

  1. 시작 이후 캡처된 총 패킷 수
  2. 바이트 단위의 이러한 패킷의 평균 크기
  3. 인터페이스를 통과하는 현재 패킷 속도

이 보기는 네트워크 활동에서 갑작스러운 트래픽 급증 또는 특이한 패턴을 발견하는 데 특히 유용합니다. 숫자는 네트워크 조건이 변경됨에 따라 동적으로 변경되어 네트워크에서 무슨 일이 일어나고 있는지에 대한 실시간 통찰력을 제공합니다.

Ctrl+C 로 종료

이 단계에서는 활성 tshark 패킷 캡처 세션을 안전하게 중지하는 방법을 배웁니다. 초보자에게는 터미널을 닫거나 프로세스를 갑자기 종료하면 데이터가 손실될 수 있다는 것을 이해하는 것이 중요합니다. 올바른 방법은 표준 Linux 인터럽트 메커니즘을 사용합니다.

tshark 를 실행하면 네트워크 트래픽을 지속적으로 모니터링하고 데이터를 메모리에 씁니다. Ctrl+C 를 누르면 tshark 에게 다음을 지시하는 SIGINT (signal interrupt, 신호 인터럽트) 가 전송됩니다.

  1. 즉시 새 패킷 캡처 중지
  2. 수집된 통계를 마무리하고 표시
  3. 명령 프롬프트로 깔끔하게 종료

다음은 정확히 수행할 작업입니다.

  1. 먼저, tshark 캡처가 실행 중인지 확인합니다 (이전과 동일한 명령 사용: -i eth1 --update-interval 1000 -P)
  2. 키보드에서 Ctrl 키를 누른 채로 유지합니다.
  3. Ctrl 키를 누른 상태에서 C 키를 한 번 누릅니다.

다음과 같은 출력이 표시됩니다.

^C
47 packets captured

^C 기호는 Ctrl+C 를 눌렀음을 확인합니다. 숫자는 세션 동안 성공적으로 캡처된 패킷 수를 보여줍니다. 이 카운트는 중지하기 전에 캡처가 예상대로 작동했는지 확인하는 데 도움이 됩니다.

이 방법은 중지될 때 처리 중인 패킷을 잃을 수 있는 강제 종료와 달리 캡처된 모든 데이터를 보존하고 깔끔하게 종료한다는 점을 기억하십시오.

요약

이 랩에서는 Wireshark 의 명령줄 인터페이스인 Tshark 를 사용하여 네트워크 트래픽을 실시간으로 모니터링하는 방법을 배웠습니다. 주요 기술에는 -i를 사용하여 eth1 에서 패킷 캡처 시작, --update-interval을 통한 주기적 업데이트 설정, -P를 사용한 실시간 패킷 요약 표시가 포함되었습니다.

이 연습에서는 원시 패킷 캡처, TCP 핸드셰이크 분석, 실시간 트래픽 통계 추적에 대한 실습 경험을 제공했습니다. 이러한 기본적인 기술은 터미널 기반 패킷 검사를 통해 효율적인 네트워크 모니터링 및 문제 해결을 가능하게 합니다.