Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
phantun — Trasforma flussi UDP in (falsi) flussi TCP che possono attraversare firewall/NAT di Layer 3 e Layer 4 (NAPT). | Kitploit
Strumenti/GitHubGitHub/dndx/phantun
Evasione IDS/IPSSicurezza di Rete
GitHubdndx/phantun

phantun

Trasforma flussi UDP in (falsi) flussi TCP che possono attraversare firewall/NAT di Layer 3 e Layer 4 (NAPT).

Vedi Repository
2.4k217261 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Phantun

Un obfuscator UDP-to-TCP leggero e veloce.

GitHub Workflow Status docs.rs

Indice

  • Phantun
  • Ultima versione
  • Panoramica
  • Utilizzo
    • 1. Abilitare l'inoltro IP del kernel
    • 2. Aggiungere le regole firewall necessarie
      • Client
        • Usando nftables
        • Usando iptables
      • Server
        • Usando nftables
        • Usando iptables
    • 3. Eseguire i binari di Phantun come non-root (Opzionale)
    • 4. Avviare il demone Phantun
      • Server
      • Client
  • Overhead MTU
    • Calcolo MTU per WireGuard
  • Compatibilità delle versioni
  • Documentazione
  • Prestazioni
  • Piani futuri
  • Confronto con udp2raw
  • Licenza

Ultima versione

v0.8.1

Supporto per architettura MIPS in Phantun

Rust fornisce solo supporto Tier 3 per le piattaforme basate su MIPS dal 2023. Le build MIPS di Phantun sono quindi compilate usando il toolchain nightly di Rust e fornite solo su base del miglior sforzo.

Panoramica

Phantun è un progetto che offusca pacchetti UDP in connessioni TCP. Mira a raggiungere le massime prestazioni con il minimo overhead di elaborazione e incapsulamento.

È comunemente utilizzato in ambienti dove UDP è bloccato/limitato ma TCP è permesso.

Phantun converte semplicemente un flusso di pacchetti UDP in pacchetti di flusso TCP offuscati. Lo stack TCP utilizzato da Phantun è progettato per superare la maggior parte dei firewall/NAT stateful/stateless L3/L4. Non sarà in grado di superare proxy L7. Tuttavia, il vantaggio di questo approccio è che nessuno dei comuni killer di prestazioni UDP su TCP come ritrasmissioni e controllo di flusso si verificherà. Le proprietà sottostanti di UDP, come la consegna fuori ordine, sono totalmente preservate anche se la connessione finisce per apparire come una connessione TCP dal punto di vista dei firewall/NAT.

Phantun significa Phantom TUN, poiché è un offuscatore per traffico UDP che fa abbastanza lavoro per farlo passare attraverso firewall/NAT stateful come pacchetti TCP.

Phantun è scritto in Rust 100% sicuro. È stato ottimizzato estensivamente per scalare bene su sistemi multi-core e non ha problemi a saturare tutte le risorse CPU disponibili su una connessione veloce. Vedere la sezione Prestazioni per i risultati dei benchmark.

Risultati benchmark Phantun Diagramma del flusso di traffico

Utilizzo

Nell'esempio seguente si assume che il Server Phantun ascolti le connessioni Client Phantun in entrata sulla porta 4567 (opzione --local per il server) e inoltri i pacchetti UDP al server UDP su 127.0.0.1:1234 (opzione --remote per il server).

Si assume inoltre che il Client Phantun ascolti i pacchetti UDP in entrata su 127.0.0.1:1234 (opzione --local per il client) e si connetta al Server Phantun su 10.0.0.1:4567 (opzione --remote per il client).

Phantun crea un'interfaccia TUN sia per il Client che per il Server. Per il Client, Phantun assegna a sé stesso l'indirizzo IP 192.168.200.2 e fcc8::2 di default. Per il Server, assegna 192.168.201.2 e fcc9::2 di default. Pertanto, il kernel deve avere l'inoltro IPv4/IPv6 abilitato e vanno configurate regole iptables/nftables appropriate per NAT tra l'indirizzo della scheda di rete fisica e l'indirizzo dell'interfaccia Tun di Phantun.

È possibile personalizzare il nome dell'interfaccia Tun creata da Phantun e gli indirizzi assegnati. Si prega di eseguire l'eseguibile con le opzioni -h per vedere come modificarli.

Un altro modo per comprendere questa topologia di rete (si veda il diagramma sopra per un'illustrazione di questa topologia):

Il Client Phantun è come una macchina con indirizzo IP privato (192.168.200.2/fcc8::2) dietro un router. Affinché possa raggiungere Internet, è necessario eseguire SNAT dell'indirizzo IP privato prima che il suo traffico lasci la scheda di rete.

Il Server Phantun è come un server con indirizzo IP privato (192.168.201.2/fcc9::2) dietro un router. Per accedervi da Internet, è necessario eseguire DNAT sulla porta di ascolto sul router e cambiare l'indirizzo IP di destinazione con quello su cui il server ascolta le connessioni in entrata.

In questi casi, la macchina/iptables che esegue Phantun agisce come il "router" che permette a Phantun di comunicare con l'esterno usando i suoi indirizzi IP privati.

A partire da Phantun v0.4.1, IPv6 è completamente supportato sia per il lato TCP che UDP. Per specificare un indirizzo IPv6, usare il seguente formato: [::1]:1234 nelle opzioni della riga di comando. È anche supportata la risoluzione di record AAAA. Si prega di eseguire il programma con -h per vedere le opzioni dettagliate su come controllare il comportamento IPv6.

Torna all'indice

1. Abilitare l'inoltro IP del kernel

Modificare /etc/sysctl.conf, aggiungere net.ipv4.ip_forward=1 ed eseguire sudo sysctl -p /etc/sysctl.conf.

Configurazione specifica IPv6

Dovrà essere impostato anche net.ipv6.conf.all.forwarding=1.

Torna all'indice

2. Aggiungere le regole firewall necessarie

Client

Il Client necessita semplicemente di SNAT abilitato sull'interfaccia fisica per tradurre l'indirizzo di Phantun in uno utilizzabile sulla rete fisica. Questo può essere fatto semplicemente con il masquerading.

Nota: cambiare eth0 con il nome effettivo dell'interfaccia fisica

Torna all'indice

Usando nftables

table inet nat {
    chain postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        iifname tun0 oif eth0 masquerade
    }
}

Nota: La regola sopra usa inet come tipo di famiglia di tabella, quindi è compatibile con entrambi gli utilizzi IPv4 e IPv6.

Torna all'indice

Usando iptables

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Torna all'indice

Server

Il Server deve eseguire DNAT sulla porta di ascolto TCP all'indirizzo dell'interfaccia TUN di Phantun.

Nota: cambiare eth0 con il nome effettivo dell'interfaccia fisica e 4567 con il numero di porta TCP effettivo utilizzato dal server Phantun

Torna all'indice

Usando nftables

table inet nat {
    chain prerouting {
        type nat hook prerouting priority dstnat; policy accept;
        iif eth0 tcp dport 4567 dnat ip to 192.168.201.2
        iif eth0 tcp dport 4567 dnat ip6 to fcc9::2
    }
}

Torna all'indice

Usando iptables

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 4567 -j DNAT --to-destination 192.168.201.2
ip6tables -t nat -A PREROUTING -p tcp -i eth0 --dport 4567 -j DNAT --to-destination fcc9::2

Torna all'indice

3. Eseguire i binari di Phantun come non-root (Opzionale)

Scarica lo strumento