AccueiltoAutretoDétails de l'article

Comment générer des adresses IP aléatoires ? Principes expliqués avec des exemples de code

Comment générer des adresses IP aléatoires ? Principes expliqués avec des exemples de codeDaniel Wong
dateTime2026-02-27 10:44
dateTimeAutre

Dans des scénarios tels que le développement web, les tests système et la simulation de données, il est souvent nécessaire de générer des adresses IP aléatoires. La première réaction de beaucoup de personnes est : ne suffit-il pas d’écrire quelques chiffres au hasard ? Mais dans un usage réel, on se rend vite compte que les IP aléatoires sont bien plus complexes qu’il n’y paraît : pouvoir en générer une ne signifie pas qu’elle soit valide ; ressembler à une IP ne veut pas dire qu’elle soit utilisable.


Qu’est-ce qu’une adresse IP ?

En prenant IPv4 comme exemple, une adresse IP est composée de quatre nombres compris entre 0 et 255, par exemple :

192.168.1.1
8.8.8.8

En théorie, IPv4 dispose d’environ 4,3 milliards d’adresses, mais cela ne signifie pas qu’elles puissent toutes être utilisées librement.

Selon leur usage, les adresses IP peuvent généralement être divisées en trois catégories :

· IP publiques : routables et accessibles sur Internet

· IP privées : utilisées uniquement au sein des réseaux locaux

· IP réservées / spéciales : bouclage (loopback), diffusion (broadcast) et usages de test

Une « IP aléatoire » fait généralement référence à une adresse IP publique générée de manière aléatoire.

La manière la plus simple de générer une IP aléatoire (version basique)

L’approche la plus courante et la plus intuitive consiste à :

Générer aléatoirement quatre entiers compris entre 0–255

Les assembler en une chaîne à l’aide du caractère .

Exemple (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())

Du point de vue du format, la chaîne générée respecte parfaitement le format IPv4.

⚠️ Où est le problème ?

Cette méthode peut générer des IP privées (comme 192.168.x.x), des IP de bouclage locales (127.x.x.x), des adresses non routables, ou encore des IP qui n’existent tout simplement pas ou qui ont été bloquées depuis longtemps.

Filtrer les IP non valides

1. Plages IPv4 courantes à exclure

Plage IPUsage
10.0.0.0 – 10.255.255.255Réseau privé
172.16.0.0 – 172.31.255.255Réseau privé
192.168.0.0 – 192.168.255.255Réseau privé
127.0.0.0 – 127.255.255.255Bouclage (loopback)
0.0.0.0Adresse spéciale

2. Plages d’adresses IPv6 courantes à exclure

Préfixe IPv6Usage
::1/128Adresse de bouclage (loopback)
::/128Adresse non spécifiée
fe80::/10Adresse lien-local (réseau local uniquement)
fc00::/7Adresse locale unique (ULA, similaire aux IP privées)
ff00::/8Adresse multicast
2001:db8::/32Adresse de documentation / d’exemple (non routable)

La méthode standard pour générer des adresses IP aléatoires : utiliser la bibliothèque standard ipaddress

Il est recommandé d’utiliser la bibliothèque intégrée de Python ipaddress pour gérer les adresses IP.

Il s’agit d’une bibliothèque standard officiellement maintenue par Python, qui prend en charge nativement l’identification de diverses propriétés des adresses IPv4 et IPv6, ce qui la rend bien plus fiable que l’écriture de règles personnalisées à la main.

Exemple :

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())

Le point clé ici est :

is_global == True

Cela signifie que l’adresse IP :

N’est pas une adresse privée, n’est pas une adresse de bouclage (loopback), n’est pas une adresse réservée et est théoriquement routable sur l’Internet public.

Cas d’utilisation réels : utiliser des IP proxy

Si vos objectifs incluent :

🌍 Simuler différents pays ou régions
🤖 Web scraping ou collecte de données
🔐 Tests de gestion des risques / anti-fraude
🧪 Isolation d’environnements multi-comptes

Alors, ce dont vous avez besoin n’est pas une IP générée par un algorithme aléatoire, mais :

Une IP réelle et accessible Proxy IP

Ces types d’IP présentent généralement les caractéristiques suivantes :

· Elles existent réellement sur Internet
· Elles peuvent se connecter normalement au réseau
· Elles possèdent des attributs tels que le pays, le FAI et l’ASN
· Elles ressemblent davantage à de véritables réseaux d’utilisateurs aux yeux des systèmes

Résumé

Générer des adresses IP aléatoires ne consiste pas simplement à assembler quelques chiffres. Une IP aléatoire réellement pertinente doit respecter les règles d’allocation des adresses IP et distinguer clairement les adresses publiques, privées et réservées. En Python, l’utilisation de la bibliothèque standard officielle ipaddress permet de générer des IP publiques structurellement valides de manière plus normalisée et fiable, adaptées aux scénarios de test et de simulation de données.

IPDeep fournit des services d’IP proxy de haute qualité, notamment :

Ainsi que de nombreux autres types de proxys, IPDeep propose plus de 10 millions de ressources IP de haute qualité, couvrant plus de 200 pays et régions à travers le monde, afin de vous aider à mener à bien vos différentes activités de manière efficace et sécurisée dans des environnements réseau complexes.

Cet article a été originalement créé, compilé et publié par Daniel Wong; veuillez indiquer la source lors de la reproduction. ( )
ad2