Gerenciar capturas de pacotes com o Azure Network Watcher
Artigo
Neste artigo, você aprenderá a usar o recurso de captura de pacotes do Observador de Rede do Azure para configurar, iniciar, parar, baixar e excluir remotamente capturas de pacotes de máquina virtual.
Uma máquina virtual (VM) ou uma escala de máquina virtual definida com conectividade TCP de saída para: 169.254.169.254 sobre porta 80 e 168.63.129.16 sobre porta 8037. A extensão VM do agente do Inspetor de Rede usa esses endereços IP para se comunicar com a plataforma Azure.
Extensão de VM do Network Watcher Agent instalada na máquina virtual de destino. Sempre que você usa a captura de pacotes do Inspetor de Rede no portal do Azure, o agente é instalado automaticamente na VM de destino ou no conjunto de escala, caso não tenha sido instalado anteriormente. Para atualizar um agente já instalado, consulte Atualizar a extensão do Azure Network Watcher para a versão mais recente.
Uma máquina virtual (VM) com conectividade TCP de saída para: 169.254.169.254 sobre porta 80 e 168.63.129.16 sobre porta 8037. A extensão VM do agente do Inspetor de Rede usa esses endereços IP para se comunicar com a plataforma Azure.
As etapas neste artigo executam os cmdlets do Azure PowerShell interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Open Cloud Shell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e cole-o no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell de dentro do portal do Azure.
Você também pode instalar o Azure PowerShell localmente para executar os cmdlets. Este artigo requer o módulo Az PowerShell. Para obter mais informações, consulte Como instalar o Azure PowerShell. Se você executar o PowerShell localmente, entre no Azure usando o cmdlet Connect-AzAccount .
Uma máquina virtual (VM) com conectividade TCP de saída para: 169.254.169.254 sobre porta 80 e 168.63.129.16 sobre porta 8037. A extensão VM do agente do Inspetor de Rede usa esses endereços IP para se comunicar com a plataforma Azure.
As etapas neste artigo executam os comandos da CLI do Azure interativamente no Azure Cloud Shell. Para executar os comandos no Cloud Shell, selecione Open Cloud Shell no canto superior direito de um bloco de código. Selecione Copiar para copiar o código e cole-o no Cloud Shell para executá-lo. Você também pode executar o Cloud Shell de dentro do portal do Azure.
O Azure cria uma instância do Inspetor de Rede na região da máquina virtual se o Inspetor de Rede não estiver habilitado para essa região. Para obter mais informações, consulte Habilitar ou desabilitar o Azure Network Watcher.
Se um grupo de segurança de rede estiver associado à interface de rede ou sub-rede em que a interface de rede se encontra, verifique se existem regras para permitir a conectividade de saída nas portas anteriores. Da mesma forma, garanta a conectividade de saída sobre as portas anteriores ao adicionar rotas definidas pelo usuário à sua rede.
Para iniciar uma sessão de captura, use as seguintes etapas:
Na caixa de pesquisa na parte superior do portal, introduza Observador de Rede. Selecione Inspetor de Rede nos resultados da pesquisa.
Selecione Captura de pacotes em Ferramentas de diagnóstico de rede e, em seguida, selecione + Adicionar para criar uma captura de pacote.
Em Adicionar captura de pacote, insira ou selecione valores para as seguintes configurações:
Definição
Value
Detalhes Básicos
Subscrição
Selecione a assinatura do Azure da máquina virtual.
Grupo de recursos
Selecione o grupo de recursos da máquina virtual.
Tipo de destino
Selecione Máquina virtual ou Conjunto de dimensionamento de máquina virtual.
Conjunto de dimensionamento da máquina virtual de destino
Selecione o conjunto de dimensionamento da máquina virtual. Esta opção estará disponível se você selecionar Escala de máquina virtual definida como o tipo de destino.
Instância de destino
Selecione a máquina virtual ou dimensione a instância do conjunto.
Nome da captura de pacote
Insira um nome ou deixe o nome padrão.
Configuração de captura de pacotes
Local de captura
Selecione Conta de armazenamento (opção padrão), Arquivo ou Ambos.
Conta de armazenamento
Selecione sua contade armazenamento padrão 1. Essa opção estará disponível se você selecionar Conta de armazenamento ou Ambos como um local de captura. A conta de armazenamento deve estar na mesma região da instância de destino.
Caminho do arquivo local
Insira um caminho de arquivo local válido onde você deseja que a captura seja salva na máquina virtual de destino. Se você estiver usando uma máquina Linux, o caminho pode começar com /var/captures. Se você estiver usando uma máquina Windows, o caminho pode começar com C:\Captures. Essa opção estará disponível se você selecionar Arquivo ou Ambos como um local de captura.
Máximo de bytes por pacote
Insira o número máximo de bytes a serem capturados por cada pacote. Todos os bytes são capturados se deixados em branco ou 0 inserido.
Máximo de bytes por sessão
Insira o número total de bytes capturados. Quando o valor é atingido, a captura de pacotes é interrompida. Até 1 GB é capturado se deixado em branco.
Limite de tempo (segundos)
Insira o limite de tempo da sessão de captura de pacotes em segundos. Quando o valor é atingido, a captura de pacotes é interrompida. Até 5 horas (18.000 segundos) são capturadas se deixadas em branco.
Filtragem (opcional)
Adicionar critérios de filtro
Selecione Adicionar critérios de filtro para adicionar um novo filtro. Você pode definir quantos filtros precisar.
Protocolo
Filtra a captura de pacotes com base no protocolo selecionado. Os valores disponíveis são TCP, UDP ou Any.
EndereçoIP local 2
Filtra a captura de pacotes para pacotes em que o endereço IP local corresponde a esse valor.
Portalocal 2
Filtra a captura de pacotes para pacotes em que a porta local corresponde a esse valor.
EndereçoIP remoto 2
Filtra a captura de pacotes para pacotes em que o endereço IP remoto corresponde a esse valor.
Portaremota 2
Filtra a captura de pacotes para pacotes em que a porta remota corresponde a esse valor.
1 Atualmente, as contas de armazenamento Premium não são suportadas para armazenar capturas de pacotes.
2 Os valores de porta e endereço IP podem ser um único valor, um intervalo como 80-1024 ou vários valores como 80, 443.
Selecione Iniciar captura de pacotes.
A captura de pacotes para quando o limite de tempo ou o tamanho do arquivo (máximo de bytes por sessão) é atingido.
Adicione filtro(s) para capturar apenas o tráfego desejado. Por exemplo, você pode capturar apenas o tráfego TCP de um endereço IP específico para uma porta específica.
-TimeLimitInSeconds
Defina a duração máxima da sessão de captura. O valor padrão é 18000 segundos (5 horas).
-BytesToCapturePerPacket
Defina o número máximo de bytes a serem capturados por cada pacote. Todos os bytes são capturados se não forem usados ou 0 inserido.
-TotalBytesPerSession
Defina o número total de bytes capturados. Quando o valor é atingido, a captura de pacotes é interrompida. Até 1 GB (1.073.741.824 bytes) é capturado se não for usado.
-LocalFilePath
Insira um caminho de arquivo local válido se desejar que a captura seja salva na máquina virtual de destino (por exemplo, C:\Capture\myVM_1.cap). Se você estiver usando uma máquina Linux, o caminho deve começar com /var/captures.
A captura de pacotes para quando o limite de tempo ou o tamanho do arquivo (máximo de bytes por sessão) é atingido.
# Start the Network Watcher capture session.
az network watcher packet-capture create --name 'myVM_1' --resource-group 'myResourceGroup' --vm 'myVM' --storage-account 'mystorageaccount'
# Start the Network Watcher capture session (storage account is in different resource group from the VM).
az network watcher packet-capture create --name 'myVM_1' --resource-group 'myResourceGroup' --vm 'myVM' --storage-account '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup2/providers/Microsoft.Storage/storageAccounts/mystorageaccount'
Depois que a sessão de captura for iniciada, você verá a seguinte saída:
Adicione filtro(s) para capturar apenas o tráfego desejado. Por exemplo, você pode capturar apenas o tráfego TCP de um endereço IP específico para uma porta específica.
--time-limit
Defina a duração máxima da sessão de captura. O valor padrão é 18000 segundos (5 horas).
--capture-size
Defina o número máximo de bytes a serem capturados por cada pacote. Todos os bytes são capturados se não forem usados ou 0 inserido.
--capture-limit
Defina o número total de bytes capturados. Quando o valor é atingido, a captura de pacotes é interrompida. Até 1 GB (1.073.741.824 bytes) é capturado se não for usado.
--file-path
Insira um caminho de arquivo local válido se desejar que a captura seja salva na máquina virtual de destino (por exemplo, C:\Capture\myVM_1.cap). Se você estiver usando uma máquina Linux, o caminho deve começar com /var/captures.
A captura de pacotes para quando o limite de tempo ou o tamanho do arquivo (máximo de bytes por sessão) é atingido.
Para interromper manualmente uma sessão de captura de pacotes antes que ela atinja seus limites de tempo ou tamanho de arquivo, selecione as reticências ... no lado direito da captura de pacotes, ou clique com o botão direito do mouse nela e selecione Parar.
Para interromper manualmente uma sessão de captura de pacotes antes que ela atinja seus limites de tempo ou tamanho de arquivo, use o cmdlet Stop-AzNetworkWatcherPacketCapture .
# Get information, properties, and status of a packet capture.
Get-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1'
A saída a seguir é um exemplo da saída do Get-AzNetworkWatcherPacketCapture cmdlet. O exemplo a seguir é após a conclusão da captura. O valor PacketCaptureStatus é Stopped, com um StopReason de TimeExceeded. Esse valor mostra que a captura de pacotes foi bem-sucedida e executou seu tempo.
# Get information, properties, and status of a packet capture.
az network watcher packet-capture show-status --location 'eastus' --name 'myVM_1'
O exemplo a seguir é a saída do az network watcher packet-capture show-status comando. Você pode ver que o valor packetCaptureStatus é Stopped, com um valor StopReason de TimeExceeded:
Depois de concluir sua sessão de captura de pacotes, o arquivo de captura resultante é salvo no armazenamento do Azure, em um arquivo local na máquina virtual de destino ou em ambos. O destino de armazenamento para a captura de pacotes é especificado durante sua criação. Para obter mais informações, consulte a seção Iniciar uma captura de pacotes.
Para baixar um arquivo de captura de pacote salvo no armazenamento do Azure, siga estas etapas:
Na página Captura de pacotes, selecione a captura de pacote que você deseja baixar seu arquivo.
Na seção Detalhes, selecione o link do arquivo de captura de pacote.
Na página blob, selecione Download.
Nota
Você também pode baixar arquivos de captura do contêiner da conta de armazenamento usando o portal do Azure ou o Gerenciadorde Armazenamento 1 no seguinte caminho:
1 O Gerenciador de Armazenamento é um aplicativo autônomo que você pode usar convenientemente para acessar e trabalhar com dados do Armazenamento do Azure. Para obter mais informações, consulte Introdução ao Storage Explorer.
Para baixar um arquivo de captura de pacote salvo na máquina virtual (VM), conecte-se à VM e baixe o arquivo do caminho local especificado durante a criação da captura de pacote.
Depois de concluir sua sessão de captura de pacotes, o arquivo de captura resultante é salvo no armazenamento do Azure, em um arquivo local na máquina virtual de destino ou em ambos. O destino de armazenamento para a captura de pacotes é especificado durante sua criação. Para obter mais informações, consulte a seção Iniciar uma captura de pacotes.
Se uma conta de armazenamento for especificada, os arquivos de captura serão salvos na conta de armazenamento no seguinte caminho:
# Download the packet capture file from Azure storage container.
Get-AzStorageBlobContent -Container 'network-watcher-logs' -Blob '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm/2024/01/25/packetcapture_22_44_54_342.cap' -Destination 'C:\Capture\myVM_1.cap'
Nota
Você também pode baixar o arquivo de captura do contêiner da conta de armazenamento usando o Gerenciador de Armazenamento do Azure. O Gerenciador de Armazenamento é um aplicativo autônomo que você pode usar convenientemente para acessar e trabalhar com dados do Armazenamento do Azure. Para obter mais informações, consulte Introdução ao Storage Explorer.
Depois de concluir sua sessão de captura de pacotes, o arquivo de captura resultante é salvo no armazenamento do Azure, em um arquivo local na máquina virtual de destino ou em ambos. O destino de armazenamento para a captura de pacotes é especificado durante sua criação. Para obter mais informações, consulte a seção Iniciar uma captura de pacotes.
Se uma conta de armazenamento for especificada, os arquivos de captura serão salvos na conta de armazenamento no seguinte caminho:
# Download the packet capture file from Azure storage container.
az storage blob download --container-name 'network-watcher-logs' --blob-url '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm/2024/01/25/packetcapture_22_44_54_342.cap' --file 'C:\Capture\myVM_1.cap'
Nota
Você também pode baixar o arquivo de captura do contêiner da conta de armazenamento usando o Gerenciador de Armazenamento do Azure. O Gerenciador de Armazenamento é um aplicativo autônomo que você pode usar convenientemente para acessar e trabalhar com dados do Armazenamento do Azure. Para obter mais informações, consulte Introdução ao Storage Explorer.
Na página Captura de pacotes, selecione ... no lado direito da captura de pacotes que você deseja excluir ou clique com o botão direito do mouse nela e selecione Excluir.
# Delete a packet capture resource.
az network watcher packet-capture delete --location 'eastus' --name 'myVM_1'
Importante
A exclusão do recurso de captura de pacotes no Inspetor de Rede não exclui o arquivo de captura da conta de armazenamento ou da máquina virtual. Se você não precisar mais do arquivo de captura, deverá excluí-lo manualmente da conta de armazenamento ou da máquina virtual.
Conteúdos relacionados
Para saber como automatizar capturas de pacotes com alertas de máquina virtual, consulte Criar uma captura de pacote acionada por alerta.
Para saber como analisar um arquivo de captura de pacotes do Network Watcher usando o Wireshark, consulte Inspecionar e analisar arquivos de captura de pacotes do Network Watcher.