Conversor IPv4-mapeado IPv6
Digite 192.0.2.1 e receba todas as formas comuns de escrevê-lo dentro do IPv6: ::ffff:192.0.2.1 e ::ffff:c000:201 na forma mapeada, ::192.0.2.1 e ::c000:201 na antiga compatível. Cole qualquer uma delas e o IPv4 volta também. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Endereço
- 192.0.2.1
- Tipo
- ipv4
- Ipv4
- 192.0.2.1
- Octetos
- 192, 0, 2, 1
- IPv4 mapeado
- ::ffff:192.0.2.1
Redes dual-stack, bibliotecas de sockets e laboratórios de certificação precisam o tempo todo das duas incorporações clássicas que colocam um endereço IPv4 de trinta e dois bits dentro de um IPv6 de cento e vinte e oito bits: a forma IPv4-mapeada com prefixo dois-pontos-duplos ffff, e a forma histórica IPv4-compatível com prefixo de noventa e seis bits em zero. Operadores colam um quádruplo pontilhado e querem todos os literais comuns de uma vez; quem analisa logs recebe ::ffff:c000:201 e precisa do IPv4 embutido sem contar hextetos à mão. Este conversor IPv4-mapeado para IPv6 aceita um IPv4 simples ou um literal IPv6 mapeado ou compatível, normaliza os quatro octetos e devolve as apresentações mista pontilhada e hex pura para as formas mapeada e compatível, além da string IPv4 recuperada.
Incorporações IPv4-mapeada e IPv4-compatível explicadas
A RFC 4291 define como um endereço IPv4 pode aparecer dentro de um IPv6 para transição e representação. A forma IPv4-mapeada usa o prefixo dos bits zero a noventa e cinco em zero, exceto os últimos dezesseis bits desse prefixo, que são todos uns: ou seja, o prefixo conhecido ::ffff:0:0/96. Escrever o host embutido como quádruplo pontilhado após esse prefixo produz o literal misto familiar ::ffff:192.0.2.1; escrever os mesmos trinta e dois bits como dois hextetos hexadecimais produz ::ffff:c000:201.
Pilhas que aceitam clientes IPv4 em um socket IPv6 frequentemente expõem endereços de par exatamente nessa forma mapeada, de modo que converter nos dois sentidos é tarefa diária de dual-stack. A forma IPv4-compatível mais antiga usava um prefixo de noventa e seis bits em zero puro (::/96) com os bits IPv4 nos últimos trinta e dois, escrita ::192.0.2.1 ou ::c000:201. Essa forma compatível está depreciada para uso novo no fio, mas ainda aparece em livros, amostras de configuração legadas e questões de exame que pedem reconhecer ambas as incorporações.
Este conversor sempre emite as duas famílias a partir de qualquer entrada aceita para que voce compare lado a lado sem rodar duas ferramentas. Não inventa outros mecanismos de transição como 6to4, Teredo ou prefixos conhecidos de NAT64; essas incorporações usam prefixos fixos diferentes e estão fora do escopo.
Onde um conversor IPv4-mapeado para IPv6 se paga
Cursos de engenharia de redes e preparação para certificação ainda pedem aos candidatos escrever a forma mapeada de um IPv4 e ler o IPv4 embutido de um par de hextetos ::ffff. Autoavaliadores precisam de um oráculo determinístico que trate ::ffff:c000:201 e ::ffff:192.0.2.1 como o mesmo host e rejeite um unicast global aleatório como 2001:db8::1. Runbooks de migração que ainda citam literais compatíveis depreciados podem gerar ambas as strings para o mesmo host sem manter um script privado.
Validação falha não consome saldo.
Casos de uso
Normalização de sockets dual-stack e listas de permissão
Converta endereços de par IPv4-mapeados de sockets IPv6 em IPv4 pontilhado para comparar com listas de permissão legadas e regras de firewall.
Certificação e exercícios de sala de aula
Gere literais ::ffff e compatíveis a partir de um quádruplo pontilhado, ou extraia o IPv4 embutido de formas mistas e hex para gabaritos de exame.
Ferramentas de configuração e logs
Normalize grafias mistas ::ffff:a.b.c.d e ::ffff:HHHH:HHHH em configs dual-stack e logs de acesso para um IPv4 canônico mais ambos os estilos de incorporação.
Perguntas frequentes
O que é um endereço IPv6 IPv4-mapeado?
É um endereço IPv6 sob o prefixo ::ffff:0:0/96 cujos últimos 32 bits contêm um IPv4, escrito ::ffff:a.b.c.d ou ::ffff:HHHH:HHHH. Pilhas dual-stack costumam representar pares IPv4 assim em sockets IPv6.
O que é um endereço IPv6 IPv4-compatível?
É a incorporação antiga ::/96 (::a.b.c.d ou ::HHHH:HHHH). Está depreciada para uso novo no fio, mas ainda aparece em livros e amostras legadas; este conversor ainda a emite como referência.
É possível converter nos dois sentidos?
Sim. Envie um IPv4 pontilhado para obter as formas mapeada e compatível, ou um literal IPv6 mapeado/compatível para recuperar o IPv4 embutido e ambos os estilos de apresentação.
Quais endereços IPv6 são rejeitados?
Qualquer literal que não seja IPv4-mapeado nem IPv4-compatível (por exemplo 2001:db8::1), além de sufixos CIDR, colchetes, ids de zona, octetos inválidos e hextetos malformados.
Por que o log do meu servidor mostra ::ffff: antes de um IPv4?
Muitos sistemas aceitam clientes IPv4 em uma conexão IPv6 e registram o endereço na forma mapeada, como ::ffff:192.0.2.1. Cole aqui para recuperar 192.0.2.1 e comparar com listas de permissões e regras de firewall antigas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"address": "192.0.2.1"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ipv4_mapped_ipv6",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Incorporações IPv4-mapeada e IPv4-compatível explicadas
Se voce enviar um IPv6 unicast global puro que não seja mapeado nem compatível, a tarefa falha com invalid_input em vez de adivinhar um IPv4 alheio.
Contrato de entrada, campos de resposta e erros de validação
A entrada IPv6 pode usar notação comprimida com dois-pontos-duplos ou a forma expandida de oito hextetos, e os trinta e dois bits finais podem ser escritos como quádruplo pontilhado ou como dois hextetos hexadecimais. Exemplos de formas IPv6 aceitas incluem ::ffff:10.0.0.1, ::ffff:a00:1, 0:0:0:0:0:ffff:c000:201, ::192.0.2.1 e ::c000:201. Sufixos CIDR, colchetes e identificadores de zona são rejeitados. Envie por POST um corpo JSON com um campo string obrigatório chamado address: ou um endereço IPv4 em decimal pontilhado com exatamente quatro octetos de zero a duzentos e cinquenta e cinco sem zeros à esquerda, ou um literal IPv6 IPv4-mapeado ou IPv4-compatível. Os aliases ip, ipv4 e ipv6 são aceitos com o mesmo significado. Em caso de sucesso, o corpo ecoa a string address original, define kind como ipv4, ipv4_mapped ou ipv4_compatible conforme o que foi enviado, devolve ipv4 como o quádruplo pontilhado normalizado e octets como um array de quatro inteiros, e sempre inclui ipv4_mapped e ipv4_mapped_hex mais ipv4_compatible e ipv4_compatible_hex para que os clientes escolham estilo misto ou hex puro sem uma segunda chamada. Exemplo: address 192.0.2.1 produz 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. Octetos malformados, hextetos fora de faixa, várias compressões com dois-pontos-duplos e endereços IPv6 fora dos prefixos mapeado ou compatível falham com invalid_input e não são cobrados.
Onde um conversor IPv4-mapeado para IPv6 se paga
Desenvolvedores que dualizam listeners comparam resultados de getpeername que chegam como IPv6 IPv4-mapeado com listas de permissão guardadas como quádruplos pontilhados; uma chamada a esta API normaliza os dois lados. Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo nem rede de saída.
Perguntas técnicas
Quanto custa o conversor IPv4-mapeado para IPv6?
A ferramenta no navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.