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.

Validacao de endereco IP: IPv4, IPv6 e por que importa

Um endereco IP e o rotulo numerico atribuido 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 endereco significa confirmar que ele esta sintaticamente bem formado antes de usa-lo em regras de firewall, allowlists, geolocalizacao, parsers de log ou auditorias de seguranca.

Validacao nao se confunde com alcancabilidade ou titularidade. Uma string pode ser um IP perfeitamente valido e ainda assim pertencer a uma faixa privada, a um bloco reservado ou a um host inexistente. Uma aplicacao robusta combina validacao 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 numero decimal de 0 a 255, ocupando 8 bits — total de 32 bits, dando cerca de 4,29 bilhoes de enderecos teoricos. A exaustao do pool da IANA em 2011 forcou os registros regionais (RIRs) a alocar gradualmente os ultimos blocos, e a transferencia 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 tambem confirma cada octeto na faixa 0-255. Atencao a representacoes incomuns: zeros a esquerda (192.168.001.001) podem ser interpretados como octal por libc; hexadecimal e notacao abreviada (0xC0.0xA8.1.1 ou 192.168.257) sao 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 digitos hexadecimais (0000-FFFF) separados por dois pontos, totalizando 128 bits — 2^128 enderecos, cerca de 340 undecilhoes. Duas regras de compressao sao permitidas: zeros a esquerda dentro de um grupo podem ser omitidos, e uma sequencia 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 endereco para que o parser fique sem ambiguidade.

Uma regex completa de IPv6 e notoriamente dificil de escrever por causa das regras de compressao; em producao, prefira biblioteca. No Node.js use net.isIP(addr), que retorna 0 para invalido, 4 para IPv4 e 6 para IPv6. Outras bibliotecas uteis: 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 — substituido por multicast).
  • Documentacao: 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32.

CIDR, dual-stack e ferramentas

A notacao CIDR (Classless Inter-Domain Routing) acrescenta uma barra e o tamanho do prefixo para expressar um bloco: 192.168.1.0/24 cobre 256 enderecos, 2001:db8::/32 cobre um bloco enorme de IPv6. A maioria das redes modernas opera em dual-stack, expondo um endereco IPv4 e um IPv6 na mesma interface. Ferramentas uteis: 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 sao a mesma familia?

Nao. Sao familias de enderecos distintas, com tamanhos, sintaxe e semantica de roteamento diferentes. Um dispositivo em rede dual-stack tem um de cada e eles nao se substituem em regras de firewall ou allowlists.

A notacao CIDR e aceita como IP valido?

CIDR (192.168.1.0/24) e um bloco, nao um host unico. Um validador estrito rejeita; um validador ciente de CIDR aceita o formato e expoe o endereco da rede e o prefixo separadamente.

0.0.0.0 e um IP valido?

Sintaticamente sim. Semanticamente e um curinga que significa "todas as interfaces" ao escutar em um servidor e "nenhum destino especifico" como origem — a maioria dos validadores aceita, a maioria das allowlists nao.

Por que devo rejeitar IPs privados no backend?

Se seu servidor consome URLs fornecidas pelo usuario (webhooks, proxy de imagens, preview de links), permitir IPs privados deixa o atacante alvejar seus servicos internos — o classico vetor SSRF. Sempre valide, resolva e revalide o endereco 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.

Ferramentas Relacionadas