DocumentiImmaginiMediaStrumenti PDF

Convertitore Punycode Online

Converti nomi di dominio internazionalizzati tra Punycode e Unicode, nel tuo browser.

Trascina il tuo PDF qui

.pdf · fino a 2 GB

GratisSenza registrazioneSenza filigranaOCR incluso

Convertitore Punycode per domini IDN

Tutti gli alfabeti Unicode

Supporta domini in cinese, arabo, cirillico, devanagari, ebraico, giapponese e qualsiasi altro alfabeto Unicode.

100% privato

La conversione Punycode avviene interamente nel tuo browser usando l'API nativa. Nessun server coinvolto.

Rilevamento omografi

Rivela i caratteri Unicode nascosti nei domini sospetti. Identifica potenziali tentativi di phishing.

Istantaneo

Conversione bidirezionale in tempo reale. Nessuna registrazione, nessuna attesa, conforme all'RFC 3492.

Tre passaggi, senza complicazioni

1

Inserisci il dominio

Digita o incolla un dominio in Unicode (come cafe.com o un dominio in cinese) oppure in Punycode (come xn--caf-dma.com). Lo strumento rileva il formato in automatico.

2

Conversione istantanea

Il dominio viene convertito tra la sua rappresentazione Unicode leggibile e quella ASCII Punycode (xn--...) seguendo lo standard RFC 3492.

3

Verifica e copia

Copia il risultato per usarlo nelle configurazioni DNS, nelle registrazioni di domini o per verificare se un dominio sospetto usa caratteri omografi.

Hai delle domande?

Punycode e un algoritmo di codifica definito nell'RFC 3492 (pubblicato nel 2003) dall'IETF, progettato per rappresentare i nomi di dominio internazionalizzati (IDN) usando solo caratteri ASCII. Il sistema DNS e stato originariamente progettato per caratteri ASCII (lettere a-z, cifre 0-9 e trattino), escludendo le lingue con accenti o caratteri non latini come cinese, arabo e cirillico. Punycode risolve questo problema codificando i caratteri Unicode come stringa ASCII che inizia con il prefisso xn--. Ad esempio, il dominio munchen.de in tedesco diventa xn--mnchen-3ya.de.

Il prefisso xn-- e il prefisso ACE (ASCII Compatible Encoding) definito nello standard IDNA (Internationalizing Domain Names in Applications). Indica che il label del dominio che lo segue e una rappresentazione Punycode di caratteri Unicode. Il prefisso xn-- appare in ogni label (parte separata da punti) del dominio che contiene caratteri non ASCII. Se l'intero dominio e in Unicode, tutti i label avranno il prefisso. Ad esempio, bucher.de ha il label bucher che in Punycode diventa xn--bcher-kva, producendo xn--bcher-kva.de. Il TLD come .de o .com raramente ha bisogno di codifica.

Un attacco omografico IDN (detto anche attacco omofonico o Unicode spoofing) si verifica quando un malintenzionato registra un dominio che visivamente appare identico a un dominio legittimo ma usa caratteri di un alfabeto diverso. Ad esempio, la lettera latina a (U+0061) e visivamente identica alla lettera cirillica (U+0430). Un dominio come paypal.com con la a cirillica e diverso da paypal.com con la a latina, ma sembrano uguali. Questo strumento ti permette di verificare se un dominio sospetto usa caratteri non ASCII rivelando la sua rappresentazione Punycode.

ICANN (Internet Corporation for Assigned Names and Numbers) ha approvato i ccTLD IDN (domini internazionalizzati a codice paese) nel 2009 e i gTLD IDN generici a partire dal 2012. I primi ccTLD IDN attivati sono stati in arabo (Egitto, Arabia Saudita) e cirillico (Russia) nel 2010. Oggi esistono TLD interamente in cinese, arabo, devanagari, ebraico e altri alfabeti. ICANN ha politiche di sicurezza per prevenire gli attacchi omografici: i registrar devono verificare che i domini non mescolino alfabeti di lingue diverse nello stesso label (restrizione di script mixing).

Ci sono diversi modi per controllare se un dominio usa Punycode: 1) Usa questo strumento: incolla il dominio e vedrai se contiene caratteri Unicode nascosti. 2) Controlla la barra degli indirizzi del browser: Chrome e Firefox mostrano il Punycode (xn--...) nella barra degli indirizzi quando rilevano potenziali attacchi omografici. 3) Esegui da terminale: python3 -c con il comando import idna e print(idna.encode) oppure in Node.js con require(punycode).toASCII(). 4) Interroga il registro DNS con nslookup o dig: il nome visualizzato potrebbe rivelare il Punycode.

Storia degli IDN (ICANN 2003), prevenzione dello spoofing di domini e internazionalizzazione del web

La storia dei nomi di dominio internazionalizzati (IDN) inizia con il riconoscimento che il DNS, progettato negli anni '80 da Paul Mockapetris, supportava solo ASCII, escludendo le lingue della maggior parte della popolazione mondiale. I primi sforzi di standardizzazione risalgono agli anni '90. L'RFC 3492 (Punycode) e stato pubblicato nel marzo 2003 e lo standard IDNA (RFC 3490) lo stesso anno. ICANN ha approvato il supporto per i ccTLD IDN nell'ottobre 2009 dopo anni di dibattiti, e i primi domini interamente in arabo sono stati attivati nel 2010.

Lo spoofing di domini tramite omografi Unicode e una minaccia di sicurezza reale. Il caso piu famoso e stato dimostrato da Evgeniy Gabrilovich e Alex Gontmakher nel 2001, quando hanno registrato paypal.com con una a cirillica. Nel 2017, il ricercatore Xudong Zheng ha dimostrato che era possibile registrare un dominio simile ad apple.com usando caratteri cirillici che sembrano lettere latine e ottenere un certificato TLS valido, rendendo l'attacco praticamente impossibile da rilevare. I browser moderni hanno risposto mostrando il Punycode nella barra degli indirizzi quando rilevano alfabeti misti o caratteri di alfabeti insoliti.

L'internazionalizzazione del web (i18n) va oltre i domini. Unicode, sviluppato dal 1991 dal Consorzio Unicode, definisce oltre 140.000 caratteri di praticamente tutti i sistemi di scrittura del mondo. La codifica UTF-8, che rappresenta Unicode come byte compatibili con ASCII, e ora lo standard universale per il web (oltre il 98% delle pagine web usa UTF-8 secondo W3Techs). Il supporto per i domini internazionalizzati completa l'internazionalizzazione del livello di trasporto: con gli IDN, gli URL completamente nella lingua nativa diventano possibili. Lo standard URL del WHATWG, implementato nei browser, usa Punycode internamente per elaborare i domini Unicode negli URL.