Generierung zufälliger IPs für Web-Scraping

Erfahren Sie, wie man einen Python-basierten IP-Zufallsgenerator erstellt und warum Proxys die ultimative Lösung für sichere und anonyme Aktivitäten im Internet sind.
10 min read
How to generate random IP address blog image

In diesem Leitfaden erfahren Sie Folgendes:

  • Definition von IP-Adressen und deren Verwendung
  • Möglichkeiten der programmgesteuerten Generierung zufälliger IP-Adressen
  • Erstellung eines IP-Zufallsgenerators
  • Verwendung zufälliger IP-Adressen zum Verbergen Ihrer Identität

Dann legen wir mal los!

Was ist eine IP-Adresse?

Bei einer IP-Adresse handelt es sich um eine Zahlenfolge, die jedem an ein Computernetzwerk angeschlossenes und über das  Internetprotokoll kommunizierendes Gerät eindeutig zugeordnet ist. Man kann sie als digitale Adresse verstehen, die zur Identifizierung eines Geräts im Internet oder in einem lokalen Netzwerk dient.

Einfach ausgedrückt sind IP-Adressen zur Identifizierung von Geräten, der Weiterleitung von Daten und selbst für Geolokalisierungsdienste unerlässlich. Zum Zeitpunkt der Erstellung dieses Artikels ist IPv4 die am häufigsten verwendete Version. Eine IPv4-Adresse setzt sich aus vier Zahlengruppen (so genannten Oktetts) zusammen, die wie folgt durch Punkte getrennt sind:

192.168.1.1

Jedes Oktett besteht aus einer Zahl mit Werten zwischen 0 und 255, sodass sich ein Bereich von 4,3 Milliarden möglichen eindeutigen Adressen eröffnet.

 IPv6, ein neuerer Standard, verwendet ein anderes Format und verfügt über einen viel größeren Pool an Adressen. In diesem Artikel befassen wir uns jedoch mit IPv4. Mehr zu diesem Thema finden Sie in unserem Leitfaden IPv4 vs. IPv6.

Der wohl einfachste Weg, Ihre öffentliche IP-Adresse zu ermitteln, ist ein Besuch auf einer Website wie „What is my IP address“. Unter Windows können Sie Ihre IP-Adresse auch mit folgendem Befehl im Terminal ermitteln:

ipconfig

Großartig! Doch es wird Zeit, herauszufinden, ob Sie einen IP-Zufallsgenerator erstellen können.

Ist es möglich, einen Generator für zufällige IP-Adressen zu erstellen?

TL;DR: TL;DR: Ja, die Erstellung eines Generators für zufällige IP-Adressen ist durchaus möglich!

Wie bereits erwähnt, folgen IP-Adressen einer genau definierten Struktur mit Nummern innerhalb bestimmter Bereiche. Dadurch ist die Generierung gültiger zufälliger IP-Adressen nicht nur möglich, sondern auch relativ einfach.
Allerdings sollten Sie die Zuweisung und Reservierung von IP-Adressen verstehen, um die Generierung von Adressen aus bedeutungslosen Zahlenreihen zu vermeiden.

IP-Adressen werden von der IANA (Internet Assigned Numbers Authority) verwaltet und von RIRs (Regional Internet Registries) zugeteilt. Die Einhaltung der IANA-Normen gestattet Ihnen die programmgesteuerte Generierung gültiger Adressformate.

Bei der Erstellung eines IP-Zufallsgenerators sind bestimmte IP-Bereiche ebenfalls zu ignorieren. Grund dafür ist, dass einige IPs reserviert sind und nicht für den öffentlichen Internetverkehr eingesetzt werden.

Reservierte IPv4-Bereiche sind in folgender Tabelle aufgeführt:

Adressblock Adressbereich Beschreibung
0.0.0.0/8 0.0.0.0 – 0.255.255.255 Aktuelles (lokales, „dieses“) Netzwerk
10.0.0.0/8 10.0.0.0 – 10.255.255.255 Wird für die lokale Kommunikation innerhalb eines privaten Netzwerks verwendet
100.64.0.0/10 100.64.0.0 – 100.127.255.255 Gemeinsamer Adressbereich für die Kommunikation zwischen Dienstanbieter und Abonnenten mit Carrier-Grade-NAT
127.0.0.0/8 127.0.0.0 – 127.255.255.255 Wird für Loopback-Adressen an den lokalen Host verwendet
169.254.0.0/16 169.254.0.0 – 169.254.255.255 Wird für link-local-Adressen verwendet, wenn keine IP angegeben ist (z.B. bei DHCP-Fehlern)
172.16.0.0/12 172.16.0.0 – 172.31.255.255 Wird für die lokale Kommunikation innerhalb eines privaten Netzwerks verwendet
192.0.0.0/24 192.0.0.0 – 192.0.0.255 IETF-Protokoll-Zuweisungen, DS-Lite (/29)
192.0.2.0/24 192.0.2.0 – 192.0.2.255 Zugewiesen als TEST-NET-1, für Dokumentation und Beispiele
192.88.99.0/24 192.88.99.0 – 192.88.99.255 Reserviert. Wurde früher für IPv6-zu-IPv4-Relay verwendet
192.168.0.0/16 192.168.0.0 – 192.168.255.255 Wird für die lokale Kommunikation innerhalb eines privaten Netzwerks verwendet
198.18.0.0/15 198.18.0.0 – 198.19.255.255 Wird für Benchmark-Tests der netzwerkübergreifenden Kommunikation zwischen separaten Subnetzen genutzt
198.51.100.0/24 198.51.100.0 – 198.51.100.255 Zugewiesen als TEST-NET-2, für Dokumentation und Beispiele
203.0.113.0/24 203.0.113.0 – 203.0.113.255 Zugewiesen als TEST-NET-3, für Dokumentation und Beispiele
224.0.0.0/4 224.0.0.0 – 239.255.255.255 Wird für Multicast verwendet (vormals Klasse D Netzwerk)
233.252.0.0/24 233.252.0.0 – 233.252.0.255 Zugewiesen als MCAST-TEST-NET, für Dokumentation und Beispiele (Teil des Multicast-Raums)
240.0.0.0/4 240.0.0.0 – 255.255.255.254 Für zukünftige Nutzung reserviert (vormals Klasse E Netzwerk)
255.255.255.255/32 255.255.255.255 Reserviert für die „Limited Broadcast“-Zieladresse

Lernen Sie, wie Sie mit einem einfachen Python-Skript eine zufällige IP-Adresse erzeugen können!

Generierung einer zufälligen IP-Adresse in Python

Folgen Sie dieser Schritt-für-Schritt-Anleitung, um zu lernen, wie man eine Python-Funktion zur Generierung zufälliger IP-Adressen erstellt!

Schritt Nr. 1: Definition einer Funktion zur Generierung von IPv4-Adressen

IPv4-Adressen sind nichts anderes als Zeichenketten, die aus vier Oktetten bestehen, die jeweils von 0 bis 255 reichen. Um diese Zufallszahlen im IP-Format zu generieren, steht Ihnen die folgende Logik offen:

def generate_random_ipv4():
    return f"{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}"

randint() von random erzeugt eine Zufallszahl zwischen 0 und 255. Die Funktion generate_random_ipv4() gibt somit eine Zeichenkette in folgendem Format zurück:

X.Y.Z.A 

Wobei XYZund A Zahlen zwischen 0 und 255 sind.

Denken Sie daran, Random aus der Python-Standard-Bibliothek zu importieren:

import random

Schritt Nr. 2: Ergänzung der Filterlogik für reservierte IPs

Die ipaddress-Bibliothek der Python-Standardbibliothek bietet eine IPv4-Address-Klasse. Diese stellt ein is_reserved-Attribut bereit, um die Reservierung einer IP-Adresse zu überprüfen.

Importieren Sie zunächst die ipaddress-Bibliothek:

import ipaddress

Verwenden Sie diese anschließend, um eine Logik zu erstellen, die mehrfach zufällige IP-Adressen erzeugt, bis eine nicht reservierte Adresse entsteht:

while True:
    # Generate a random IP address
    ip = f"{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}"
    
    # Check if the generated IP is within the reserved blocks
    if not ipaddress.IPv4Address(ip).is_reserved:
        return ip

Wunderbar! Und schon ist Ihre Python-Funktion des IP-Zufallsgenerators erstellt.

Schritt 3: Testen der Funktion

Die Funktion zur Generierung zufälliger IP-Adressen sollte folgendermaßen aussehen:

import random
import ipaddress


def generate_random_ipv4():
    while True:
        # Generate a random IP address
        ip = f"{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}.{random.randint(0, 255)}"
        
        # Check if the generated IP is within the reserved blocks
        if not ipaddress.IPv4Address(ip).is_reserved:
            return ip

Rufen Sie die IP-Zufallsfunktion auf und geben Sie das Ergebnis aus:

ip = generate_random_ipv4()
print(ip)

Das Ergebnis sieht ungefähr so aus:

61.18.2.4

Fantastisch! Mission erfüllt.

Extra: Erstellung eines IPv6-Zufallsgenerators

Ebenso wie beim IPv4-Generator können Sie wie folgt auch einen IPv6-Generator erstellen:

import random
import ipaddress


def generate_random_ipv6():
    while True:
        # Generate a random IPv6 address
        ip = ":".join(f"{random.randint(0, 0xFFFF):04x}" for _ in range(8))
        
        # Check if the generated IP is within the reserved blocks
        if not ipaddress.IPv6Address(ip).is_reserved:
            return ip

Verwendung zufälliger IPs zum Schutz Ihrer Identität

Nun stellt sich aber die Frage: Wozu brauchen Sie einen IP-Zufallsgenerator? Hier sind einige mögliche Antworten:

  • Zum Lernen: Nutzen Sie ihn als Instrument, um die Struktur und Verwaltung von IP-Adressen zu verstehen.
  • Zum Testen: Verwenden Sie den Generator in Prozessen, die eine IP-Adresse als Eingabe benötigen bzw. bei denen IPs für bestimmte Aufgaben verwendet werden, z. B. zur Überprüfung von Netzwerkkonfigurationen, Firewalls oder anderen Systemen.

Vergessen Sie nicht, dass eine IP-Adresse ein eindeutiger Identifikator ist. Wäre es nicht fantastisch, wenn man eine zufällige IP-Adresse erzeugen und diese zur Verschleierung der eigenen Identität verwenden könnte? Dies wäre beispielsweise beim Web-Scrapingfür Folgendes nützlich:

  1. Verhindern, dass die Zielseite automatisierte Anfragen erkennt.
  2. Bereitstellung eines praktisch unendlichen Pools von IPs, mit denen Sie arbeiten können, um Anti-Scraping-Maßnahmen wie Ratenbegrenzungen zu umgehen.

Das wäre wirklich großartig! Allerdings ist es nicht möglich, einfach einen IP-Zufallsgenerator zu erstellen und ihn direkt auf Ihrem Rechner zu verwenden. Was Sie aber stattdessen tun können, ist, Ihre Anfragen über einen Pool von Proxyservern zu leiten.

Mit dieser Methode wird sichergestellt, dass jede von Ihrem Rechner ausgehende Anfrage von einer anderen IP-Adresse zu stammen scheint. Erfahren Sie mehr in unserem Tutorial über das Rotieren einer IP-Adresse.

Der Einsatz von Proxys kommt der Nutzung eines IP-Zufallsgenerators für Online-Sicherheit und -Anonymität am nächsten. Viele führende Anbieter von Proxys für Privatanwender bieten riesige Pools gültiger IPs – oft im Millionenbereich. Das heißt, Proxys kommen einem Zugriff auf zufällige IPs recht nahe.

Techniken für zufällige IP-Rotation

Nachdem Sie jetzt die Vorteile von IP-Rotation gegenüber der einfachen IP-Generierung kennen. Betrachten wir doch einmal einige Methoden zur Verwendung zufälliger IPs!

VPNs

Ein VPN, kurz für „Virtual Private Network“, verbirgt Ihre IP-Adresse, indem es Ihre Verbindung über Server an verschiedenen Standorten leitet. Auf diese Weise erhalten Sie Zugang zu einer zufälligen Anzahl von IPs auf der ganzen Welt.

Anders als ein Proxyserver erzeugt ein VPN zudem einen sicheren, verschlüsselten Tunnel zwischen Ihrem Gerät und dem VPN-Netzwerk. Einen ausführlicheren Vergleich finden Sie in unserem Artikel VPN vs. Proxy.

👍 Vorteile:

  • Verfügbarkeit einer Vielzahl von IPs aus der ganzen Welt
  • Verschlüsselung des Datenverkehrs zum Schutz der Privatsphäre
  • Ist hervorragend für allgemeines Surfen geeignet

👎 Nachteile:

  • Lässt sich nur schwer auf Anwendungsebene integrieren
  • Begrenzter IP-Pool verglichen mit Proxys
  • Erkennbare IPs aus Rechenzentren

Proxys

Ein Proxy fungiert als Vermittler zwischen Ihrem Gerät und dem Zielserver. Bei diesem Mechanismus wird die IP-Adresse des Proxy-Servers anstelle Ihrer eigenen verwendet. Dadurch erhalten Sie Zugang zu einem Pool von „zufälligen“ IPs für einen besseren Schutz der Anonymität und zur Umgehung von Beschränkungen.

Proxys lassen sich im Gegensatz zu einem VPN leichter und direkt in Ihren Code integrieren, da die meisten HTTP-Clients die Proxy-Konfiguration unterstützen. Im Folgenden finden Sie ein Beispiel für die Implementierung der IP-Rotation mit Proxys anhand von Anfragen:

import requests  
import random  

# Pool of proxies
proxies = [  
    "<PROXY_URL_1>",  
    "<PROXY_URL_2>",  
    "<PROXY_URL_3>"  
]  

# Get a random proxy config
def get_random_proxy():  
    return {"http": random.choice(proxies), "https": random.choice(proxies)}  

# Example usage   
proxy = get_random_proxy()
response = requests.get("https://example.com", proxies=proxy)

Sollten Sie sich nicht sicher sein, woher Sie rotierende Proxys beziehen können, lesen Sie unseren Leitfaden zu den besten rotierenden Proxys auf dem Markt.

👍 Vorteile:

  • Große und zuverlässige IP-Pools
  • Hochgeschwindigkeitsverbindungen
  • Anpassbare Rotationsfrequenz

👎 Nachteile:

  • Technische Einrichtung erforderlich

Web-Scraping-APIs

Eine Web-Scraping-API stellt alle Tools bereit, die Sie zur Vereinfachung des Web-Scraping-Prozesses benötigen. Anstatt sich um komplexe Dinge wie die Verwaltung von Proxys, Benutzeragenten, CAPTCHAs, Anti-Bot-Maßnahmen und Wiederholungen zu kümmern, rufen Sie einfach die API mit Ihrer Ziel-URL auf. Sie gibt den HTML-Inhalt der Seite zurück oder extrahiert diese Daten automatisch in ein strukturiertes JSON-Format.

Erfahren Sie, warum die Scraper-API von Bright Data eine der besten Lösungen für Web-Scraping ist. Die Lösung umfasst fortschrittliches Anti-Bot-Management, IP-Rotation, Planung der Datenübertragung und vieles mehr.

👍 Vorteile:

  • Umfassende Scraping-Lösung
  • Zugriff auf eine Vielzahl von IPs in Ihrer Anwendung, ohne weitere Konfiguration
  • Skalierbarkeit für große Projekte

👎 Nachteile:

  • Zwingt zur Abhängigkeit von einem Drittanbieterdienst

Fazit

In dieser Anleitung lernen Sie, was eine IP-Adresse ist, woraus sie besteht und wie man einen IP-Zufallsgenerator in Python erstellt. Die Erzeugung zufälliger IP-Adressen ist zwar einfach, aber für sich genommen nicht besonders nützlich. Sie können diese nicht einfach verwenden, um die Identität Ihres Rechners zu überschreiben.

Dies lässt sich durch einen anderen Mechanismus erreichen: Proxyserver. Ein Proxyserver fungiert als Vermittler, indem er von Ihnen ausgehende Anfragen an die Zielserver weiterleitet und die Antworten der Zielserver an Sie zurückleitet. Auf diese Weise bekommt der Zielserver nur die IP-Adresse des Proxyservers zu sehen und nicht Ihre tatsächliche Adresse.

Die eigentliche Herausforderung liegt in der Auswahl eines zuverlässigen Proxyanbieters. Inzwischen gibt es zwar Dutzende von Anbietern, die ähnliche Dienste bereitstellen, aber nicht alle sind vertrauenswürdig oder effektiv. Folglich benötigen Sie einen Anbieter mit zuverlässigen Servern, einem großen Pool von IPs und strengen Datenschutzrichtlinien. Bevor Sie Zeit damit verschwenden, alle Anbieter zu testen, wenden Sie sich lieber direkt an die beste Wahl des Marktes, Bright Data.

Bright Data betreibt die weltweit besten Proxy-Server und betreut Fortune-500-Unternehmen sowie mehr als 20.000 Kunden.

Zusammengefasst handelt es sich um eines der größten und zuverlässigsten auf Scraping ausgerichteten Proxy-Netzwerke auf dem Markt.

Erstellen Sie ein Bright-Data-Konto und testen Sie diese Scraping-Services mit einer kostenlosen Testversion!

Keine Kreditkarte erforderlich