Zarządzanie przechwytywaniem pakietów za pomocą usługi Azure Network Watcher
Artykuł
Z tego artykułu dowiesz się, jak używać funkcji przechwytywania pakietów usługi Azure Network Watcher do zdalnego konfigurowania, uruchamiania, zatrzymywania, pobierania i usuwania przechwytywania pakietów maszyn wirtualnych.
Maszyna wirtualna lub zestaw skalowania maszyn wirtualnych z wychodzącą łącznością TCP z portem 169.254.169.25480 i 168.63.129.16 portem 8037. Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher używa tych adresów IP do komunikowania się z platformą Azure.
Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher zainstalowane na docelowej maszynie wirtualnej. Za każdym razem, gdy używasz funkcji przechwytywania pakietów usługi Network Watcher w witrynie Azure Portal, agent jest automatycznie instalowany na docelowej maszynie wirtualnej lub zestawie skalowania, jeśli nie został wcześniej zainstalowany. Aby zaktualizować już zainstalowanego agenta, zobacz Aktualizowanie rozszerzenia usługi Azure Network Watcher do najnowszej wersji.
Maszyna wirtualna z wychodzącą łącznością TCP z portem 169.254.169.25480 i 168.63.129.16 portem 8037. Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher używa tych adresów IP do komunikowania się z platformą Azure.
Kroki opisane w tym artykule uruchamiają interaktywne polecenia cmdlet programu Azure PowerShell w usłudze Azure Cloud Shell. Aby uruchomić polecenia w usłudze Cloud Shell, wybierz pozycję Otwórz usługę Cloud Shell w prawym górnym rogu bloku kodu. Wybierz pozycję Kopiuj , aby skopiować kod, a następnie wklej go w usłudze Cloud Shell, aby go uruchomić. Możesz również uruchomić usługę Cloud Shell z poziomu witryny Azure Portal.
Maszyna wirtualna z wychodzącą łącznością TCP z portem 169.254.169.25480 i 168.63.129.16 portem 8037. Rozszerzenie maszyny wirtualnej agenta usługi Network Watcher używa tych adresów IP do komunikowania się z platformą Azure.
Azure Cloud Shell lub interfejs wiersza polecenia platformy Azure.
Kroki opisane w tym artykule umożliwiają interaktywne uruchamianie poleceń interfejsu wiersza polecenia platformy Azure w usłudze Azure Cloud Shell. Aby uruchomić polecenia w usłudze Cloud Shell, wybierz pozycję Otwórz usługę Cloud Shell w prawym górnym rogu bloku kodu. Wybierz pozycję Kopiuj , aby skopiować kod i wklej go w usłudze Cloud Shell, aby go uruchomić. Możesz również uruchomić usługę Cloud Shell z poziomu witryny Azure Portal.
Platforma Azure tworzy wystąpienie usługi Network Watcher w regionie maszyny wirtualnej, jeśli usługa Network Watcher nie została włączona dla tego regionu. Aby uzyskać więcej informacji, zobacz Włączanie lub wyłączanie usługi Azure Network Watcher.
Jeśli sieciowa grupa zabezpieczeń jest skojarzona z interfejsem sieciowym lub podsiecią, w którą znajduje się interfejs sieciowy, upewnij się, że istnieją reguły zezwalające na łączność wychodzącą przez poprzednie porty. Podobnie należy zapewnić łączność wychodzącą przez poprzednie porty podczas dodawania tras zdefiniowanych przez użytkownika do sieci.
Aby rozpocząć sesję przechwytywania, wykonaj następujące kroki:
W polu wyszukiwania w górnej części portalu wprowadź wartość Network Watcher. Wybierz pozycję Network Watcher z wyników wyszukiwania.
Wybierz pozycję Przechwytywanie pakietów w obszarze Narzędzia diagnostyczne sieci, a następnie wybierz pozycję + Dodaj , aby utworzyć przechwytywanie pakietów.
W obszarze Dodawanie przechwytywania pakietów wprowadź lub wybierz wartości dla następujących ustawień:
Ustawienie
Wartość
Podstawowe szczegóły
Subskrypcja
Wybierz subskrypcję platformy Azure maszyny wirtualnej.
Grupa zasobów
Wybierz grupę zasobów maszyny wirtualnej.
Typ docelowy
Wybierz pozycję Maszyna wirtualna lub Zestaw skalowania maszyn wirtualnych.
Docelowy zestaw skalowania maszyn wirtualnych
Wybierz zestaw skalowania maszyn wirtualnych. Ta opcja jest dostępna w przypadku wybrania opcji Zestaw skalowania maszyn wirtualnych jako typu docelowego.
Wystąpienie docelowe
Wybierz maszynę wirtualną lub wystąpienie zestawu skalowania.
Nazwa przechwytywania pakietów
Wprowadź nazwę lub pozostaw nazwę domyślną.
Konfiguracja przechwytywania pakietów
Lokalizacja przechwytywania
Wybierz pozycję Konto magazynu (opcja domyślna), Plik lub Oba.
Konto magazynu
Wybierz kontomagazynu w warstwie Standardowa 1. Ta opcja jest dostępna, jeśli wybierzesz pozycję Konto magazynu lub Oba jako lokalizację przechwytywania. Konto magazynu musi znajdować się w tym samym regionie co wystąpienie docelowe.
Ścieżka pliku lokalnego
Wprowadź prawidłową lokalną ścieżkę pliku, w której chcesz zapisać przechwytywanie na docelowej maszynie wirtualnej. Jeśli używasz maszyny z systemem Linux, ścieżka może zaczynać się od /var/captures. Jeśli używasz maszyny z systemem Windows, ścieżka może zaczynać się od C:\Captures. Ta opcja jest dostępna, jeśli wybierzesz opcję Plik lub Oba jako lokalizację przechwytywania.
Maksymalna liczba bajtów na pakiet
Wprowadź maksymalną liczbę bajtów do przechwycenia dla każdego pakietu. Wszystkie bajty są przechwytywane, jeśli pozostały puste lub 0 wprowadzone.
Maksymalna liczba bajtów na sesję
Wprowadź łączną liczbę bajtów przechwyconych. Gdy wartość zostanie osiągnięta, przechwytywanie pakietów zostanie zatrzymane. W przypadku pozostawienia pustego przechwycono maksymalnie 1 GB.
Limit czasu (w sekundach)
Wprowadź limit czasu sesji przechwytywania pakietów w sekundach. Gdy wartość zostanie osiągnięta, przechwytywanie pakietów zostanie zatrzymane. W przypadku pozostawienia pustego przechwycono maksymalnie 5 godzin (18 000 sekund).
Filtrowanie (opcjonalnie)
Dodawanie kryteriów filtrowania
Wybierz pozycję Dodaj kryteria filtru, aby dodać nowy filtr. Można zdefiniować dowolną liczbę filtrów.
Protokół
Filtruje przechwytywanie pakietów na podstawie wybranego protokołu. Dostępne wartości to TCP, UDP lub Dowolne.
Lokalny adresIP 2
Filtruje przechwytywanie pakietów dla pakietów, w których lokalny adres IP jest zgodny z tą wartością.
Portlokalny 2
Filtruje przechwytywanie pakietów dla pakietów, w których port lokalny odpowiada tej wartości.
Zdalny adresIP 2
Filtruje przechwytywanie pakietów dla pakietów, w których zdalny adres IP jest zgodny z tą wartością.
Portzdalny 2
Filtruje przechwytywanie pakietów dla pakietów, w których port zdalny odpowiada tej wartości.
1 Konta usługi Premium Storage nie są obecnie obsługiwane do przechowywania przechwytywania pakietów.
2 Wartości portów i adresów IP mogą być pojedynczą wartością, zakresem, takim jak 80–1024, lub wieloma wartościami, takimi jak 80, 443.
Wybierz pozycję Rozpocznij przechwytywanie pakietów.
Przechwytywanie pakietów zatrzymuje się po osiągnięciu limitu czasu lub rozmiaru pliku (maksymalnie bajtów na sesję).
Dodaj filtry, aby przechwycić tylko żądany ruch. Na przykład można przechwytywać tylko ruch TCP z określonego adresu IP do określonego portu.
-TimeLimitInSeconds
Ustaw maksymalny czas trwania sesji przechwytywania. Wartość domyślna to 18000 sekund (5 godzin).
-BytesToCapturePerPacket
Ustaw maksymalną liczbę bajtów do przechwycenia dla każdego pakietu. Wszystkie bajty są przechwytywane, jeśli nie są używane lub 0 wprowadzone.
-TotalBytesPerSession
Ustaw łączną liczbę bajtów przechwyconych. Gdy wartość zostanie osiągnięta, przechwytywanie pakietów zostanie zatrzymane. Przechwytywane jest maksymalnie 1 GB (1073 741 824 bajtów), jeśli nie są używane.
-LocalFilePath
Wprowadź prawidłową lokalną ścieżkę pliku, jeśli chcesz zapisać przechwytywanie na docelowej maszynie wirtualnej (na przykład C:\Capture\myVM_1.cap). Jeśli używasz maszyny z systemem Linux, ścieżka musi zaczynać się od /var/captures.
Przechwytywanie pakietów zatrzymuje się po osiągnięciu limitu czasu lub rozmiaru pliku (maksymalnie bajtów na sesję).
# Start the Network Watcher capture session.
az network watcher packet-capture create --name 'myVM_1' --resource-group 'myResourceGroup' --vm 'myVM' --storage-account 'mystorageaccount'
# Start the Network Watcher capture session (storage account is in different resource group from the VM).
az network watcher packet-capture create --name 'myVM_1' --resource-group 'myResourceGroup' --vm 'myVM' --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup2/providers/Microsoft.Storage/storageAccounts/mystorageaccount'
Po rozpoczęciu sesji przechwytywania zobaczysz następujące dane wyjściowe:
Dodaj filtry, aby przechwycić tylko żądany ruch. Na przykład można przechwytywać tylko ruch TCP z określonego adresu IP do określonego portu.
--time-limit
Ustaw maksymalny czas trwania sesji przechwytywania. Wartość domyślna to 18000 sekund (5 godzin).
--capture-size
Ustaw maksymalną liczbę bajtów do przechwycenia dla każdego pakietu. Wszystkie bajty są przechwytywane, jeśli nie są używane lub 0 wprowadzone.
--capture-limit
Ustaw łączną liczbę bajtów przechwyconych. Gdy wartość zostanie osiągnięta, przechwytywanie pakietów zostanie zatrzymane. Przechwytywane jest maksymalnie 1 GB (1073 741 824 bajtów), jeśli nie są używane.
--file-path
Wprowadź prawidłową lokalną ścieżkę pliku, jeśli chcesz zapisać przechwytywanie na docelowej maszynie wirtualnej (na przykład C:\Capture\myVM_1.cap). Jeśli używasz maszyny z systemem Linux, ścieżka musi zaczynać się od /var/captures.
Przechwytywanie pakietów zatrzymuje się po osiągnięciu limitu czasu lub rozmiaru pliku (maksymalnie bajtów na sesję).
Aby ręcznie zatrzymać sesję przechwytywania pakietów przed osiągnięciem limitów czasu lub rozmiaru pliku, wybierz wielokropek ... po prawej stronie przechwytywania pakietów lub kliknij go prawym przyciskiem myszy, a następnie wybierz polecenie Zatrzymaj.
Przejdź do strony Przechwytywanie pakietów usługi Network Watcher, aby wyświetlić listę istniejących przechwytywania pakietów niezależnie od ich stanu.
# Get information, properties, and status of a packet capture.
Get-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1'
Poniższe dane wyjściowe są przykładem danych wyjściowych polecenia Get-AzNetworkWatcherPacketCapture cmdlet . Poniższy przykład jest po zakończeniu przechwytywania. Wartość PacketCaptureStatus to Stopped z wartością StopReason timeExceeded. Ta wartość pokazuje, że przechwytywanie pakietów zakończyło się pomyślnie i trwało jego czas.
# Get information, properties, and status of a packet capture.
az network watcher packet-capture show-status --location 'eastus' --name 'myVM_1'
Poniższy przykład to dane wyjściowe polecenia az network watcher packet-capture show-status . Widać, że wartość packetCaptureStatus jest zatrzymana z wartością StopReason timeExceeded:
Po zakończeniu sesji przechwytywania pakietów wynikowy plik przechwytywania jest zapisywany w usłudze Azure Storage, pliku lokalnego na docelowej maszynie wirtualnej lub obu tych maszynach. Miejsce docelowe magazynu przechwytywania pakietów jest określone podczas jego tworzenia. Aby uzyskać więcej informacji, zobacz sekcję Uruchamianie przechwytywania pakietów.
Aby pobrać plik przechwytywania pakietów zapisany w usłudze Azure Storage, wykonaj następujące kroki:
Na stronie Przechwytywanie pakietów wybierz przechwytywanie pakietów, które chcesz pobrać.
W sekcji Szczegóły wybierz link plik przechwytywania pakietów.
Na stronie obiektu blob wybierz pozycję Pobierz.
Uwaga
Możesz również pobrać pliki przechwytywania z kontenera konta magazynu przy użyciu witryny Azure Portal lub Eksplorator usługi Storage 1 w następującej ścieżce:
1 Eksplorator usługi Storage to autonomiczna aplikacja, której można wygodnie używać do uzyskiwania dostępu do danych usługi Azure Storage i pracy z danymi usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Wprowadzenie do Eksplorator usługi Storage.
Aby pobrać plik przechwytywania pakietów zapisany na maszynie wirtualnej, połącz się z maszyną wirtualną i pobierz plik ze ścieżki lokalnej określonej podczas tworzenia przechwytywania pakietów.
Po zakończeniu sesji przechwytywania pakietów wynikowy plik przechwytywania jest zapisywany w usłudze Azure Storage, pliku lokalnego na docelowej maszynie wirtualnej lub obu tych maszynach. Miejsce docelowe magazynu przechwytywania pakietów jest określone podczas jego tworzenia. Aby uzyskać więcej informacji, zobacz sekcję Uruchamianie przechwytywania pakietów.
Jeśli określono konto magazynu, pliki przechwytywania są zapisywane na koncie magazynu w następującej ścieżce:
# Download the packet capture file from Azure storage container.
Get-AzStorageBlobContent -Container 'network-watcher-logs' -Blob '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm/2024/01/25/packetcapture_22_44_54_342.cap' -Destination 'C:\Capture\myVM_1.cap'
Uwaga
Plik przechwytywania można również pobrać z kontenera konta magazynu przy użyciu Eksplorator usługi Azure Storage. Eksplorator usługi Storage to autonomiczna aplikacja, której można wygodnie używać do uzyskiwania dostępu do danych usługi Azure Storage i pracy z danymi usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Wprowadzenie do Eksplorator usługi Storage.
Po zakończeniu sesji przechwytywania pakietów wynikowy plik przechwytywania jest zapisywany w usłudze Azure Storage, pliku lokalnego na docelowej maszynie wirtualnej lub obu tych maszynach. Miejsce docelowe magazynu przechwytywania pakietów jest określone podczas jego tworzenia. Aby uzyskać więcej informacji, zobacz sekcję Uruchamianie przechwytywania pakietów.
Jeśli określono konto magazynu, pliki przechwytywania są zapisywane na koncie magazynu w następującej ścieżce:
# Download the packet capture file from Azure storage container.
az storage blob download --container-name 'network-watcher-logs' --blob-url '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm/2024/01/25/packetcapture_22_44_54_342.cap' --file 'C:\Capture\myVM_1.cap'
Uwaga
Plik przechwytywania można również pobrać z kontenera konta magazynu przy użyciu Eksplorator usługi Azure Storage. Eksplorator usługi Storage to autonomiczna aplikacja, której można wygodnie używać do uzyskiwania dostępu do danych usługi Azure Storage i pracy z danymi usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Wprowadzenie do Eksplorator usługi Storage.
Na stronie Przechwytywanie pakietów wybierz pozycję ... po prawej stronie przechwytywania pakietów, które chcesz usunąć, lub kliknij ją prawym przyciskiem myszy, a następnie wybierz polecenie Usuń.
# Delete a packet capture resource.
az network watcher packet-capture delete --location 'eastus' --name 'myVM_1'
Ważne
Usunięcie zasobu przechwytywania pakietów w usłudze Network Watcher nie powoduje usunięcia pliku przechwytywania z konta magazynu ani maszyny wirtualnej. Jeśli nie potrzebujesz już pliku przechwytywania, musisz ręcznie usunąć go z konta magazynu lub maszyny wirtualnej.
Powiązana zawartość
Aby dowiedzieć się, jak zautomatyzować przechwytywanie pakietów przy użyciu alertów maszyny wirtualnej, zobacz Tworzenie przechwycenia pakietów wyzwalanych przez alert.
Aby dowiedzieć się, jak analizować plik przechwytywania pakietów usługi Network Watcher przy użyciu programu Wireshark, zobacz Inspekcja i analizowanie plików przechwytywania pakietów usługi Network Watcher.