Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запись пакетов Network Watcher позволяет создавать сеансы захвата для отслеживания трафика в(из) экземпляр(ы) масштабируемого набора виртуальных машин. Фильтры предоставляются для сеанса записи, чтобы обеспечить запись только нужного трафика. Запись пакетов помогает диагностировать аномалии сети как в ответ на проблемы, так и упреждающе. Другие виды использования включают сбор статистики сети, получение информации о сетевых вторжениях, отладку связи между клиентом и сервером и многое другое. Возможность удаленного запуска захвата пакетов упрощает выполнение этой задачи вручную на одном или нескольких экземплярах масштабируемого набора виртуальных машин, что экономит ценное время.
В этой статье описаны различные задачи управления, доступные в настоящее время для записи пакетов.
Перед началом работы
В этой статье предполагается, что у вас есть следующие ресурсы:
- Экземпляр Network Watcher в регионе, в котором вы хотите создать запись пакетов
Важный
Для захвата пакетов требуется расширение масштабируемого набора виртуальных машин AzureNetworkWatcherExtension
. Чтобы установить расширение на виртуальной машине Windows, посетите раздел расширение виртуальной машины агента наблюдателя за сетями Azure для Windows, а для виртуальной машины Linux посетите раздел расширение виртуальной машины агента наблюдателя за сетями Azure для Linux.
Установка расширения масштабируемого набора виртуальных машин
Шаг 1
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Шаг 2
Установка networkWatcherAgent на масштабируемом наборе виртуальных машин или экземпляре масштабируемого набора виртуальных машин
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.
Шаг 3
Чтобы убедиться, что агент установлен, выполните шаг 1.
Get-AzVMss -ResourceGroupName $vmss.ResourceGroupName -VMNScaleSetName $vmss.Name
Запуск записи пакетов
После завершения предыдущих шагов агент записи пакетов устанавливается в масштабируемом наборе виртуальных машин.
Шаг 1
Следующий шаг — извлечение экземпляра Network Watcher. Эта переменная передается командлету New-AzNetworkWatcherPacketCapture
на шаге 4.
$networkWatcher = Get-AzNetworkWatcher | Where {$_.Location -eq "westcentralus" }
Шаг 2
Восстановление учетной записи хранения. Эта учетная запись хранения используется для хранения файла записи пакетов.
$storageAccount = Get-AzStorageAccount -ResourceGroupName testrg -Name testrgsa123
Шаг 3
Фильтры можно использовать для ограничения данных, хранящихся в записи пакетов. В следующем примере настраивается два фильтра. Один фильтр собирает исходящий TCP-трафик только из локального IP-адреса 10.0.0.3 на конечные порты 20, 80 и 443. Второй фильтр собирает только трафик 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
Заметка
Для записи пакетов можно определить несколько фильтров.
Шаг 4
Создание среды для захвата пакетов
$s1 = New-AzPacketCaptureScopeConfig -Include "0", "1"
Шаг 5
Запустите командлет New-AzNetworkWatcherPacketCaptureV2
, чтобы запустить процесс записи пакетов, передав необходимые значения, полученные на предыдущих шагах.
New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkwatcher -PacketCaptureName $pcName -TargetId $vmss.Id -TargetType "azurevmss" -StorageAccountId $storageAccount.id -Filter $filter1, $filter2
Получение записи пакетов
При запуске командлета Get-AzNetworkWatcherPacketCapture
извлекается информация о состоянии выполнения текущего или завершенного захвата пакетов.
Get-AzNetworkWatcherPacketCapture -NetworkWatcher $networkWatcher -PacketCaptureName "PacketCaptureTest"
В следующем примере показаны данные, полученные с помощью командлета Get-AzNetworkWatcherPacketCapture
. В следующем примере представлен результат после завершения записи. Значение PacketCaptureStatus — остановлено со StopReason «время превышено». Это значение показывает, что запись пакетов прошла успешно и завершилась.
Name : PacketCaptureTest
Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatcher
s/NetworkWatcher_westcentralus/packetCaptures/PacketCaptureTest
Etag : W/"4b9a81ed-dc63-472e-869e-96d7166ccb9b"
ProvisioningState : Succeeded
Target : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1
BytesToCapturePerPacket : 0
TotalBytesPerSession : 1073741824
TimeLimitInSeconds : 60
StorageLocation : {
"StorageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 : []
Остановка записи пакетов
Выполнив командлет Stop-AzNetworkWatcherPacketCapture
, если сеанс записи выполняется, он будет остановлен.
Stop-AzNetworkWatcherPacketCapture -NetworkWatcher $networkWatcher -PacketCaptureName "PacketCaptureTest"
Заметка
Командлет не возвращает ответ при запуске в текущем сеансе захвата или в существующем сеансе, который уже завершен.
Удаление записи пакетов
Remove-AzNetworkWatcherPacketCapture -NetworkWatcher $networkWatcher -PacketCaptureName "PacketCaptureTest"
Заметка
Удаление записи пакетов не удаляет файл в учетной записи хранения.
Скачать перехват пакетов
После завершения сеанса записи пакетов файл можно отправить в хранилище BLOB-объектов или в локальный файл на экземпляре. Место хранения записи пакетов определяется при создании сеанса. Удобное средство для доступа к этим файлам записи, сохраненным в учетной записи хранения, — это Обозреватель службы хранилища Microsoft Azure, который можно скачать здесь: https://storageexplorer.com/
Если указана учетная запись хранения, файлы записи пакетов сохраняются в учетной записи хранения в следующем расположении:
Если выбрано несколько инстанций
https://{storageAccountName}.blob.core.windows.net/network-watcher-logs/subscriptions/{subscriptionId}/resourcegroups/{storageAccountResourceGroup}/providers/microsoft.compute/virtualmachinescalesets/{VMSSName}/{year}/{month}/{day}/packetCapture_{creationTime}
Если выбран один экземпляр
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
Дальнейшие действия
Узнайте, разрешен ли определенный трафик в виртуальной машине или из нее, перейдя проверка потока IP