Virtuális gépek csomagrögzítéseinek kezelése az Azure Network Watcherrel a PowerShell használatával

A Network Watcher csomagrögzítési eszköze lehetővé teszi rögzítési munkamenetek létrehozását az Azure-beli virtuális gépek (virtuális gépek) felé és onnan érkező hálózati forgalom rögzítéséhez. A rögzítési munkamenethez szűrők biztosítják, hogy csak a kívánt forgalmat rögzítse. A csomagrögzítés segít a hálózati rendellenességek újraaktív és proaktív diagnosztizálásában. Alkalmazásai az anomáliadetektáláson túl kiterjednek a hálózati statisztikák gyűjtésére, a hálózati behatolások elemzésére, az ügyfél-kiszolgáló kommunikáció hibakeresésére és a különböző hálózati kihívások kezelésére. A Network Watcher csomagrögzítésével távolról kezdeményezhet csomagrögzítéseket, így egy adott virtuális gépen manuális végrehajtásra van szükség.

Ebből a cikkből megtudhatja, hogyan konfigurálhat, indíthat el, állíthat le, tölthet le és törölhet virtuálisgép-csomagrögzítést az Azure PowerShell használatával. A csomagrögzítések Azure Portalon vagy Azure CLI-vel történő kezeléséről az Azure Portal vagy az Azure CLI használatával a virtuális gépek csomagrögzítéseinek kezelése vagy a virtuális gépek csomagrögzítéseinek kezelése az Azure CLI használatával című témakörben olvashat.

Előfeltételek

  • Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.

  • Azure Cloud Shell vagy Azure PowerShell.

    A cikk lépései interaktív módon futtatják az Azure PowerShell-parancsmagokat az Azure Cloud Shellben. A Cloud Shell parancsainak futtatásához válassza a Kódblokk jobb felső sarkában található Open Cloud Shell lehetőséget. Válassza a Másolás lehetőséget a kód másolásához, majd illessze be a Cloud Shellbe a futtatáshoz. A Cloud Shellt az Azure Portalon is futtathatja.

    Az Azure PowerShellt helyileg is telepítheti a parancsmagok futtatásához. Ehhez a cikkhez az Az PowerShell-modul szükséges. További információ: Az Azure PowerShell telepítése. A telepített verzió azonosításához futtassa a következőt: Get-InstalledModule -Name Az. Ha helyileg futtatja a PowerShellt, jelentkezzen be az Azure-ba az Csatlakozás-AzAccount parancsmaggal.

  • A következő kimenő TCP-kapcsolattal rendelkező virtuális gép:

    • a tárfiókba a 443-as porton keresztül
    • a 169.254.169.254-hez a 80-s porton keresztül
    • 168.63.129.16-ra a 8037-ös porton keresztül

Feljegyzés

  • Az Azure létrehoz egy Network Watcher-példányt a virtuális gép régiójában, ha a Network Watcher nincs engedélyezve az adott régióban. További információ: Az Azure Network Watcher engedélyezése vagy letiltása.
  • A Network Watcher csomagrögzítéséhez a Network Watcher-ügynök virtuálisgép-bővítményét telepíteni kell a cél virtuális gépre. További információ: Network Watcher-ügynök telepítése.
  • Az előfeltételekben felsorolt utolsó két IP-cím és port gyakori az összes Network Watcher-eszközben, amely a Network Watcher-ügynököt használja, és időnként változhat.

Ha a hálózati adapterhez vagy alhálózathoz hálózati biztonsági csoport van társítva, győződjön meg arról, hogy léteznek olyan szabályok, amelyek engedélyezik a kimenő kapcsolatot az előző portokon. Hasonlóképpen biztosítson kimenő kapcsolatot az előző portokon, amikor felhasználó által megadott útvonalakat ad hozzá a hálózathoz.

A Network Watcher-ügynök telepítése

A csomagrögzítés használatához telepíteni kell a Network Watcher ügynök virtuálisgép-bővítményét a virtuális gépre.

A Get-AzVMExtension parancsmaggal ellenőrizze, hogy a bővítmény telepítve van-e a virtuális gépen:

# List the installed extensions on the virtual machine.
Get-AzVMExtension -VMName 'myVM' -ResourceGroupName 'myResourceGroup' | format-table Name, Publisher, ExtensionType, EnableAutomaticUpgrade 

Ha a bővítmény telepítve van a virtuális gépen, akkor az előző parancs kimenetében látható:

Name                         Publisher                      ExtensionType            EnableAutomaticUpgrade
----                         ---------                      -------------            ----------------------
AzureNetworkWatcherExtension Microsoft.Azure.NetworkWatcher NetworkWatcherAgentLinux                   True

Ha a bővítmény nincs telepítve, telepítse a Set-AzVMExtension parancsmagot:

# Install Network Watcher agent on a Linux virtual machine.
Set-AzVMExtension -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentLinux' -Name 'AzureNetworkWatcherExtension' -VMName 'myVM' -ResourceGroupName 'myResourceGroup' -TypeHandlerVersion '1.4' -EnableAutomaticUpgrade 1 
# Install Network Watcher agent on a Windows virtual machine.
Set-AzVMExtension -Publisher 'Microsoft.Azure.NetworkWatcher' -ExtensionType 'NetworkWatcherAgentWindows' -Name 'AzureNetworkWatcherExtension' -VMName 'myVM' -ResourceGroupName 'myResourceGroup' -TypeHandlerVersion '1.4' -EnableAutomaticUpgrade 1 

A bővítmény sikeres telepítése után a következő kimenet jelenik meg:

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK 

Csomagrögzítés indítása

Rögzítési munkamenet indításához használja a New-AzNetworkWatcherPacketCapture parancsmagot:

# Place the virtual machine configuration into a variable.
$vm = Get-AzVM -ResourceGroupName 'myResourceGroup' -Name 'myVM'

# Place the storage account configuration into a variable.
$storageAccount = Get-AzStorageAccount -ResourceGroupName 'myResourceGroup' -Name 'mystorageaccount'

# Start the Network Watcher capture session.
New-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1' -TargetVirtualMachineId $vm.Id  -StorageAccountId $storageAccount.Id 

A rögzítési munkamenet elindítása után a következő kimenet jelenik meg:

ProvisioningState Name   BytesToCapturePerPacket TotalBytesPerSession TimeLimitInSeconds
----------------- ----   ----------------------- -------------------- ------------------
Succeeded         myVM_1 0                       1073741824           18000

Az alábbi táblázat a parancsmaggal New-AzNetworkWatcherPacketCapture használható választható paramétereket ismerteti:

Paraméter leírás
-Filter Szűrő(k) hozzáadása csak a kívánt forgalom rögzítéséhez. Például csak a TCP-forgalmat rögzítheti egy adott IP-címről egy adott portra.
-TimeLimitInSeconds Adja meg a rögzítési munkamenet maximális időtartamát. Az alapértelmezett érték 18000 másodperc (5 óra).
-BytesToCapturePerPacket Állítsa be az egyes csomagokhoz rögzítendő bájtok maximális számát. A rendszer minden bájtot rögzít, ha nincs használatban, vagy 0 értéket ad meg.
-TotalBytesPerSession Adja meg a rögzített bájtok teljes számát. Az érték elérése után a csomagrögzítés leáll. Ha nincs használatban, legfeljebb 1 GB (1 073 741 824 bájt) rögzíthető.
-LocalFilePath Adjon meg egy érvényes helyi fájl elérési útját, ha a rögzítést a cél virtuális gépen szeretné menteni (például C:\Capture\myVM_1.cap). Linux rendszerű gép használata esetén az elérési útnak a /var/captures paranccsal kell kezdődnie.

Csomagrögzítés leállítása

A Stop-AzNetworkWatcherPacketCapture parancsmaggal manuálisan állíthat le egy futó csomagrögzítési munkamenetet.

# Manually stop a packet capture session.
Stop-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1'

Feljegyzés

A parancsmag nem ad vissza választ, függetlenül attól, hogy egy éppen futó rögzítési munkameneten vagy egy már leállított munkameneten futott-e.

Csomagrögzítés lekérése

A Get-AzNetworkWatcherPacketCapture parancsmaggal lekérheti a csomagrögzítés állapotát (fut vagy befejeződött).

# Get information, properties, and status of a packet capture.
Get-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1'

Az alábbi kimenet egy példa a parancsmag kimenetére Get-AzNetworkWatcherPacketCapture . A következő példa a rögzítés befejezése után következik. A PacketCaptureStatus értéke Leállítva, a TimeExceeded stopReason értékével. Ez az érték azt mutatja, hogy a csomagrögzítés sikeres volt, és futott az ideje.

ProvisioningState Name   Target                                                                                                                              BytesToCapturePerPacket TotalBytesPerSession TimeLimitInSeconds
----------------- ----   ------                                                                                                                              ----------------------- -------------------- ------------------
Succeeded         myVM_1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM 0                       1073741824           18000

Feljegyzés

Ha további részleteket szeretne megtudni a kimenetben, adja hozzá | Format-List a parancs végéhez.

Csomagrögzítés letöltése

A csomagrögzítési munkamenet befejezése után az eredményül kapott rögzítési fájl az Azure Storage-ba, a cél virtuális gépen lévő helyi fájlba vagy mindkettőbe lesz mentve. A csomagrögzítés tárolási célhelye a létrehozás során van megadva. További információ: Csomagrögzítés indítása.

Ha meg van adva tárfiók, a rendszer a rögzítési fájlokat a következő elérési úton menti a tárfiókba:

https://{storageAccountName}.blob.core.windows.net/network-watcher-logs/subscriptions/{subscriptionId}/resourcegroups/{storageAccountResourceGroup}/providers/microsoft.compute/virtualmachines/{virtualMachineName}/{year}/{month}/{day}/packetcapture_{UTCcreationTime}.cap

Az Azure Storage-ba mentett csomagrögzítő fájl letöltéséhez használja a Get-AzStorageBlobContent parancsmagot:

# Download the packet capture file from Azure storage container.
Get-AzStorageBlobContent -Container 'network-watcher-logs' -Blob 'subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm/2024/01/25/packetcapture_22_44_54_342.cap' -Destination 'C:\Capture\myVM_1.cap'

Feljegyzés

A rögzítési fájlt az Azure Storage Explorerrel is letöltheti a tárfiók tárolójából. A Storage Explorer egy önálló alkalmazás, amely kényelmesen használható az Azure Storage-adatok eléréséhez és kezeléséhez. További információ: A Storage Explorer használatának első lépései.

Csomagrögzítés törlése

# Remove a packet capture resource.
Remove-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1'

Fontos

A Network Watcher csomagrögzítésének törlése nem törli a rögzítési fájlt a tárfiókból vagy a virtuális gépről. Ha már nincs szüksége a rögzítési fájlra, manuálisan kell törölnie a tárfiókból, hogy elkerülje a tárolási költségek felmerülését.