Pagina InizialetoAltrotoDettagli dell'articolo

Come generare indirizzi IP casuali? Principi spiegati con esempi di codice

Come generare indirizzi IP casuali? Principi spiegati con esempi di codiceDaniel Wong
dateTime2026-02-27 10:53
dateTimeAltro

In scenari come lo sviluppo web, i test di sistema e la simulazione dei dati, è spesso necessario generare indirizzi IP casuali. La prima reazione di molte persone è: non basta scrivere qualche numero a caso? Ma nell’uso reale ci si rende subito conto che gli IP casuali sono molto più complessi di quanto sembrino: riuscire a generarne uno non significa che sia ragionevole; assomigliare a un IP non significa che sia utilizzabile.


Che cos’è un indirizzo IP?

Prendendo IPv4 come esempio, un indirizzo IP è composto da quattro numeri compresi tra 0 e 255, ad esempio:

192.168.1.1
8.8.8.8

In teoria, IPv4 dispone di circa 4,3 miliardi di indirizzi, ma ciò non significa che possano essere tutti utilizzati liberamente.

A seconda dello scopo, gli indirizzi IP possono essere generalmente suddivisi in tre categorie:

· IP pubblici: instradabili e accessibili su Internet

· IP privati: utilizzati solo all’interno delle reti locali

· IP riservati / speciali: loopback, broadcast e scopi di test

Con “IP casuale” si intende solitamente un indirizzo IP pubblico generato in modo casuale.

Il modo più semplice per generare un IP casuale (versione base)

L’approccio più comune e intuitivo è:

Generare casualmente quattro numeri interi compresi tra 0–255

Unirli in una stringa utilizzando .

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

Dal punto di vista del formato, la stringa generata rispetta pienamente il formato IPv4.

⚠️ Dov’è il problema?

Questo approccio può generare IP privati (come 192.168.x.x), IP di loopback locali (127.x.x.x), indirizzi non instradabili o IP che semplicemente non esistono o che sono stati bloccati da tempo.

Filtrare gli IP non validi

1. Intervalli IPv4 comuni da escludere

Intervallo IPScopo
10.0.0.0 – 10.255.255.255Rete privata
172.16.0.0 – 172.31.255.255Rete privata
192.168.0.0 – 192.168.255.255Rete privata
127.0.0.0 – 127.255.255.255Loopback
0.0.0.0Indirizzo speciale

2. Intervalli di indirizzi IPv6 comuni da escludere

Prefisso IPv6Scopo
::1/128Indirizzo di loopback
::/128Indirizzo non specificato
fe80::/10Indirizzo link-local (solo rete locale)
fc00::/7Indirizzo locale unico (ULA, simile agli IP privati)
ff00::/8Indirizzo multicast
2001:db8::/32Indirizzo di documentazione / esempio (non instradabile)

Il metodo standard per generare indirizzi IP casuali: utilizzo della libreria standard ipaddress

Si consiglia di utilizzare la libreria integrata di Python ipaddress per gestire gli indirizzi IP.

Si tratta di una libreria standard di Python mantenuta ufficialmente, che fornisce supporto integrato per l’identificazione delle varie proprietà degli indirizzi IPv4 e IPv6, risultando molto più affidabile rispetto alla scrittura manuale di regole personalizzate.

Esempio:

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

Il punto chiave qui è:

is_global == True

Ciò significa che l’indirizzo IP:

Non è un indirizzo privato, non è un indirizzo di loopback, non è un indirizzo riservato ed è teoricamente instradabile su Internet pubblico.

Casi d’uso reali: utilizzo di IP proxy 

Se i tuoi obiettivi includono:

🌍 Simulare diversi Paesi o regioni
🤖 Web scraping o raccolta dati
🔐 Test di controllo del rischio / anti-frode
🧪 Isolamento di ambienti multi-account

Allora ciò di cui hai bisogno non è un IP generato da un algoritmo casuale, ma:

Un IP reale e raggiungibile IP proxy 

Questo tipo di IP presenta generalmente le seguenti caratteristiche:

· Esistono realmente su Internet
· Possono connettersi normalmente alla rete
· Hanno attributi come Paese, ISP e ASN
· Appaiono ai sistemi più simili alle reti di utenti reali

Riepilogo

Generare indirizzi IP casuali non è semplice come unire qualche numero. Un IP casuale realmente valido deve rispettare le regole di assegnazione degli indirizzi IP e distinguere chiaramente tra indirizzi pubblici, privati e riservati. In Python, l’utilizzo della libreria standard ufficiale ipaddress consente di generare IP pubblici strutturalmente validi in modo più standardizzato e affidabile, adatti a scenari di test e simulazione dei dati.

IPDeep fornisce servizi di IP proxy di alta qualità, tra cui:

Insieme a molti altri tipi di proxy, IPDeep offre oltre 10 milioni di risorse IP di alta qualità, coprendo più di 200 Paesi e regioni in tutto il mondo, aiutandoti a completare in modo efficiente e sicuro varie attività aziendali in ambienti di rete complessi.

Questo articolo è stato originariamente creato, compilato e pubblicato da Daniel Wong; indicare la fonte lors della riproduzione. ( )
ad2