Správa zachytávání paketů pro virtuální počítače pomocí služby Azure Network Watcher pomocí Azure CLI
Nástroj network Watcher pro zachytávání paketů umožňuje vytvářet relace zachytávání, které zaznamenávají síťový provoz do a z virtuálního počítače Azure. Filtry jsou k dispozici pro relaci zachycení, abyste zajistili, že zachytíte jenom požadovaný provoz. Zachytávání paketů pomáhá při diagnostice síťových anomálií reaktivně i proaktivně. Její aplikace přesahují detekci anomálií, aby zahrnovaly shromažďování statistik sítě, získávání přehledů o narušení sítě, ladění komunikace mezi klientem a serverem a řešení různých dalších problémů se sítěmi. Zachytávání paketů služby Network Watcher umožňuje vzdáleně inicializovat zachytávání paketů, které by mohly vyžadovat ruční spuštění na konkrétním virtuálním počítači.
V tomto článku se dozvíte, jak vzdáleně nakonfigurovat, spustit, zastavit, stáhnout a odstranit zachytávání paketů virtuálního počítače pomocí Azure PowerShellu. Informace o správě zachytávání paketů pomocí webu Azure Portal nebo Azure CLI najdete v tématu Správa zachytávání paketů pro virtuální počítače pomocí webu Azure Portal nebo Správa zachytávání paketů pro virtuální počítače pomocí PowerShellu.
Požadavky
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Azure Cloud Shell nebo Azure CLI.
Kroky v tomto článku spouští příkazy Azure CLI interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.
Ke spuštění příkazů můžete také nainstalovat Azure CLI místně . Pokud azure CLI spustíte místně, přihlaste se k Azure pomocí příkazu az login .
Virtuální počítač s následujícím odchozím připojením TCP:
- na účet úložiště přes port 443
- na 169.254.169.254 přes port 80
- na 168.63.129.16 přes port 8037
Poznámka:
- Azure vytvoří instanci služby Network Watcher v oblasti virtuálního počítače, pokud pro danou oblast nebyla povolená služba Network Watcher. Další informace najdete v tématu Povolení nebo zakázání služby Azure Network Watcher.
- Zachytávání paketů Network Watcher vyžaduje, aby bylo na cílovém virtuálním počítači nainstalované rozšíření agenta Network Watcher. Další informace najdete v tématu Instalace agenta Network Watcher.
- Poslední dvě IP adresy a porty uvedené v požadavcích jsou společné pro všechny nástroje Network Watcher, které používají agenta Network Watcher a můžou se občas měnit.
Pokud je skupina zabezpečení sítě přidružená k síťovému rozhraní nebo podsíti, ve které je síťové rozhraní, ujistěte se, že existují pravidla umožňující odchozí připojení přes předchozí porty. Podobně při přidávání tras definovaných uživatelem do sítě zajistěte odchozí připojení přes předchozí porty.
Instalace agenta Network Watcher
Krok 1
Spuštěním az vm extension set
příkazu nainstalujte agenta zachytávání paketů na hostovaný virtuální počítač.
Pro virtuální počítače s Windows:
az vm extension set --resource-group resourceGroupName --vm-name virtualMachineName --publisher Microsoft.Azure.NetworkWatcher --name NetworkWatcherAgentWindows --version 1.4
Pro virtuální počítače s Linuxem:
az vm extension set --resource-group resourceGroupName --vm-name virtualMachineName --publisher Microsoft.Azure.NetworkWatcher --name NetworkWatcherAgentLinux --version 1.4
Krok 2
Pokud chcete zajistit, aby byl agent nainstalovaný, spusťte vm extension show
příkaz a předejte ho skupině prostředků a názvu virtuálního počítače. Zkontrolujte výsledný seznam a ujistěte se, že je agent nainstalovaný.
Pro virtuální počítače s Windows:
az vm extension show --resource-group resourceGroupName --vm-name virtualMachineName --name NetworkWatcherAgentWindows
Pro virtuální počítače s Linuxem:
az vm extension show --resource-group resourceGroupName --vm-name virtualMachineName --name AzureNetworkWatcherExtension
Následující ukázka je příkladem odpovědi ze spuštění. az vm extension show
{
"autoUpgradeMinorVersion": true,
"forceUpdateTag": null,
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/NetworkWatcherAgentWindows",
"instanceView": null,
"location": "westcentralus",
"name": "NetworkWatcherAgentWindows",
"protectedSettings": null,
"provisioningState": "Succeeded",
"publisher": "Microsoft.Azure.NetworkWatcher",
"resourceGroup": "{resourceGroupName}",
"settings": null,
"tags": null,
"type": "Microsoft.Compute/virtualMachines/extensions",
"typeHandlerVersion": "1.4",
"virtualMachineExtensionType": "NetworkWatcherAgentWindows"
}
Spuštění zachytávání paketů
Po dokončení předchozích kroků se na virtuálním počítači nainstaluje agent zachytávání paketů.
Krok 1
Načtení účtu úložiště Tento účet úložiště slouží k ukládání souboru zachytávání paketů.
az storage account list
Krok 2
V tuto chvíli jste připraveni vytvořit zachytávání paketů. Nejprve se podíváme na parametry, které můžete chtít nakonfigurovat. Filtry jsou jedním z takových parametrů, které lze použít k omezení dat uložených zachytáváním paketů. Následující příklad nastaví zachytávání paketů s několika filtry. První tři filtry shromažďují odchozí provoz TCP pouze z místní IP adresy 10.0.0.3 na cílové porty 20, 80 a 443. Poslední filtr shromažďuje pouze přenosy UDP.
az network watcher packet-capture create --resource-group {resourceGroupName} --vm {vmName} --name packetCaptureName --storage-account {storageAccountName} --filters "[{\"protocol\":\"TCP\", \"remoteIPAddress\":\"1.1.1.1-255.255.255.255\",\"localIPAddress\":\"10.0.0.3\", \"remotePort\":\"20\"},{\"protocol\":\"TCP\", \"remoteIPAddress\":\"1.1.1.1-255.255.255.255\",\"localIPAddress\":\"10.0.0.3\", \"remotePort\":\"80\"},{\"protocol\":\"TCP\", \"remoteIPAddress\":\"1.1.1.1-255.255.255.255\",\"localIPAddress\":\"10.0.0.3\", \"remotePort\":\"443\"},{\"protocol\":\"UDP\"}]"
Následující příklad je očekávaný výstup spuštěním az network watcher packet-capture create
příkazu.
{
"bytesToCapturePerPacket": 0,
"etag": "W/\"b8cf3528-2e14-45cb-a7f3-5712ffb687ac\"",
"filters": [
{
"localIpAddress": "10.0.0.3",
"localPort": "",
"protocol": "TCP",
"remoteIpAddress": "1.1.1.1-255.255.255.255",
"remotePort": "20"
},
{
"localIpAddress": "10.0.0.3",
"localPort": "",
"protocol": "TCP",
"remoteIpAddress": "1.1.1.1-255.255.255.255",
"remotePort": "80"
},
{
"localIpAddress": "10.0.0.3",
"localPort": "",
"protocol": "TCP",
"remoteIpAddress": "1.1.1.1-255.255.255.255",
"remotePort": "443"
},
{
"localIpAddress": "",
"localPort": "",
"protocol": "UDP",
"remoteIpAddress": "",
"remotePort": ""
}
],
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_westcentralus/packetCaptures/packetCaptureName",
"name": "packetCaptureName",
"provisioningState": "Succeeded",
"resourceGroup": "NetworkWatcherRG",
"storageLocation": {
"filePath": null,
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/gwteststorage123abc",
"storagePath": "https://gwteststorage123abc.blob.core.windows.net/network-watcher-logs/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/{resourceGroupName}/providers/microsoft.compute/virtualmachines/{vmName}/2017/05/25/packetcapture_16_22_34_630.cap"
},
"target": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}",
"timeLimitInSeconds": 18000,
"totalBytesPerSession": 1073741824
}
Získání zachytávání paketů
Spuštěním az network watcher packet-capture show-status
příkazu načte stav aktuálně spuštěného nebo dokončeného zachytávání paketů.
az network watcher packet-capture show-status --name packetCaptureName --location {networkWatcherLocation}
Následující příklad je výstupem az network watcher packet-capture show-status
příkazu. Následující příklad je, když capture je Zastaveno, s StopReason of TimeExceeded.
{
"additionalProperties": {
"status": "Succeeded"
},
"captureStartTime": "2016-12-06T17:20:01.5671279Z",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_westcentralus/packetCaptures/packetCaptureName",
"name": "packetCaptureName",
"packetCaptureError": [],
"packetCaptureStatus": "Stopped",
"stopReason": "TimeExceeded"
}
Zastavení zachytávání paketů
Spuštěním az network watcher packet-capture stop
příkazu se zastaví relace zachycení.
az network watcher packet-capture stop --name packetCaptureName --location westcentralus
Poznámka:
Příkaz nevrátí žádnou odpověď při spuštění aktuálně spuštěné relace zachytávání nebo existující relace, která už byla zastavena.
Odstranění zachytávání paketů
az network watcher packet-capture delete --name packetCaptureName --location westcentralus
Poznámka:
Odstranění zachytávání paketů neodstraní soubor v účtu úložiště.
Stažení zachytávání paketů
Po dokončení relace zachytávání paketů je možné soubor zachytávání nahrát do úložiště objektů blob nebo do místního souboru na virtuálním počítači. 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í:
https://{storageAccountName}.blob.core.windows.net/network-watcher-logs/subscriptions/{subscriptionId}/resourcegroups/{storageAccountResourceGroup}/providers/microsoft.compute/virtualmachines/{VMName}/{year}/{month}/{day}/packetCapture_{creationTime}.cap
Související obsah
- Informace o automatizaci zachytávání paketů pomocí výstrah virtuálních počítačů najdete v tématu Vytvoření výstrahy aktivovaného zachytávání paketů.
- Pokud chcete zjistit, jestli je konkrétní provoz povolený nebo mimo virtuální počítač, přečtěte si téma Diagnostika problému s filtrováním síťového provozu virtuálního počítače.