Convertitore IPv4-mappato IPv6
Inserisca 192.0.2.1 e ottenga tutti i modi comuni di scriverlo in IPv6: ::ffff:192.0.2.1 e ::ffff:c000:201 per la forma mappata, ::192.0.2.1 e ::c000:201 per la vecchia forma compatibile. Incolli una di queste e torna anche l'IPv4. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Indirizzo
- 192.0.2.1
- Tipo
- ipv4
- Ipv4
- 192.0.2.1
- Ottetti
- 192, 0, 2, 1
- IPv4 mappato
- ::ffff:192.0.2.1
Le reti dual-stack, le librerie di socket e i laboratori di certificazione hanno costantemente bisogno delle due incorporazioni classiche che collocano un indirizzo IPv4 a trentadue bit dentro un IPv6 a centoventotto bit: la forma IPv4-mappata con prefisso doppi due punti ffff, e la forma storica IPv4-compatibile con prefisso di novantasei bit a zero. Gli operatori incollano un quadrupletto punteggiato e vogliono tutti i letterali comuni in una volta; chi analizza i log riceve ::ffff:c000:201 e deve recuperare l'IPv4 incorporato senza contare gli hextet a mano. Questo convertitore IPv4-mappato in IPv6 accetta un IPv4 semplice oppure un letterale IPv6 mappato o compatibile, normalizza i quattro ottetti e restituisce le presentazioni mista punteggiata e hex pura per le forme mappata e compatibile, più la stringa IPv4 recuperata.
Incorporazioni IPv4-mappata e IPv4-compatibile spiegate
La RFC 4291 definisce come un indirizzo IPv4 possa comparire dentro un IPv6 per transizione e rappresentazione. La forma IPv4-mappata usa il prefisso dai bit zero a novantacinque a zero tranne gli ultimi sedici bit di quel prefisso, tutti a uno: in altre parole il prefisso noto ::ffff:0:0/96. Scrivere l'host incorporato come quadrupletto punteggiato dopo quel prefisso produce il letterale misto familiare ::ffff:192.0.2.1; scrivere gli stessi trentadue bit come due hextet esadecimali produce ::ffff:c000:201.
Le stack che accettano client IPv4 su un socket IPv6 spesso espongono gli indirizzi peer proprio in questa forma mappata, quindi convertire in entrambe le direzioni è un compito dual-stack quotidiano. La forma IPv4-compatibile più antica usava un prefisso di novantasei bit puramente a zero (::/96) con i bit IPv4 negli ultimi trentadue, scritta ::192.0.2.1 o ::c000:201. Quella forma compatibile è deprecata per un uso nuovo sul filo, ma compare ancora nei manuali, negli esempi di configurazione legacy e nelle domande d'esame che chiedono di riconoscere entrambe le incorporazioni.
Questo convertitore emette sempre entrambe le famiglie da qualsiasi input accettato così Lei può confrontarle fianco a fianco senza eseguire due strumenti. Non inventa altri meccanismi di transizione come 6to4, Teredo o i prefissi noti NAT64; quelle incorporazioni usano prefissi fissi diversi e sono fuori ambito.
Dove un convertitore IPv4-mappato in IPv6 crea valore
I corsi di ingegneria di rete e la preparazione alle certificazioni chiedono ancora ai candidati di scrivere la forma mappata di un IPv4 dato e di leggere l'IPv4 incorporato da una coppia di hextet ::ffff. I correttori automatici necessitano di un oracolo deterministico che tratti ::ffff:c000:201 e ::ffff:192.0.2.1 come lo stesso host rifiutando un unicast globale casuale come 2001:db8::1. I runbook di migrazione che citano ancora i letterali compatibili deprecati possono generare entrambe le stringhe per lo stesso host senza mantenere uno script privato.
La validazione fallita non consuma saldo.
Casi d'uso
Normalizzazione di socket dual-stack e allow-list
Converta indirizzi peer IPv4-mappati da socket IPv6 in IPv4 punteggiato per il confronto con allow-list legacy e regole di firewall.
Certificazione ed esercizi in aula
Generi letterali ::ffff e compatibili da un quadrupletto punteggiato, oppure estragga l'IPv4 incorporato da forme miste e hex per le chiavi d'esame.
Strumenti di configurazione e log
Normalizzi le grafie miste ::ffff:a.b.c.d e ::ffff:HHHH:HHHH in config dual-stack e log di accesso a un IPv4 canonico più entrambi gli stili di incorporazione.
Domande frequenti
Che cos'è un indirizzo IPv6 IPv4-mappato?
È un indirizzo IPv6 sotto il prefisso ::ffff:0:0/96 i cui ultimi 32 bit contengono un IPv4, scritto ::ffff:a.b.c.d o ::ffff:HHHH:HHHH. Le stack dual-stack spesso rappresentano così i peer IPv4 su socket IPv6.
Che cos'è un indirizzo IPv6 IPv4-compatibile?
È la vecchia incorporazione ::/96 (::a.b.c.d o ::HHHH:HHHH). È deprecata per un uso nuovo sul filo, ma compare ancora nei manuali e negli esempi legacy; questo convertitore la emette ancora come riferimento.
Si può convertire in entrambe le direzioni?
Sì. Invi un IPv4 punteggiato per ottenere le forme mappata e compatibile, oppure un letterale IPv6 mappato/compatibile per recuperare l'IPv4 incorporato e entrambi gli stili di presentazione.
Quali indirizzi IPv6 vengono rifiutati?
Qualsiasi letterale che non sia IPv4-mappato né IPv4-compatibile (ad esempio 2001:db8::1), più suffissi CIDR, parentesi quadre, id di zona, ottetti non validi e hextet malformati.
Perché il log del mio server mostra ::ffff: davanti a un IPv4?
Molti sistemi accettano client IPv4 su una connessione IPv6 e registrano l'indirizzo in forma mappata, come ::ffff:192.0.2.1. Lo incolli qui per recuperare 192.0.2.1 e confrontarlo con vecchie liste di autorizzazione e regole del firewall.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/ipv4-mapped-ipv6 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"192.0.2.1"}'const res = await fetch("https://api.kit.forhosting.com/dev/ipv4-mapped-ipv6", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"address": "192.0.2.1"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ipv4-mapped-ipv6",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"address": "192.0.2.1"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ipv4-mapped-ipv6", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"address":"192.0.2.1"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"address":"192.0.2.1"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ipv4-mapped-ipv6", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"address": "192.0.2.1"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ipv4_mapped_ipv6",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Incorporazioni IPv4-mappata e IPv4-compatibile spiegate
Se Lei invia un indirizzo IPv6 unicast globale puro che non è né mappato né compatibile, l'attività fallisce con invalid_input invece di indovinare un IPv4 non correlato.
Contratto di input, campi di risposta ed errori di validazione
L'input IPv6 può usare la notazione compressa a doppi due punti o la forma espansa a otto hextet, e i trentadue bit finali possono essere scritti come quadrupletto punteggiato o come due hextet esadecimali. Esempi di forme IPv6 accettate includono ::ffff:10.0.0.1, ::ffff:a00:1, 0:0:0:0:0:ffff:c000:201, ::192.0.2.1 e ::c000:201. Suffissi CIDR, parentesi quadre e identificatori di zona vengono rifiutati. Invii con POST un corpo JSON con un campo stringa obbligatorio denominato address: oppure un indirizzo IPv4 in decimale punteggiato con esattamente quattro ottetti da zero a duecentocinquantacinque senza zeri iniziali, oppure un letterale IPv6 IPv4-mappato o IPv4-compatibile. Gli alias ip, ipv4 e ipv6 sono accettati con lo stesso significato. In caso di successo, il corpo rinvia la stringa address originale, imposta kind su ipv4, ipv4_mapped o ipv4_compatible secondo quanto inviato, restituisce ipv4 come quadrupletto punteggiato normalizzato e octets come array di quattro interi, e include sempre ipv4_mapped e ipv4_mapped_hex più ipv4_compatible e ipv4_compatible_hex così i client scelgono lo stile misto o hex puro senza una seconda chiamata. Esempio: address 192.0.2.1 produce kind ipv4, ipv4_mapped ::ffff:192.0.2.1, ipv4_mapped_hex ::ffff:c000:201, ipv4_compatible ::192.0.2.1 e ipv4_compatible_hex ::c000:201. Ottetti malformati, hextet fuori intervallo, più compressioni a doppi due punti e indirizzi IPv6 fuori dai prefissi mappato o compatibile falliscono con invalid_input e non vengono fatturati.
Dove un convertitore IPv4-mappato in IPv6 crea valore
Gli sviluppatori che dualizzano i listener confrontano i risultati di getpeername che arrivano come IPv6 IPv4-mappato con allow-list memorizzate come indirizzi in notazione puntata; una sola chiamata a questa API normalizza entrambi i lati. Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita.
Domande tecniche
Quanto costa il convertitore IPv4-mappato in IPv6?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.