Bagikan melalui


Mengelola pengambilan paket dalam Set skala mesin virtual dengan Azure Network Watcher menggunakan PowerShell

Pengambilan paket Network Watcher memungkinkan Anda membuat sesi pengambilan untuk melacak lalu lintas ke dan dari instans set skala mesin virtual. Filter disediakan untuk sesi pengambilan untuk memastikan Anda hanya mengambil lalu lintas yang Anda inginkan. Pengambilan paket membantu mendiagnosis anomali jaringan, baik secara reaktif maupun proaktif. Kegunaan lain termasuk mengumpulkan statistik jaringan, mendapatkan informasi tentang intrusi jaringan, untuk men-debug komunikasi client-server, dan banyak lagi. Mampu memicu pengambilan paket dari jarak jauh, meringankan beban menjalankan pengambilan paket secara manual pada instans set skala komputer virtual/(s) yang diinginkan, yang menghemat waktu berharga.

Artikel ini mengajak Anda melalui berbagai tugas manajemen yang saat ini tersedia untuk pengambilan paket.

Sebelum Anda mulai

Artikel ini mengasumsikan Anda memiliki sumber daya berikut:

  • Instans Network Watcher di wilayah tempat Anda ingin membuat pengambilan paket

Penting

Penangkapan paket memerlukan ekstensi mesin virtual AzureNetworkWatcherExtension. Untuk memasang ekstensi pada komputer virtual Windows, kunjungi ekstensi komputer virtual Azure Network Watcher Agent untuk Windows dan untuk komputer virtual Linux, kunjungi ekstensi komputer virtual Azure Network Watcher Agent untuk Linux.

Pasang ekstensi set skala mesin virtual

Langkah 1

$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"

Langkah 2

Pasang networkWatcherAgent pada set skala mesin virtual/instans set skala mesin virtual

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.

Langkah 3

Untuk memastikan bahwa agen dipasang, ikuti Langkah 1

Get-AzVMss -ResourceGroupName $vmss.ResourceGroupName  -VMNScaleSetName $vmss.Name

Mulai pengambilan paket

Setelah langkah-langkah sebelumnya selesai, agen pengambilan paket dipasang pada mesin virtual.

Langkah 1

Langkah selanjutnya adalah mengambil instans Network Watcher. Variabel ini diteruskan ke cmdlet New-AzNetworkWatcherPacketCapture di langkah 4.

$networkWatcher = Get-AzNetworkWatcher  | Where {$_.Location -eq "westcentralus" }

Langkah 2

Ambil akun penyimpanan. Akun penyimpanan ini digunakan untuk menyimpan file pengambilan paket.

$storageAccount = Get-AzStorageAccount -ResourceGroupName testrg -Name testrgsa123

Langkah 3

Filter dapat digunakan untuk membatasi data yang disimpan oleh pengambilan paket. Contoh berikut menyiapkan dua filter. Satu filter mengumpulkan lalu lintas TCP keluar hanya dari IP lokal 10.0.0.3 ke port tujuan 20, 80, dan 443. Filter kedua hanya mengumpulkan lalu lintas 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

Catatan

Beberapa filter dapat didefinisikan untuk pengambilan paket.

Langkah 4

Membuat Scope untuk pengambilan paket

$s1 = New-AzPacketCaptureScopeConfig -Include "0", "1"

Langkah 5

Jalankan cmdlet New-AzNetworkWatcherPacketCaptureV2 untuk memulai proses pengambilan paket, melewati nilai yang diperlukan yang diambil dalam langkah-langkah sebelumnya.


New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkwatcher -PacketCaptureName $pcName -TargetId $vmss.Id -TargetType "azurevmss" -StorageAccountId $storageAccount.id -Filter $filter1, $filter2

Mendapatkan pengambilan paket

Menjalankan cmdlet Get-AzNetworkWatcherPacketCapture, mengambil status pengambilan paket yang sedang berjalan, atau selesai.

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

Contoh berikut adalah output dari cmdlet Get-AzNetworkWatcherPacketCapture. Contoh berikut adalah setelah pengambilan selesai. Nilai PacketCaptureStatus Dihentikan, dengan StopReason dari TimeExceeded. Nilai ini menunjukkan bahwa pengambilan paket berhasil dan menjalankan waktunya.

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      : []

Hentikan pengambilan paket

Dengan menjalankan cmdlet Stop-AzNetworkWatcherPacketCapture, jika sesi pengambilan sedang berlangsung, maka itu akan dihentikan.

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

Catatan

Cmdlet tidak mengembalikan respons saat dijalankan pada sesi pengambilan yang sedang berjalan atau sesi yang sudah ada yang telah berhenti.

Hapus pengambilan paket

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

Catatan

Menghapus pengambilan paket tidak menghapus file di akun penyimpanan.

Unduh pengambilan paket

Setelah sesi pengambilan paket Anda selesai, file pengambilan dapat diunggah ke penyimpanan blob atau ke file lokal pada mesin virtual. Lokasi penyimpanan pengambilan paket ditentukan pada saat pembuatan sesi. Alat yang mudah digunakan untuk mengakses file tangkapan yang disimpan ke akun penyimpanan adalah Microsoft Azure Storage Explorer, yang dapat diunduh di sini: https://storageexplorer.com/

Jika akun penyimpanan ditentukan, file pengambilan paket disimpan ke akun penyimpanan pada lokasi berikut:

Jika beberapa instans dipilih

https://{storageAccountName}.blob.core.windows.net/network-watcher-logs/subscriptions/{subscriptionId}/resourcegroups/{storageAccountResourceGroup}/providers/microsoft.compute/virtualmachinescalesets/{VMSSName}/{year}/{month}/{day}/packetCapture_{creationTime}

Jika instans tunggal dipilih

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

Langkah berikutnya

Temukan apakah lalu lintas tertentu diizinkan masuk atau keluar dari komputer virtual Anda dengan mengunjungi Periksa verifikasi alur IP