Sdílet prostřednictvím


Správa zachytávání paketů ve škálovací sadě virtuálních počítačů pomocí služby Azure Network Watcher pomocí PowerShellu

Zachytávání paketů služby Network Watcher umožňuje vytvářet zachytávací relace pro sledování provozu směřujícího do a od instancí škálovací sady virtuálních počítačů. Filtry jsou k dispozici pro záznam relace, abyste zabezpečili, že zachytíte pouze požadovaný provoz. Zachytávání paketů pomáhá diagnostikovat síťové anomálie, a to jak reaktivní, tak proaktivně. Mezi další použití patří shromažďování statistik sítě, získávání informací o narušení sítě, ladění komunikace mezi klientem a serverem a mnoho dalšího. Schopnost vzdáleně aktivovat zachytávání paketů, usnadňuje ruční spouštění zachytávání paketů na požadovaných instancích škálovací sady virtuálních počítačů, což šetří cenný čas.

Tento článek vás provede různými úlohami správy, které jsou aktuálně k dispozici pro zachytávání paketů.

Než začnete

Tento článek předpokládá, že máte následující zdroje informací:

  • Instance služby Network Watcher v oblasti, ve které chcete vytvořit zachytávání paketů

Důležitý

Zachytávání paketů vyžaduje rozšíření škálovací sady virtuálních počítačů AzureNetworkWatcherExtension. Pokud chcete nainstalovat rozšíření na virtuální počítač s Windows, navštivte rozšíření virtuálního počítače agenta Azure Network Watcher pro Windows a virtuální počítač s Linuxem, navštivte rozšíření virtuálního počítače agenta Azure Network Watcher pro Linux.

Instalace rozšíření pro škálovací sady virtuálních strojů

Krok 1

$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Krok 2

Instalace networkWatcherAgent ve škálovací sadě virtuálních počítačů / instancích škálovací sady virtuálních počítačů

Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "AzureNetworkWatcherExtension" -Publisher "Microsoft.Azure.NetworkWatcher" -Type "NetworkWatcherAgentWindows" -TypeHandlerVersion "1.4" -AutoUpgradeMinorVersion $True

Update-AzVmss -ResourceGroupName "$resourceGroupName" -Name $virtualMachineScaleSetName -VirtualMachineScaleSet $vmss
Update-AzVmssInstance -ResourceGroupName "$resourceGroupName" -VMScaleSetName $vmss.Name -InstanceId 0
> The `Set-AzVMExtension` cmdlet may take several minutes to complete.

Krok 3

Pokud chcete zajistit, aby byl agent nainstalovaný, postupujte podle kroku 1.

Get-AzVMss -ResourceGroupName $vmss.ResourceGroupName  -VMNScaleSetName $vmss.Name

Spustit zachytávání paketů

Po dokončení předchozích kroků se agent zachytávání paketů nainstaluje do škálovací sady virtuálních počítačů.

Krok 1

Dalším krokem je načtení instance služby Network Watcher. Tato proměnná je předána rutině New-AzNetworkWatcherPacketCapture v kroku 4.

$networkWatcher = Get-AzNetworkWatcher  | Where {$_.Location -eq "westcentralus" }

Krok 2

Načtení účtu úložiště Tento účet úložiště slouží k ukládání souboru zachytávání paketů.

$storageAccount = Get-AzStorageAccount -ResourceGroupName testrg -Name testrgsa123

Krok 3

Filtry lze použít k omezení dat uložených zachytáváním paketů. Následující příklad nastaví dva filtry. Jeden filtr shromažďuje odchozí provoz TCP pouze z místní IP adresy 10.0.0.3 na cílové porty 20, 80 a 443. Druhý filtr shromažďuje pouze přenosy UDP.

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP

Poznámka

Pro zachytávání paketů je možné definovat více filtrů.

Krok 4

Vytvořte obor zachytávání paketů

$s1 = New-AzPacketCaptureScopeConfig -Include "0", "1"

Krok 5

Spuštěním rutiny New-AzNetworkWatcherPacketCaptureV2 spusťte proces zachytávání paketů a předejte požadované hodnoty načtené v předchozích krocích.


New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkwatcher -PacketCaptureName $pcName -TargetId $vmss.Id -TargetType "azurevmss" -StorageAccountId $storageAccount.id -Filter $filter1, $filter2

Zachyťte pakety

Spuštěním rutiny Get-AzNetworkWatcherPacketCapture načte stav aktuálně spuštěného nebo dokončeného zachytávání paketů.

Get-AzNetworkWatcherPacketCapture -NetworkWatcher $networkWatcher -PacketCaptureName "PacketCaptureTest"

Následující příklad je výstupem rutiny Get-AzNetworkWatcherPacketCapture. Následující příklad je po dokončení zachycení. Hodnota PacketCaptureStatus je Zastaveno, s důvodem ukončení PřekročeníČasu. Tato hodnota ukazuje, že zachytávání paketů proběhlo úspěšně a dokončilo se v plánovaném čase.

Name                    : PacketCaptureTest
Id                      : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatcher
                          s/NetworkWatcher_westcentralus/packetCaptures/PacketCaptureTest
Etag                    : W/"4b9a81ed-dc63-472e-869e-96d7166ccb9b"
ProvisioningState       : Succeeded
Target                  : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 60
StorageLocation         : {
                            "StorageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/Microsoft.Storage/storageA
                          ccounts/examplestorage",
                            "StoragePath": "https://examplestorage.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-00000
                          0000000/resourcegroups/testrg/providers/microsoft.compute/virtualmachines/testvm1/2017/02/01/packetcapture_22_42_48_238.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
CaptureStartTime        : 2/1/2017 10:43:01 PM
PacketCaptureStatus     : Stopped
StopReason              : TimeExceeded
PacketCaptureError      : []

Zastavení zachytávání paketů

Spuštěním rutiny Stop-AzNetworkWatcherPacketCapture, pokud je relace zachycení v průběhu, se zastaví.

Stop-AzNetworkWatcherPacketCapture -NetworkWatcher $networkWatcher -PacketCaptureName "PacketCaptureTest"

Poznámka

Cmdlet nevrátí žádnou odpověď v aktuálně probíhající relaci zachytávání nebo v existující relaci, která již byla ukončena.

Smazat záznam paketů

Remove-AzNetworkWatcherPacketCapture -NetworkWatcher $networkWatcher -PacketCaptureName "PacketCaptureTest"

Poznámka

Odstranění zachytávání paketů neodstraní soubor v účtu úložiště.

Stáhnout snímek paketů

Jakmile se relace zachytávání paketů dokončí, můžete soubor zachytávání nahrát do blob storage nebo do místního souboru na instanci. Umístění úložiště pro zachycení paketů je určeno při vytváření relace. Pohodlným nástrojem pro přístup k těmto souborům zachytávání uloženým v účtu úložiště je Průzkumník služby Microsoft Azure Storage, který si můžete stáhnout zde: https://storageexplorer.com/

Pokud je zadaný účet úložiště, soubory zachytávání paketů se uloží do účtu úložiště v následujícím umístění:

Pokud je vybráno více instancí

https://{storageAccountName}.blob.core.windows.net/network-watcher-logs/subscriptions/{subscriptionId}/resourcegroups/{storageAccountResourceGroup}/providers/microsoft.compute/virtualmachinescalesets/{VMSSName}/{year}/{month}/{day}/packetCapture_{creationTime}

Pokud je vybrána jedna instance

https://{storageAccountName}.blob.core.windows.net/network-watcher-logs/subscriptions/{subscriptionId}/resourcegroups/{storageAccountResourceGroup}/providers/microsoft.compute/virtualmachinescalesets/{VMSSName}/virtualMachines/{instance}/{year}/{month}/{day}/packetCapture_{creationTime}.cap

Další kroky

Pokud chcete zjistit, jestli je určitý provoz povolený do a z vašeho virtuálního počítače, navštivte ověření toku IP