1001Ferramentas
🌐Validadores

Validador de IP (v4 e v6)

Valide endereços IPv4 e IPv6 com detecção automática. Mostra a classe (A/B/C/D/E), se é privado ou público, loopback, multicast e formato canônico. Tudo no navegador.

Validação de endereço IP: IPv4, IPv6 e por que importa

Um endereço IP e o rótulo numérico atribuído a todo dispositivo que conversa em uma rede. Dois formatos coexistem na Internet moderna: IPv4, de 32 bits, criado em 1981 (RFC 791), e IPv6, de 128 bits, padronizado em 1998 (RFC 2460, atualizado pela RFC 8200). Validar um endereço significa confirmar que ele esta sintaticamente bem formado antes de usa-lo em regras de firewall, allowlists, geolocalizacao, parsers de log ou auditorias de segurança.

Validação não se confunde com alcancabilidade ou titularidade. Uma string pode ser um IP perfeitamente válido e ainda assim pertencer a uma faixa privada, a um bloco reservado ou a um host inexistente. Uma aplicação robusta combina validação sintatica com checagens semanticas (e roteavel? esta na minha allowlist? cai dentro de um bloco CIDR?).

Anatomia do IPv4

O IPv4 usa quatro octetos separados por ponto. Cada octeto e um número decimal de 0 a 255, ocupando 8 bits — total de 32 bits, dando cerca de 4,29 bilhões de endereços teoricos. A exaustao do pool da IANA em 2011 forcou os registros regionais (RIRs) a alocar gradualmente os últimos blocos, e a transferência de IPv4 virou mercado pago.

Uma regex ingenua como ^(\d{1,3}\.){3}\d{1,3}$ casa com o formato mas aceita 999.999.999.999. Um validador adequado também confirma cada octeto na faixa 0-255. Atenção a representacoes incomuns: zeros a esquerda (192.168.001.001) podem ser interpretados como octal por libc; hexadecimal e notação abreviada (0xC0.0xA8.1.1 ou 192.168.257) são aceitos por inet_aton e rejeitados por parsers estritos — historicamente fonte de bypass de SSRF.

Anatomia do IPv6 e abreviacao

O IPv6 usa oito grupos de quatro dígitos hexadecimais (0000-FFFF) separados por dois pontos, totalizando 128 bits — 2^128 endereços, cerca de 340 undecilhoes. Duas regras de compressao são permitidas: zeros a esquerda dentro de um grupo podem ser omitidos, e uma sequência consecutiva de grupos todos zero pode ser substituida por dois pontos duplos ::. Assim 2001:db8:0:0:0:0:0:1 vira 2001:db8::1. O :: so pode aparecer uma vez por endereço para que o parser fique sem ambiguidade.

Uma regex completa de IPv6 e notoriamente difícil de escrever por causa das regras de compressao; em produção, prefira biblioteca. No Node.js use net.isIP(addr), que retorna 0 para inválido, 4 para IPv4 e 6 para IPv6. Outras bibliotecas úteis: ip-regex, is-ip, ipaddr.js e o modulo ipaddress da stdlib do Python.

Faixas reservadas e especiais

Conhecer os blocos reservados e essencial para evitar SSRF, escrever regras de firewall que fazem sentido e interpretar logs:

  • Privadas (RFC 1918): 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
  • CGNAT (RFC 6598): 100.64.0.0/10 — usado por operadoras entre o assinante e a Internet publica.
  • Loopback: 127.0.0.0/8 (IPv4) e ::1/128 (IPv6).
  • Link-local: 169.254.0.0/16 (IPv4 APIPA) e fe80::/10 (IPv6).
  • Multicast: 224.0.0.0/4 (IPv4) e ff00::/8 (IPv6).
  • Broadcast: 255.255.255.255 (sem equivalente em IPv6 — substituído por multicast).
  • Documentação: 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32.

CIDR, dual-stack e ferramentas

A notação CIDR (Classless Inter-Domain Routing) acrescenta uma barra e o tamanho do prefixo para expressar um bloco: 192.168.1.0/24 cobre 256 endereços, 2001:db8::/32 cobre um bloco enorme de IPv6. A maioria das redes modernas opera em dual-stack, expondo um endereço IPv4 e um IPv6 na mesma interface. Ferramentas úteis: ipinfo.io e ipapi.co para geolocalizacao, whois e rdap.org para titularidade, nslookup / dig para DNS, Wireshark para inspecao de pacotes.

FAQ

IPv4 e IPv6 são a mesma família?

Não. São famílias de endereços distintas, com tamanhos, sintaxe e semântica de roteamento diferentes. Um dispositivo em rede dual-stack tem um de cada e eles não se substituem em regras de firewall ou allowlists.

A notação CIDR e aceita como IP válido?

CIDR (192.168.1.0/24) e um bloco, não um host único. Um validador estrito rejeita; um validador ciente de CIDR aceita o formato e expõe o endereço da rede e o prefixo separadamente.

0.0.0.0 e um IP válido?

Sintaticamente sim. Semanticamente e um curinga que significa "todas as interfaces" ao escutar em um servidor e "nenhum destino específico" como origem — a maioria dos validadores aceita, a maioria das allowlists não.

Por que devo rejeitar IPs privados no backend?

Se seu servidor consome URLs fornecidas pelo usuário (webhooks, proxy de imagens, preview de links), permitir IPs privados deixa o atacante alvejar seus serviços internos — o clássico vetor SSRF. Sempre valide, resolva e revalide o endereço resolvido contra a lista de faixas reservadas.

Valide endereços IPv4 e IPv6

Um endereço IP no formato errado derruba uma configuração de rede, uma regra de firewall ou um cadastro de servidor. Este validador confere se o endereço é válido, detecta sozinho se ele é IPv4 ou IPv6, e ainda revela várias propriedades dele.

No caso de IPv4, indica a classe (A, B, C, D ou E), se o endereço é privado ou público, loopback ou multicast, e mostra também o formato canônico. São informações que ajudam a entender o papel de um endereço na rede (se é interno, reservado ou roteável na internet) sem que você precise consultar tabela nenhuma.

A validação roda inteira no navegador, sem nada saindo pra fora. Serve de referência prática pra administradores de rede, desenvolvedores e quem está estudando redes.

Perguntas frequentes

O que significa a classe A, B ou C que aparece no resultado?
É a classificação anterior ao CIDR, deduzida só do primeiro octeto: até 127 é classe A, de 128 a 191 é B, de 192 a 223 é C, de 224 a 239 é multicast (D) e o que sobra fica como reservado (E). O roteamento moderno não usa mais isso, já que o tamanho da rede vem do prefixo CIDR, mas a nomenclatura segue viva em prova de certificação, material didático e equipamento antigo — por isso ela continua no resultado.
Por que 100.64.0.1 aparece marcado como público?
Porque o rótulo de rede privada cobre apenas as três faixas da RFC 1918: 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16. A faixa 100.64.0.0/10, do CGNAT que as operadoras usam entre o assinante e a internet, fica fora dessa checagem e sai como pública, embora não seja roteável na internet aberta. O mesmo acontece com os blocos de documentação, como 192.0.2.0/24, e com o 0.0.0.0. Se a sua regra de firewall depende disso, complete a lista à mão.
A ferramenta descobre o dono do IP ou a cidade dele?
Não. A checagem é de formato e de faixa, feita inteiramente no navegador e sem nenhuma consulta externa: nada de WHOIS, RDAP ou base de geolocalização. Digitar um endereço aqui também não dispara ping nem testa se existe algum host do outro lado, ou seja, um IP pode passar como válido sem ter absolutamente nada respondendo nele. Endereço com máscara, no formato 192.168.1.0/24, é recusado, porque a validação é de host único.

Ferramentas Relacionadas