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 relace zachytávání pro sledování provozu do a z instancí škálovací sady virtuálních počítačů. Filtry jsou k dispozici pro relaci zachycení, abyste zajistili, že zachytíte jenom 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í AzureNetworkWatcherExtensionškálovací sady virtuálních počítačů . Pokud chcete rozšíření nainstalovat na virtuální počítač s Windows, navštivte rozšíření virtuálního počítače agenta Azure Network Watcher pro Windows a linuxový virtuální počítač, navštivte rozšíření virtuálního počítače agenta Azure Network Watcher pro Linux.

Instalace rozšíření škálovací sady virtuálních počítačů

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

Spuštění 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á se předá 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ření oboru pro 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

Získání zachytávání paketů

Spuštěním Get-AzNetworkWatcherPacketCapture rutiny 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, se StopReason of TimeExceeded. Tato hodnota ukazuje, že zachytávání paketů proběhlo úspěšně a spustilo jeho čas.

Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatcher
                          s/NetworkWatcher_westcentralus/packetCaptures/PacketCaptureTest
Etag                    : W/"4b9a81ed-dc63-472e-869e-96d7166ccb9b"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 60
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/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 se zastaví relace zachycení.

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

Poznámka:

Rutina nevrátí žádnou odpověď při spuštění aktuálně spuštěné relace zachycení nebo existující relace, která již byla zastavena.

Odstranění zachytávání paketů

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

Poznámka:

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

Stažení zachytávání paketů

Jakmile se relace zachytávání paketů dokončí, můžete soubor zachytávání nahrát do úložiště objektů blob nebo do místního souboru v instancích./s. Umístění úložiště zachytávání paketů je definováno při vytváření relace. Pohodlný nástroj 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

Zjištění, jestli je určitý provoz povolený nebo mimo váš virtuální počítač, najdete v části Kontrola ověření toku PROTOKOLU IP.