Gestire le acquisizioni di pacchetti con Azure Network Watcher
Articolo
Questo articolo illustra come usare la funzionalità di acquisizione pacchetti di Azure Network Watcher per configurare, avviare, arrestare, scaricare ed eliminare acquisizioni di pacchetti di macchine virtuali in remoto.
Una macchina virtuale (VM) o un set di scalabilità di macchine virtuali con connettività TCP in uscita a: 169.254.169.254 sulla porta 80 e 168.63.129.16 sulla porta 8037. L'estensione macchina virtuale dell'agente Network Watcher usa questi indirizzi IP per comunicare con la piattaforma Azure.
Estensione macchina virtuale dell'agente Network Watcher installata nella macchina virtuale di destinazione. Ogni volta che si usa l'acquisizione di pacchetti network Watcher nel portale di Azure, l'agente viene installato automaticamente nella macchina virtuale di destinazione o nel set di scalabilità se non è stato installato in precedenza. Per aggiornare un agente già installato, vedere Aggiornare l'estensione Azure Network Watcher alla versione più recente.
Una macchina virtuale (VM) con connettività TCP in uscita a: 169.254.169.254 su porta 80 e 168.63.129.16 su porta 8037. L'estensione macchina virtuale dell'agente Network Watcher usa questi indirizzi IP per comunicare con la piattaforma Azure.
I passaggi descritti in questo articolo eseguono i cmdlet di Azure PowerShell in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire Cloud Shell dal portale di Azure.
È anche possibile installare Azure PowerShell in locale per eseguire i cmdlet. In questo articolo si presuppone che il modulo Azure PowerShell sia disponibile. Per altre informazioni, vedere Installare Azure PowerShell. Se si esegue PowerShell in locale, accedere ad Azure usando il cmdlet Connect-AzAccount.
Una macchina virtuale (VM) con connettività TCP in uscita a: 169.254.169.254 su porta 80 e 168.63.129.16 su porta 8037. L'estensione macchina virtuale dell'agente Network Watcher usa questi indirizzi IP per comunicare con la piattaforma Azure.
Azure Cloud Shell o interfaccia della riga di comando di Azure.
I passaggi descritti in questo articolo eseguono i comandi dell'interfaccia della riga di comando di Azurel in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire Cloud Shell dal portale di Azure.
Azure crea un'istanza di Network Watcher nell'area della macchina virtuale se Network Watcher non è stato abilitato per tale area. Per altre informazioni, vedere Abilitare o disabilitare Azure Network Watcher.
Se un gruppo di sicurezza di rete è associato all'interfaccia di rete o alla subnet in cui si trova l'interfaccia di rete, assicurarsi che le regole esistano per consentire la connettività in uscita sulle porte precedenti. Analogamente, assicurarsi la connettività in uscita sulle porte precedenti quando si aggiungono route definite dall'utente alla rete.
Per avviare una sessione di acquisizione, seguire questa procedura:
Nella casella di ricerca nella parte superiore del portale immettere Network Watcher. Nei risultati della ricerca selezionare Network Watcher.
Selezionare Acquisizione pacchetti in Strumenti di diagnostica di rete, quindi selezionare + Aggiungi per creare un'acquisizione di pacchetti.
In Aggiungi acquisizione pacchetti immettere o selezionare i valori per le impostazioni seguenti:
Impostazione
Valore
Dettagli di base
Abbonamento
Selezionare la sottoscrizione di Azure della macchina virtuale.
Gruppo di risorse
Selezionare il gruppo di risorse della macchina virtuale.
Tipo di destinazione
Selezionare Macchina virtuale o Set di scalabilità di macchine virtuali.
Set di scalabilità di macchine virtuali di destinazione
Selezionare il set di scalabilità di macchine virtuali. Questa opzione è disponibile se si seleziona Set di scalabilità di macchine virtuali come tipo di destinazione.
Istanza di destinazione
Selezionare l'istanza della macchina virtuale o del set di scalabilità.
Nome acquisizione pacchetti
Immettere un nome o lasciare il nome predefinito.
Configurazione dell'acquisizione di pacchetti
Percorso di acquisizione
Selezionare Account di archiviazione (opzione predefinita), File o Entrambi.
Account di archiviazione
Selezionare l'account di archiviazione Standard 1. Questa opzione è disponibile se si seleziona Account di archiviazione o Entrambi come posizione di acquisizione. L'account di archiviazione deve trovarsi nella stessa area dell'istanza di destinazione.
Percorso del file locale
Immettere un percorso di file locale valido in cui si vuole salvare l'acquisizione nella macchina virtuale di destinazione. Se si usa un computer Linux, il percorso può iniziare con /var/captures. Se si usa un computer Windows, il percorso può iniziare con C:\Captures. Questa opzione è disponibile se si seleziona File o Entrambi come percorso di acquisizione.
Numero massimo di byte per pacchetto
Immettere il numero massimo di byte da acquisire per ogni pacchetto. Se questa opzione viene lasciata vuota o si immette 0, vengono acquisiti tutti i byte.
Numero massimo di byte per sessione
Immettere il numero totale di byte acquisiti. Una volta raggiunto il valore, l'acquisizione pacchetti si arresta. Se questa opzione viene lasciata vuota, vengono acquisiti fino a 1 GB.
Limite di tempo (secondi)
Immettere il limite di tempo della sessione di acquisizione pacchetti in secondi. Una volta raggiunto il valore, l'acquisizione pacchetti si arresta. Se questa opzione viene lasciata vuota, vengono acquisite fino a 5 ore (18.000 secondi).
Filtro (facoltativo)
Aggiungere criteri di filtro
Selezionare Aggiungi criteri di filtro per aggiungere un nuovo filtro. È possibile definire tutti i filtri desiderati.
Protocollo
Filtra l'acquisizione di pacchetti in base al protocollo selezionato. I valori disponibili sono TCP, UDP o Any.
IndirizzoIP locale 2
Filtra l'acquisizione di pacchetti in base ai pacchetti in cui l'indirizzo IP locale corrisponde a questo valore.
Portalocale 2
Filtra l'acquisizione di pacchetti in base ai pacchetti in cui la porta locale corrisponde a questo valore.
IndirizzoIP remoto 2
Filtra l'acquisizione di pacchetti in base ai pacchetti in cui l'indirizzo IP remoto corrisponde a questo valore.
Porta remota 2
Filtra l'acquisizione di pacchetti in base ai pacchetti in cui la porta remota corrisponde a questo valore.
1 Gli account di archiviazione Premium non sono attualmente supportati per l'archiviazione delle acquisizioni di pacchetti.
2 I valori di indirizzo IP e porta possono essere un singolo valore, un intervallo come 80-1024 o più valori, ad esempio 80, 443.
Selezionare Avvia acquisizione pacchetti.
L'acquisizione di pacchetti si arresta una volta raggiunto il limite di tempo o le dimensioni del file (byte massimi per sessione).
Aggiungere filtri per acquisire solo il traffico desiderato. Ad esempio, è possibile acquisire solo il traffico TCP da un indirizzo IP specifico a una porta specifica.
-TimeLimitInSeconds
Impostare la durata massima della sessione di acquisizione. Il valore predefinito è 18000 secondi (5 ore).
-BytesToCapturePerPacket
Impostare il numero massimo di byte da acquisire per ogni pacchetto. Tutti i byte vengono acquisiti se non vengono utilizzati o 0 immessi.
-TotalBytesPerSession
Impostare il numero totale di byte acquisiti. Una volta raggiunto il valore, l'acquisizione pacchetti si arresta. Se non viene usato, vengono acquisiti fino a 1 GB (1.073.741.824 byte).
-LocalFilePath
Immettere un percorso di file locale valido se si vuole salvare l'acquisizione nella macchina virtuale di destinazione, ad esempio C:\Capture\myVM_1.cap. Se si usa un computer Linux, il percorso deve iniziare con /var/captures.
L'acquisizione di pacchetti si arresta una volta raggiunto il limite di tempo o le dimensioni del file (byte massimi per sessione).
# 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'
Dopo l'avvio della sessione di acquisizione, viene visualizzato l'output seguente:
Aggiungere filtri per acquisire solo il traffico desiderato. Ad esempio, è possibile acquisire solo il traffico TCP da un indirizzo IP specifico a una porta specifica.
--time-limit
Impostare la durata massima della sessione di acquisizione. Il valore predefinito è 18000 secondi (5 ore).
--capture-size
Impostare il numero massimo di byte da acquisire per ogni pacchetto. Tutti i byte vengono acquisiti se non vengono utilizzati o 0 immessi.
--capture-limit
Impostare il numero totale di byte acquisiti. Una volta raggiunto il valore, l'acquisizione pacchetti si arresta. Se non viene usato, vengono acquisiti fino a 1 GB (1.073.741.824 byte).
--file-path
Immettere un percorso di file locale valido se si vuole salvare l'acquisizione nella macchina virtuale di destinazione, ad esempio C:\Capture\myVM_1.cap. Se si usa un computer Linux, il percorso deve iniziare con /var/captures.
L'acquisizione di pacchetti si arresta una volta raggiunto il limite di tempo o le dimensioni del file (byte massimi per sessione).
Per arrestare manualmente una sessione di acquisizione di pacchetti prima che raggiunga i limiti di tempo o dimensioni dei file, selezionare i puntini di sospensione ... sul lato destro dell'acquisizione di pacchetti oppure fare clic con il pulsante destro del mouse su di esso, quindi scegliere Arresta.
Per arrestare manualmente una sessione di acquisizione di pacchetti prima che raggiunga i limiti di tempo o dimensioni dei file, usare il cmdlet Stop-AzNetworkWatcherPacketCapture .
Il cmdlet non restituisce una risposta se eseguita in una sessione di acquisizione attualmente in esecuzione o in una sessione già arrestata.
Per arrestare manualmente una sessione di acquisizione di pacchetti prima che raggiunga i limiti di tempo o dimensioni dei file, usare il comando az network watcher packet-capture stop .
# Manually stop a packet capture session.
az network watcher packet-capture stop --location 'eastus' --name 'myVM_1'
Nota
Il comando non restituisce una risposta se eseguita in una sessione di acquisizione attualmente in esecuzione o in una sessione già arrestata.
Passare alla pagina Acquisizione pacchetti di Network Watcher per elencare le acquisizioni di pacchetti esistenti indipendentemente dal relativo stato.
# Get information, properties, and status of a packet capture.
Get-AzNetworkWatcherPacketCapture -Location 'eastus' -PacketCaptureName 'myVM_1'
L'output seguente è un esempio dell'output del Get-AzNetworkWatcherPacketCapture cmdlet . L'esempio seguente mostra il risultato ottenuto al completamento dell'acquisizione di pacchetti. Il valore PacketCaptureStatus è Stopped, mentre il valore StopReason corrisponde a TimeExceeded. Questo valore indica che l'acquisizione di pacchetti ha avuto esito positivo ed è stata eseguita per il tempo necessario.
# Get information, properties, and status of a packet capture.
az network watcher packet-capture show-status --location 'eastus' --name 'myVM_1'
L'esempio seguente è l'output del az network watcher packet-capture show-status comando . È possibile notare che il valore packetCaptureStatus è Stopped, con un valore StopReason di TimeExceeded:
Dopo aver concluso la sessione di acquisizione pacchetti, il file di acquisizione risultante viene salvato in Archiviazione di Azure, un file locale nella macchina virtuale di destinazione o entrambi. La destinazione di archiviazione per l'acquisizione di pacchetti viene specificata durante la creazione. Per altre informazioni, vedere La sezione Avviare un'acquisizione di pacchetti.
Per scaricare un file di acquisizione pacchetti salvato in Archiviazione di Azure, seguire questa procedura:
Nella pagina Acquisizione pacchetti selezionare l'acquisizione di pacchetti da scaricare.
Nella sezione Dettagli selezionare il collegamento al file di acquisizione pacchetti.
Nella pagina BLOB selezionare Scarica.
Nota
È anche possibile scaricare i file di acquisizione dal contenitore dell'account di archiviazione usando il portale di Azure o Storage Explorer1 nel percorso seguente:
1 Storage Explorer è un'app autonoma che è possibile usare facilmente per accedere e usare i dati Archiviazione di Azure. Per altre informazioni, vedere Informazioni di base su Storage Explorer.
Per scaricare un file di acquisizione pacchetti salvato nella macchina virtuale (VM), connettersi alla macchina virtuale e scaricare il file dal percorso locale specificato durante la creazione dell'acquisizione pacchetti.
Dopo aver concluso la sessione di acquisizione pacchetti, il file di acquisizione risultante viene salvato in Archiviazione di Azure, un file locale nella macchina virtuale di destinazione o entrambi. La destinazione di archiviazione per l'acquisizione di pacchetti viene specificata durante la creazione. Per altre informazioni, vedere La sezione Avviare un'acquisizione di pacchetti.
Se viene specificato un account di archiviazione, i file di acquisizione vengono salvati nell'account di archiviazione nel percorso seguente:
Per scaricare un'acquisizione di pacchetti da Archiviazione di Azure nel disco locale, usare il cmdlet Get-AzStorageBlobContent :
# 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
È anche possibile scaricare il file di acquisizione dal contenitore dell'account di archiviazione usando Archiviazione di Azure Explorer. Storage Explorer è un'app autonoma che è possibile usare facilmente per accedere e usare i dati Archiviazione di Azure. Per altre informazioni, vedere Informazioni di base su Storage Explorer.
Dopo aver concluso la sessione di acquisizione pacchetti, il file di acquisizione risultante viene salvato in Archiviazione di Azure, un file locale nella macchina virtuale di destinazione o entrambi. La destinazione di archiviazione per l'acquisizione di pacchetti viene specificata durante la creazione. Per altre informazioni, vedere La sezione Avviare un'acquisizione di pacchetti.
Se viene specificato un account di archiviazione, i file di acquisizione vengono salvati nell'account di archiviazione nel percorso seguente:
# 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
È anche possibile scaricare il file di acquisizione dal contenitore dell'account di archiviazione usando Archiviazione di Azure Explorer. Storage Explorer è un'app autonoma che è possibile usare facilmente per accedere e usare i dati Archiviazione di Azure. Per altre informazioni, vedere Informazioni di base su Storage Explorer.
Nella pagina Acquisizione pacchetti selezionare ... sul lato destro dell'acquisizione di pacchetti da eliminare oppure fare clic con il pulsante destro del mouse su di esso, quindi scegliere Elimina.
# Delete a packet capture resource.
az network watcher packet-capture delete --location 'eastus' --name 'myVM_1'
Importante
L'eliminazione della risorsa di acquisizione pacchetti in Network Watcher non elimina il file di acquisizione dall'account di archiviazione o dalla macchina virtuale. Se non è più necessario il file di acquisizione, è necessario eliminarlo manualmente dall'account di archiviazione o dalla macchina virtuale.
Per informazioni su come analizzare un file di acquisizione pacchetti di Network Watcher tramite Wireshark, vedere Esaminare e analizzare i file di acquisizione pacchetti di Network Watcher.