Domini, email o URL
Converti i nomi di dominio internazionalizzati (IDN) tra la forma Unicode, come ñandú.com.ar, e la forma ASCII con Punycode usata dal DNS, come xn--and-6ma2c.com.ar. Rileva da solo la direzione, accetta indirizzi email e URL complete e ti avvisa quando un dominio mescola scritture diverse per spacciarsi per un altro.
Fino a 500 righe. Negli indirizzi email viene convertito solo il dominio e nelle URL solo l'host.
Risultato
Unicode → ASCII
Unicodeñandú.com.ar
ASCIIxn--and-6ma2c.com.ar
ñandúxn--and-6ma2c13 · Latin
ASCII → Unicode
Unicodemünchen.de
ASCIIxn--mnchen-3ya.de
münchenxn--mnchen-3ya14 · Latin
Unicode → ASCIIEmail
Unicodecontacto@correo.españa.es
ASCIIcontacto@correo.xn--espaa-rta.es
españaxn--espaa-rta13 · Latin
Unicode → ASCIIURL
Unicodehttps://日本語.jp/ページ
ASCIIhttps://xn--wgv71a119e.jp/%E3%83%9A%E3%83%BC%E3%82%B8
日本語xn--wgv71a119e14 · Han
Unicode → ASCII
Unicodeаррӏе.com
ASCIIxn--80ak6aa92e.com
аррӏеxn--80ak6aa92e14 · Cyrillic

L'etichetta è scritta interamente con lettere cirilliche o greche identiche a lettere latine. Può spacciarsi per un dominio noto: controlla la forma xn-- prima di fidarti del link.

Punycode senza prefisso (RFC 3492)

Codifica o decodifica qualsiasi testo con l'algoritmo Punycode puro, senza il prefisso xn-- né la normalizzazione dei domini. Utile per il debug di un'implementazione propria.

Risultatomaana-pta

Come funziona

Il DNS accetta solo lettere ASCII, cifre e trattini, quindi un dominio come ñandú.com.ar non può viaggiare così com'è. I domini internazionalizzati (IDN) risolvono il problema con Punycode (RFC 3492): ogni etichetta che contiene caratteri non ASCII viene codificata con un algoritmo che conserva le lettere comuni e aggiunge in fondo la posizione di quelle speciali, e riceve il prefisso xn--. Così ñandú diventa xn--and-6ma2c.

Prima di codificare, IDNA normalizza il nome: lo converte in minuscolo, uniforma le forme Unicode e converte i punti alternativi come il 。 giapponese. Questo strumento usa la stessa mappatura (UTS #46) che applica il browser quando apre un indirizzo, quindi il risultato coincide con ciò che viene effettivamente richiesto al DNS. Negli indirizzi email converte solo il dominio e nelle URL solo l'host.

Inoltre scompone ogni etichetta indicandone la lunghezza e le scritture usate, e avvisa quando un dominio mescola alfabeti o è scritto con lettere cirilliche o greche identiche a quelle latine: è la base degli attacchi omografi, in cui un link sembra appartenere a un sito noto.

Esempi

ñandú.com.arxn--and-6ma2c.com.arCambia solo l'etichetta con caratteri speciali; com e ar restano uguali. È la forma da inserire nel DNS e nei SAN di un certificato.
faß.dexn--fa-hia.deCon IDNA2008 la ß tedesca è una lettera valida e viene codificata. Con lo standard precedente diventava ss e puntava a fass.de, un dominio diverso: per questo alcuni sistemi datati risolvono un'altra cosa.
аррӏе.comxn--80ak6aa92e.comL'omografo pubblicato da Xudong Zheng nel 2017: cinque lettere cirilliche identiche ad apple. Da allora Chrome e Firefox mostrano questo tipo di domini nella forma xn--.
пример.рфxn--e1afmkfd.xn--p1aiAnche i domini di primo livello possono essere internazionali: .рф è quello della Russia in cirillico e nel DNS si scrive xn--p1ai.

Casi d'uso

  • Ottenere la forma xn-- di un dominio con lettere accentate per creare record nel DNS, nella configurazione di nginx o Apache o nei SAN di un certificato.
  • Capire quale dominio reale si nasconde dietro un xn-- che compare in un log, in una segnalazione di phishing o nella barra del browser.
  • Esaminare un link sospetto per individuare lettere cirilliche o greche che imitano quelle latine.
  • Convertire il dominio di un indirizzo email internazionalizzato per un server che non supporta SMTPUTF8.
  • Verificare che un dominio internazionale non superi i 63 caratteri per etichetta una volta codificato.

Domande frequenti

Che cosa significa il prefisso xn--?

È il prefisso ACE (ASCII Compatible Encoding) che indica che l'etichetta è in Punycode. Le etichette con trattini in terza e quarta posizione sono riservate a questi prefissi, quindi i registri non consentono di creare un dominio che inizi con xn-- se non è un IDN valido.

Quale forma uso nel DNS, nel server web e nel certificato?

La forma ASCII, con xn--, in tutti i punti tecnici: record DNS, server_name di nginx, ServerName di Apache, SAN del certificato e intestazioni Host. La forma Unicode serve solo a mostrarla alle persone; i browser la convertono prima di effettuare la richiesta.

Che cos'è un attacco omografo?

Consiste nel registrare un dominio che appare identico a un altro usando lettere di un altro alfabeto, come la a cirillica al posto di quella latina. I browser mostrano la forma xn-- quando un'etichetta mescola scritture o somiglia a un dominio noto. Se un link sembra normale ma la sua forma ASCII inizia con xn--, diffida.

Si possono usare lettere accentate in un indirizzo email?

Nel dominio sì, e si può convertire in xn-- per qualsiasi server. La parte prima della chiocciola è un'altra storia: con caratteri non ASCII richiede che tutti i server lungo il percorso supportino SMTPUTF8 (RFC 6531), e non ha una forma Punycode equivalente.

Perché il mio dominio con le maiuscole è cambiato?

I nomi di dominio non distinguono tra maiuscole e minuscole, e IDNA converte tutto in minuscolo prima di codificare: MÜNCHEN.de e münchen.de sono lo stesso dominio, xn--mnchen-3ya.de. Il Punycode puro invece conserva le maiuscole, per questo il convertitore senza prefisso dà risultati diversi.