Guida all’utilizzo degli strumenti di diagnostica di rete

Panoramica

Questo articolo presenta un approccio sistematico per identificare le cause dei problemi di comunicazione in ambienti Windows Server, utilizzando comandi standard e strumenti PowerShell. Verranno trattati i test ICMP, le verifiche delle porte TCP, la risoluzione DNS e l’analisi dei log.

Notazione delle variabili

I valori dipendenti dall’ambiente vengono indicati come segue. Sostituirli in base alla propria configurazione.

Variabile Esempio Descrizione
<<TARGET_HOST>> 192.168.10.1 Nome host o indirizzo IP di destinazione
<<PORT_NUMBER>> 443 Numero di porta TCP usato dall’applicazione
<<LOG_PATH>> C:\Logs\netdiag.txt Percorso del file di log di output

Passaggio 1: Verifica della connettività ICMP (ping)

Controlla la raggiungibilità a livello di rete.

ping <<TARGET_HOST>>

Se non si riceve risposta, verificare:

  • Se Windows Defender Firewall blocca l’ICMP
  • Se l’host di destinazione è attivo
  • Se la tabella di routing (route print) è corretta

Nota: Se l’ICMP è disabilitato, utilizzare un test TCP per verificare la connettività.


Passaggio 2: Verifica del percorso (tracert)

Determina in quale hop la comunicazione si interrompe.

tracert <<TARGET_HOST>>

Passaggio 3: Verifica della porta TCP (Test-NetConnection)

Controlla se la comunicazione a livello applicativo può essere stabilita.

Test-NetConnection -ComputerName <<TARGET_HOST>> -Port <<PORT_NUMBER>>

Principali campi di output:

Campo Descrizione
TcpTestSucceeded Indica se la connessione TCP ha avuto successo
PingSucceeded Mostra se l’ICMP è riuscito
RemoteAddress Indirizzo IP di destinazione risolto
SourceAddress Indirizzo IP di origine utilizzato

Suggerimento: Se il DNS è instabile, utilizzare direttamente l’indirizzo IP.


Passaggio 4: Stato delle sessioni TCP (netstat / Get-NetTCPConnection)

Visualizza le connessioni TCP attive e le porte in ascolto.

Con netstat

netstat -ano | findstr "<<PORT_NUMBER>>"

Opzioni:

  • -a: mostra tutte le connessioni e le porte in ascolto
  • -n: visualizza indirizzi e porte in formato numerico
  • -o: mostra l’ID del processo

Identificare il processo corrispondente:

tasklist /FI "PID eq <<PID_NUMBER>>"

Con PowerShell

Get-NetTCPConnection -State Established |
  Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess
Get-NetTCPConnection | Where-Object { $_.LocalPort -eq <<PORT_NUMBER>> }

Un numero elevato di connessioni in stato SYN_SENT o TIME_WAIT può indicare interruzioni o connessioni eccessivamente frequenti.


Passaggio 5: Verifica della risoluzione DNS (nslookup / Resolve-DnsName)

Verifica se la risoluzione dei nomi funziona correttamente.

nslookup <<TARGET_HOST>>

Analisi dettagliata con PowerShell:

Resolve-DnsName <<TARGET_HOST>> -Type A

Interrogare un server DNS specifico:

Resolve-DnsName <<TARGET_HOST>> -Type A -Server 8.8.8.8

Nota: In ambienti IPv6 utilizzare -Type AAAA.


Passaggio 6: Risoluzione avanzata dei problemi

Abilitare i log del Firewall

Se la comunicazione è bloccata, abilitare la registrazione del firewall per l’analisi.

Set-NetFirewallProfile -Profile Domain,Public,Private `
  -LogAllowed True -LogBlocked True `
  -LogFileName "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 32767

La dimensione predefinita del log è 1 MB; aumentarla facilita l’analisi.

Verifica della tabella ARP (problemi di livello 2)

arp -a

Indirizzi MAC duplicati o incoerenti possono indicare problemi di cache su switch o schede di rete virtuali.


Conclusione

La maggior parte dei problemi di rete può essere diagnosticata sistematicamente in cinque fasi:
ICMP → Percorso → TCP → DNS → Log

Utilizzando strumenti integrati come ping, tracert, netstat e i cmdlet PowerShell Get-NetTCPConnection, Resolve-DnsName e Test-NetConnection, è possibile eseguire una risoluzione dei problemi di rete efficiente, strutturata e ripetibile in Windows Server.