Como Gerar Endereços IP Aleatórios? Princípios Explicados com Exemplos de Código
Em cenários como desenvolvimento web, testes de sistemas e simulação de dados, muitas vezes é necessário gerar endereços IP aleatórios. A primeira reação de muitas pessoas é: não basta escrever alguns números aleatoriamente? Porém, no uso real, você rapidamente percebe que IPs aleatórios são muito mais complexos do que parecem: conseguir gerar um não significa que seja razoável; parecer um IP não significa que seja utilizável.
O que é um endereço IP?
Tomando o IPv4 como exemplo, um endereço IP é composto por quatro números que variam de 0 a 255, como:
192.168.1.1
8.8.8.8Em teoria, o IPv4 possui cerca de 4,3 bilhões de endereços, mas isso não significa que todos possam ser usados livremente.
De acordo com sua finalidade, os endereços IP geralmente podem ser divididos em três categorias:
· IPs públicos: roteáveis e acessíveis na Internet
· IPs privados: usados apenas dentro de redes locais
· IPs reservados / especiais: para loopback, broadcast e testes
“IP aleatório” normalmente se refere a um endereço IP público gerado aleatoriamente.
A forma mais simples de gerar um IP aleatório (versão básica)
A abordagem mais comum e intuitiva é:
Gerar aleatoriamente quatro números inteiros entre 0–255
Unir esses números em uma string usando .
Exemplo (Python)
import random
def random_ip_basic():
return ".".join(str(random.randint(0, 255)) for _ in range(4))
for _ in range(5):
print(random_ip_basic())Do ponto de vista de formatação, a string gerada segue perfeitamente o formato IPv4.
⚠️ Onde está o problema?
Essa abordagem pode gerar IPs privados (como 192.168.x.x), IPs de loopback local (127.x.x.x), endereços não roteáveis ou IPs que simplesmente não existem ou já foram bloqueados há muito tempo.
Filtrando IPs inválidos
1. Intervalos IPv4 comuns que devem ser excluídos
| Intervalo de IP | Finalidade |
|---|---|
| 10.0.0.0 – 10.255.255.255 | Rede privada |
| 172.16.0.0 – 172.31.255.255 | Rede privada |
| 192.168.0.0 – 192.168.255.255 | Rede privada |
| 127.0.0.0 – 127.255.255.255 | Loopback |
| 0.0.0.0 | Endereço especial |
2. Intervalos de endereços IPv6 comuns que devem ser excluídos
| Prefixo IPv6 | Finalidade |
|---|---|
| ::1/128 | Endereço de loopback |
| ::/128 | Endereço não especificado |
| fe80::/10 | Endereço link-local (apenas rede local) |
| fc00::/7 | Endereço Local Único (ULA, semelhante a IPs privados) |
| ff00::/8 | Endereço multicast |
| 2001:db8::/32 | Endereço de documentação / exemplo (não roteável) |
A forma padrão de gerar endereços IP aleatórios: usando a biblioteca padrão ipaddress
Recomenda-se utilizar a biblioteca padrão integrada do Python ipaddress para lidar com endereços IP.
Esta é uma biblioteca padrão do Python mantida oficialmente, que fornece suporte nativo para identificar diversas propriedades de endereços IPv4 e IPv6, sendo muito mais confiável do que escrever regras personalizadas manualmente.
Exemplo:
IPv4:
import random
import ipaddress
def random_public_ipv4():
while True:
ip = ipaddress.IPv4Address(random.randint(0, 2**32 - 1))
if ip.is_global:
return str(ip)
for _ in range(5):
print(random_public_ipv4())IPv6:
import random
import ipaddress
def random_public_ipv6():
while True:
ip = ipaddress.IPv6Address(random.randint(0, 2**128 - 1))
if ip.is_global:
return str(ip)
for _ in range(5):
print(random_public_ipv6())O ponto-chave aqui é:
is_global == True
Isso significa que o endereço IP:
Não é um endereço privado, não é um endereço de loopback, não é um endereço reservado e, teoricamente, é roteável na internet pública.
Cenários de uso no mundo real: uso de IPs proxy
Se os seus objetivos incluem:
🌍 Simular diferentes países ou regiões
🤖 Web scraping ou coleta de dados
🔐 Controle de risco / testes antifraude
🧪 Isolamento de ambientes multi-conta
Então o que você precisa não é um IP gerado por um algoritmo aleatório, mas sim:
Um IP proxy real e acessível Proxy IP
Esse tipo de IP normalmente possui as seguintes características:
· Existe de fato na internet
· Consegue se conectar à rede normalmente
· Possui atributos como país, ISP e ASN
· Parece mais com redes de usuários reais para os sistemas
Resumo
Gerar endereços IP aleatórios não é tão simples quanto juntar alguns números. Um IP aleatório realmente razoável precisa seguir as regras de alocação de IP e distinguir claramente entre endereços públicos, privados e reservados. Em Python, usar a biblioteca padrão oficial ipaddress permite gerar IPs públicos estruturalmente válidos de forma mais padronizada e confiável, sendo adequado para cenários de teste e simulação de dados.
IPDeep oferece serviços de IP proxy de alta qualidade, incluindo:
Além de muitos outros tipos de proxy, a IPDeep oferece mais de 10 milhões de recursos de IP de alta qualidade, cobrindo mais de 200 países e regiões em todo o mundo, ajudando você a concluir diversas tarefas comerciais de forma eficiente e segura em ambientes de rede complexos.



