Network Watcher 패킷 캡처 파일 검사 및 분석

Azure Network Watcher의 패킷 캡처 기능을 사용하여 Azure VM(가상 머신) 및 가상 머신 확장 집합에서 캡처 세션을 시작하고 관리할 수 있습니다.

  • Azure Portal, PowerShell 및 Azure CLI에서.
  • SDK 및 REST API를 통해 프로그래밍 방식으로 수행합니다.

패킷 캡처를 사용하면 쉽게 사용할 수 있는 형식으로 정보를 제공하여 패킷 수준 데이터가 필요한 시나리오를 해결할 수 있습니다. 자유롭게 사용할 수 있는 도구를 사용하여 데이터를 검사하면 VM 또는 확장 집합과 주고 받는 통신을 검사하여 네트워크 트래픽에 대한 인사이트를 얻을 수 있습니다. 패킷 캡처 데이터의 예로는 네트워크 또는 애플리케이션 문제 조사, 네트워크 오용 및 침입 시도 감지, 기본 규정 준수가 포함됩니다.

이 문서에서는 인기 있는 오픈 소스 도구를 사용하여 Network Watcher가 제공한 패킷 캡처 파일을 여는 방법을 알아봅니다. 또한 연결 대기 시간을 계산하고, 비정상적인 트래픽을 식별하고, 네트워크 통계를 검사하는 방법을 알아봅니다.

필수 조건

네트워크 대기 시간 계산

이 예제에서는 두 엔드포인트 간의 TCP(Transmission Control Protocol) 대화의 초기 RTT(왕복 시간)를 보는 방법을 알아봅니다.

TCP 연결이 설정되면 연결에서 전송된 처음 세 개의 패킷은 3방향 핸드셰이크라는 패턴을 따릅니다. 이 핸드셰이크에서 보낸 처음 두 패킷(클라이언트의 초기 요청 및 서버의 응답)을 검사하여 대기 시간을 계산할 수 있습니다. 이 대기 시간은 RTT입니다. TCP 프로토콜 및 3방향 핸드셰이크에 대한 자세한 내용은 TCP/IP를 통한 3방향 핸드셰이크 설명을 참조하세요.

  1. Wireshark를 시작합니다.

  2. 패킷 캡처 세션에서 .cap 파일을 로드합니다.

  3. 캡처에서 [SYN] 패킷을 선택합니다. 이 패킷은 클라이언트가 TCP 연결을 시작하기 위해 보내는 첫 번째 패킷입니다.

  4. 패킷을 마우스 오른쪽 단추로 클릭하고 팔로우를 선택한 다음 TCP 스트림을 선택합니다.

    Screenshot that shows how to filter TCP stream packets in Wireshark.

  5. [SYN] 패킷의 Transmission Control Protocol 섹션을 확장한 다음 Flags 섹션을 확장합니다.

  6. Syn 비트가 1설정되어 있는지 확인한 다음 마우스 오른쪽 단추로 클릭합니다.

  7. 필터로 적용을 선택한 다음... 및 TCP 스트림 내에서 Syn 비트가 1로 설정된 패킷을 표시하도록 선택되었습니다.

    TCP 핸드셰이크에 관련된 처음 두 패킷은 [SYN] 및 [SYN, ACK] 패킷입니다. 핸드셰이크의 마지막 패킷인 [ACK] 패킷은 필요하지 않습니다. 클라이언트는 [SYN] 패킷을 보냅니다. 서버가 [SYN] 패킷을 수신한 후 클라이언트에서 [SYN] 패킷을 수신하는 승인으로 [ACK] 패킷을 보냅니다.

    Screenshot that shows how to apply a filter to show the packets in a TCP stream in Wireshark.

  8. [SCK] 패킷을 선택합니다.

  9. SEQ/ACK 분석 섹션을 확장하여 초기 RTT를 초 단위로 표시합니다.

    Screenshot that shows the latency represented as initial round-trip time in seconds in Wireshark.

원치 않는 프로토콜 찾기

Azure Virtual Machines에서는 많은 애플리케이션을 실행할 수 있습니다. 이러한 애플리케이션 중 다수는 명시적 권한 없이 네트워크를 통해 통신하는 경우가 있습니다. 패킷 캡처를 사용하여 네트워크 통신을 기록하면 애플리케이션이 네트워크를 통해 통신하는 방법을 조사할 수 있습니다. 조사를 통해 잠재적인 문제를 식별하고 해결할 수 있습니다.

이 예에서는 패킷 캡처를 분석하여 가상 머신에서 실행 중인 애플리케이션의 무단 통신을 나타낼 수 있는 원치 않는 프로토콜을 찾는 방법을 알아봅니다.

  1. 와이어샤크를 엽니다.

  2. 패킷 캡처 세션에서 .cap 파일을 로드합니다.

  3. 통계 메뉴에서 프로토콜 계층 구조를 선택합니다.

    Screenshot that shows how to get to Protocol Hierarchy from the Statistics menu in Wireshark.

  4. 프로토콜 계층 통계 창에는 캡처 세션 중에 사용 중인 모든 프로토콜과 각 프로토콜에 대해 전송 및 수신된 패킷 수가 나열됩니다. 이 보기는 가상 머신이나 네트워크에서 원치 않는 네트워크 트래픽을 찾는 데 유용합니다.

    Screenshot that shows the Protocol Hierarchy Statistics window in Wireshark.

    이 예제에서는 피어 투 피어 파일 공유에 사용되는 BitTorrent 프로토콜에 대한 트래픽을 보여 줍니다. 관리자는 이 가상 머신에서 BitTorrent 트래픽이 표시되지 않을 경우 다음 중 하나를 수행할 수 있습니다.

    • 이 가상 머신에 설치된 피어 투 피어 소프트웨어를 제거합니다.
    • 네트워크 보안 그룹 또는 방화벽을 사용하여 트래픽을 차단합니다.

대상 및 포트 찾기

네트워크에서 애플리케이션 및 리소스를 모니터링하거나 문제를 해결할 때는 트래픽 유형, 엔드포인트 및 통신 포트를 이해하는 것이 중요합니다. 패킷 캡처 파일을 분석하여 가상 머신이 통신한 상위 대상과 사용한 포트를 알아볼 수 있습니다.

  1. Wireshark를 시작합니다.

  2. 패킷 캡처 세션에서 .cap 파일을 로드합니다.

  3. 통계 메뉴에서 IPv4 통계를 선택한 다음, 대상 및 포트를 선택합니다.

    Screenshot that shows how to get to the Destinations and Ports window in Wireshark.

  4. 대상 및 포트 창에는 캡처 세션 중에 VM이 통신한 상위 대상 및 포트가 나열됩니다. 필터를 사용하여 특정 프로토콜을 통한 통신만 표시합니다. 예를 들어 디스플레이 필터 상자에 rdp를 입력하여 RDP(원격 데스크톱 프로토콜)를 사용한 통신이 있는지 확인할 수 있습니다.

    Screenshot that shows the RDP destinations and the ports that were used in Wireshark.

    마찬가지로 관심 있는 다른 프로토콜을 필터링할 수 있습니다.

다음 단계

Network Watcher의 다른 네트워크 진단 도구에 대해 알아보려면 다음을 참조하세요.