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.
- Memulai penangkapan paket
- Hentikan pengambilan paket
- Hapus pengambilan paket
- Unduh 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk