TivuStream

VPN Guida

Ultimo aggiornamento 13/09/2025 by buio2005

Il meccanismo mentale comune che si attiva insieme all’avvio della VPN è semplice: La VPN è accesa io sono protetto.
Sacrosanta verità ma, come per tutti i software del mondo, non esiste nulla di infallibile al 100%.

La VPN è paragonabile ad un software che come tale è formato da righe di codice che istruiscono, attivano, monitorano, bloccano…, le attività ed il comportamento della rete a cui siamo connessi attraverso il dispositivo che stiamo usando.
Qualunque codice ha fisiologicamente la possibilità di contenere errori che possono influire sul comportamento finale o su di una funzionalità in particolare. Ecco perchè è sempre una buona idea verificare che lo strumento funzioni come deve e soddisfi le aspettative, anche ed a maggior ragione se abbiamo speso soldini per l’acquisto.

Questo articolo vuole essere una guida pratica e tecnica su quali sono i metodi per verificare che la VPN che stiamo usando stia facendo il proprio lavoro e soprattutto stia proteggendo la propria navigazione ed i propri dati, evitando fughe (leak) e compromissioni. Saranno elencati sia i metodi “rapidi”, con strumenti Web dedicati, sia quelli più approfonditi e descrittivi ed una ultima sezione dove trovare script bash riassuntivi e completi per i test.

Gli utenti Windows hanno due possibilità di verifica attraverso due sistemi: Il primo è l’uso di PowerShell o cmd con i comandi che sono mostrati nel seguito dell’articolo. Il secondo è installare Git for Windows, un’emulatore BASH per eseguire Git dalla riga di comando. L’emulazione BASH si comporta esattamente come il comando “git” negli ambienti LINUX e UNIX, lanciando i comandi dedicati sempre nel seguito dell’articolo.

Per utenti Windows e macOS è consigliato installare anche Wireshark un tool gratuito ed open Source di monitoraggio rete che sarà utile nel verificare fonte e destinatario dei pacchetti in transito e la risoluzione reale dei DNS attraverso il filtro specifico (nel seguito dell’articolo)

Nel seguito dell’articolo saranno indicati anche i comandi e sistemi per gli utenti puramente Linux di cui si presuppone abbiano conoscenza nel metodo di uso. Nota: Gli indirizzi Web di strumenti/siti utilizzati nella metodologia di seguito sono indicativi e presi ad esempio e possono essere sostituiti con altri specifici o di preferenza.

Cosa vogliamo testare ?

Sostanzialmente vogliamo verificare e testare se la VPN ci “copre” da quelle che sono le circostanze nelle quali i nostri dati sono visibili o compromessi, o quando la nostra connessione non è incanalata, o sta subendo perdite, nel tunnel VPN. Le verifiche fondamentali sono:

IP pubblico: Il sito/servizio deve vedere l’IP del server VPN, e non il tuo IP reale (riconducibile all’ISP/fornitore di connessione).

DNS: Le richieste DNS devono passare attraverso il tunnel VPN (o essere criptate/risolte dal DNS della VPN), e non verso invece i resolver dell’ISP.

Fughe (leak) WebRTC: Il browser in uso NON deve rivelare direttamente indirizzi locali/pubblici tramite STUN (Un server STUN -Session Traversal Utilities for NAT-, è un servizio di rete che aiuta i dispositivi dietro Network Address Translator (NAT) o firewall a scoprire i propri indirizzi IP pubblici e numeri di porta, essenziali per stabilire connessioni peer-to-peer dirette nelle applicazioni WebRTC, ossia comunicazioni in tempo reale).

IPv6: se la VPN non gestisce IPv6, le connessioni IPv6 possono bypassare il tunnel.

Leak applicativi / torrent / split-tunnel e Kill-switch test: singole App/indirizzi possono bypassare la VPN (configurazioni split-tunnel nellle VPN che lo offrono o dei client torrent). Comportamento in caso di disconnessione dal server VPN quando abilitato Kill-switch

Traffic leak (fughe di traffico/pachetti) a basso livello: Pacchetti non cifrati escono da interfacce “normali” (eth0, wlan0) invece che dall’interfaccia VPN (tun0, wg0).

Metodo

1) Controllo IP pubblico — e comandi

Obiettivo: verificare che, una volta connesso alla VPN, l’IP pubblico cambi verso quello del server VPN.
Test rapido (web): visitare risorse online come: “What is my IP” oppure “IPleak” o ancora “ipconfig

Comandi CLI (Linux / macOS / PowerShell):

# Linux/macOS
curl -s https://ifconfig.me      # mostra IPv4
curl -s https://ifconfig.co/json # dettagli in JSON (ISP, city, ecc.)

# Forzare IPv6 o IPv4
curl -4 -s https://ifconfig.co
curl -6 -s https://ifconfig.co

# Windows (PowerShell)
Invoke-RestMethod -Uri "https://ifconfig.co/json"

2) DNS leak — test breve e comandi CLI

Obiettivo: verificare che le query DNS non escano verso i resolver dell’ISP.

Test web rapido: andare a “ipleak.net“, o “dnsleaktest.com” e cliccare Extended test od ancora a “browserLeaks“(DNS test). Questi siti mostrano quali resolver rispondono alle richieste DNS ed ovviamente devono essere diversi da quelli dell’ISP.

Test da riga di comando e pacchetti:

  1. Verificare i resolver configurati sul sistema:
    • systemd (Linux): resolvectl status o systemd-resolve --status
    • macOS: scutil --dns
    • Windows: Get-DnsClientServerAddress (PowerShell) o ipconfig /all
  2. Monitorare le query DNS in tempo reale (mostra dove vanno le query):
# Cattura DNS su qualsiasi interfaccia (Linux/macOS)
sudo tcpdump -i any -n port 53

# Salva su file pcap per analisi successiva 
sudo tcpdump -i any port 53 -w dns-test.pcap

Se vedi pacchetti DNS (porta 53 UDP/TCP) diretti verso IP dei resolver dell’ISP (es. 192.168.x.x o gli IP pubblici dell’ ISP) mentre la VPN è connessa è in atto un DNS leak. Se vedi solo query verso gli IP del provider VPN o verso endpoint DoH/DoT noti, non è in atto un DNS leak.

*L’utilizzo od il monitoraggio dei DNS in uso attraverso il tcpdump ha più senso quando la VPN non è connessa e dovrebbe rivelare l’uso corretto di DNS alternativi se configurati sul dispositivo. Quando la VPN è attiva e se funziona come deve evidentemente il dump resta “muto”. In questo specifico caso però anche l’ISP potrebbe vedere i DNS in uso e tentare un instradamento verso i suoi a meno che in Browser non abbia abilitato il DoH (DNS over https), in questo caso allora nemmeno l’ISP può vedere quale DNS sta risolvendo le mie richieste.

3) WebRTC leak (browser)

Obiettivo: evitare che il browser riveli direttamente IP locali/pubblici via STUN.
Test rapido: Su BrowserLeaks apri il WebRTC Leak Test o su ipleak osserva “Your WebRTC IP”

Suggerimenti:

  • Firefox: in about:config impostare media.peerconnection.enabled = false (o usare media.peerconnection.ice.default_address_only su true/appropriato).
  • Chrome/Edge (e tutti i Browser Chrome Based): usare estensioni che bloccano WebRTC (es. “WebRTC Control”).

4) IPv6 leak — test e comandi

Obiettivo: controllare che non ci siano connessioni IPv6 che bypassano il tunnel. Alcuni provider VPN non supportano IPv6 di default: se esiste un indirizzo IPv6 globale attivo sul tuo host, il traffico IPv6 potrebbe uscire fuori tunnel.

Test rapido: Vai su “test-ipv6.com” o “ipv6leak.com” per i risultati sulla presenza o meno di IPv6 ed eventuali leak

# test via curl: confronta risposta IPv4 vs IPv6 (Linux)
curl -4 -s https://ifconfig.co
curl -6 -s https://ifconfig.co
curl.exe (Windows PowerShell)

Suggerimenti:

Feedback

Hai 2 minuti di tempo per esprimere il tuo pensiero e condividere la tua esperienza in TivuStream? aiuitaci a migliorare con il tuo Feedback ..GRAZIE ! 

Disabilitare IPv6 localmente o configurare la VPN per gestire (o null-route) IPv6. Se curl -6 mostra il tuo IPv6 pubblico reale mentre la VPN non lo maschera è in atto un leak IPv6.

5) Controllo routing / interfacce / tabelle

Obiettivo: confermare che il default route passi attraverso l’interfaccia VPN.

Linux:

ip addr show        # vedi interfacce (tun0/wg0)
ip route show       # vedi route (default via <gateway> dev tun0 ?)
ip route get 9.9.9.9  # mostra quale interfaccia/ip sorgente userebbe la kernel per raggiungere 9.9.9.9

macOS:

ifconfig
netstat -rn

Windows (PowerShell):

Get-NetIPConfiguration
route print

Interpretazione: il default route (0.0.0.0/0) dovrebbe essere indirizzato all’interfaccia VPN (tun0/wg0) o esistere una policy route che forza tutto attraverso il tunnel. Se il default route punta alla tua interfaccia fisica il traffico non passa via VPN.

6) Kill-switch test (per le VPN che lo offrono)

Obiettivo: verificare che in caso di disconnessione accidentale non avvenga leak del traffico (ossia che il kill-switch blocchi tutto).

Test semplice:

  1. Connetti VPN.
  2. Avvia un ping continuo verso un host esterno (es. ping 1.1.1.1).
  3. Disabilita temporaneamente l’interfaccia VPN (chiudi l’app/kill process).
  4. Se il ping continua a ricevere risposte → la connessione è tornata a uscire tramite la rete normale → kill-switch non funziona.

Avvertenza: questo rivelerà il tuo IP reale se il ping/servizio è visibile a remote; esegui il test consapevolmente.

7) Controlli applicativi specifici

Torrent

Usa il test torrent di ipleak.net ed attiva Torrent Address detection. Apri il magnet nel tuo client torrent con la VPN attiva e vedi l’IP esposto. Se il client mostra il tuo IP reale è in atto un leak applicativo.

Browser headless / app che non usano le impostazioni di sistema

Alcune app possono avere impostazioni proxy proprie: verifica le impostazioni proxy dell’app e monitora con tcpdump per interfaccia.

Script bash completi (Windows)

Creare un file chiamato vpn-check.sh ed incollare i contenuti per singolo file, avvio dei file

bash vpn-check.sh

Windows + Git Bash:

#!/bin/bash
echo "=== VPN CHECK START (Windows + Git Bash) ==="

# [1] IP pubblico
echo "[1] IP pubblico (IPv4 e IPv6)"
curl -s https://api.ipify.org && echo " (IPv4)"
curl -s https://api64.ipify.org && echo " (IPv6)"
echo

# [2] DNS Resolver attivi
echo "[2] DNS Resolver attivi"
# Usa PowerShell per leggere i DNS configurati
powershell.exe -Command "Get-DnsClientServerAddress | Select-Object -ExpandProperty ServerAddresses"
echo

# [3] Routing verso 9.9.9.9
echo "[3] Routing verso 9.9.9.9"
# Mostra il percorso con tracert
tracert -d 9.9.9.9
echo

# [4] Cattura pacchetti DNS (10s con tshark se disponibile)
echo "[4] Cattura pacchetti DNS (10s su file dns-test.pcap)"
if command -v tshark >/dev/null 2>&1; then
    echo "Avvio cattura DNS (interfaccia 1, 10 secondi)..."
    tshark -i 1 -a duration:10 -f "udp port 53" -w dns-test.pcap
    echo "File salvato in dns-test.pcap (analizzabile con Wireshark)"
else
    echo "tshark non trovato. Installa Wireshark + Npcap per usare questa funzione."
fi

echo "=== VPN CHECK END ==="


Windows con Git Bash + Wireshark

Prerequisiti:

  • Git Bash (già installato)
  • Wireshark (download)
  • Permessi Amministratore (Wireshark va avviato da Amministratore).
  • VPN attiva .
#!/bin/bash
echo "=== VPN CHECK START ==="

# 1. Mostra IP pubblico
echo -e "\n[1] IP pubblico (IPv4)"
curl -s https://ipinfo.io/ip

# 2. DNS Resolver in uso
echo -e "\n[2] DNS Resolver attivi"
nslookup google.com | grep "Server"

# 3. Routing verso 9.9.9.9 (Quad9 DNS)
echo -e "\n[3] Routing verso 9.9.9.9"
tracert 9.9.9.9

# 4. Test perdita DNS
echo -e "\n[4] Test DNS leaks (estrazione IP da DNS pubblico)"
dig +short whoami.akamai.net @ns1-1.akamaitech.net

echo -e "\n=== VPN CHECK END ==="

Analisi con Wireshark:

  1. Avvia Wireshark come amministratore.
  2. Seleziona l’interfaccia di rete in uso dalla VPN
  3. Imposta un filtro cattura per il traffico DNS: udp.port == 53 || tcp.port == 53 In questo modo vedrai solo le query DNS.
VPN e Wirwshark
  1. Avvia la cattura, apri il browser e visita un sito (es. openai.com).
  2. Controlla l’IP del resolver DNS:
    • Se vedi indirizzi tipo Google (8.8.8.8), ISP locale, ecc. → la VPN non protegge i DNS.
    • Se vedi indirizzi interni della VPN → i DNS sono instradati correttamente.

Wireshark è utilizzabile per ogni tipo di cattura utile a testare e controllare e vi rimandiamo alla guida ufficiale per ulteriori specifiche.

Lo scopo della guida è poter fornire spunti e riflessioni su come verificare la solidità di una VPN e di sicuro non vuole essere la “bibbia” quando si parla di verifiche e test, anzi, vi invitiamo a suggerire ulteriori metodi ed ulteriori strumenti per raggiungere lo scopo. Crediamo che la condivisione della conoscenza sia l’unica base solida per creare utilità alla comunità. Non esitate a scriverci admin@tivustream.com od a commentare l’articolo se desiderate divulgare ulteriori suggerimenti.

Una Tabella semplice per individuare gli eventuali errori più comuni e relativi suggerimenti per la risoluzione

ProblemaPossibili causeSoluzioni
IP pubblico non cambia– VPN non connessa correttamente
– Client senza permessi admin
– Riconnetti la VPN
– Avvia il client come Amministratore
– Prova un altro server VPN
Resolver DNS mostra l’ISP– VPN non forza DNS interni
– Split tunneling attivo
– Abilita “forza DNS della VPN”
– Imposta manualmente DNS sicuri (1.1.1.1, 9.9.9.9)
– Controlla con Wireshark
Tracert non passa dal server VPN– Tunnel non attivo o parziale
– Split tunneling
– Attiva modalità Full Tunnel
– Verifica scheda VPN con ipconfig /all
DNS Leak (test dig/nslookup)– VPN non gestisce DNS
– Cache DNS fuori tunnel
– Svuota cache con ipconfig /flushdns
– Reimposta DNS su quelli VPN o pubblici sicuri
– Verifica con Wireshark
Wireshark non mostra interfaccia VPN– Wireshark senza permessi
– Driver rete VPN mancante
– Sistema non riavviato
– Avvia Wireshark come Admin
– Reinstalla driver VPN (TAP/WireGuard)
– Riavvia Windows

Altre risorse utili

Le migliori VPN (contiene link di affiliazione TivuStream)

PrivadoVPN + NekoBox la massima protezione “Doppio Tunnel” ecco come fare (Windows e Linux)

DNS come configurarli ed utilizzarli correttamente su tutti i dispositivi.

NekoBox l’evoluzione di NekoRay privacy e protezione ancora più semplice ed efficace

Visto: 284

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.