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
  • 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.