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ů.
- Spusťte zachytávání paketů
- Zastavení zachytávání paketů
- Smazat zachycení paketu
- Stáhnout záznam 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