Python IP-Adresse validieren

Fariba Laiq 21 Juni 2023
  1. Validieren Sie eine IP-Adresse in Python
  2. Verwenden Sie das ipaddress-Modul, um eine IP-Adresse in Python zu validieren
  3. Verwenden Sie die Methode RegEx.search(), um eine IP-Adresse in Python zu validieren
  4. Überprüfen Sie die IP-Adresse manuell in Python
Python IP-Adresse validieren

IP steht für Internet Protocol, eine eindeutige Adresse, die jedem mit dem Internet verbundenen Computer zugewiesen wird. Es gibt zwei Versionen von IP-Adressen namens IPv4 und IPv6.

IPv4 wird in punktierter Dezimalschreibweise dargestellt und besteht aus vier Oktetts, wobei jedes Oktett eine Zahl von 0 bis 255 enthält. IPv6-Adressen enthalten acht Gruppen von vier Hexadezimalziffern, die jeweils 16 Bit darstellen.

Doppelpunkte trennen die Gruppen (:). In diesem Leitfaden validieren wir eine IPv4-Adresse.

Validieren Sie eine IP-Adresse in Python

Das Validieren einer IP-Adresse bedeutet, zu prüfen, ob die eingegebene IP gültig ist oder nicht.

Zum Beispiel:

Input: 192.168.52.124
Output: Valid IP address

Input: 656.1.2.3
Output: Invalid IP address

Verwenden Sie das ipaddress-Modul, um eine IP-Adresse in Python zu validieren

Die ipaddress ist ein Modul in Python, das verwendet wird, um IP-Adressen anhand ihres Typs (IPv4 oder IPv6) zu überprüfen und zu klassifizieren. Es führt auch verschiedene Operationen wie arithmetische Operationen, Vergleiche usw.

Dieses Modul hat eine Methode namens ip_address(), die eine IP-Adresse validiert. Diese Funktion verwendet eine IP-Zeichenfolge als Eingabe, und wenn sie die Zeichenfolge IP erfolgreich in ein Objekt mit einer IPv4- oder IPv6-Adresse konvertieren kann, bedeutet dies, dass die eingegebene IP-Adresse gültig ist.

Andernfalls wird ein Wertfehler ausgelöst, dass die IP keine IPv4- oder IPv6-Adresse zu sein scheint. Wir haben das ipaddress-Modul in den folgenden Code importiert und den ganzen Code in den try-except-Block geschrieben.

Wenn die IP gültig ist, wird keine Ausnahme ausgelöst, und wenn nicht, wird die Wertfehler-Ausnahme vom Ausnahme-Block behandelt.

Fall 1: Für gültige IP-Adresse

# Python 3.x
import ipaddress

try:
    ip = ipaddress.ip_address("192.168.1.1")
    print("Valid IP Address")
except ValueError:
    print("Invalid IP Address")

Ausgang:

#Python 3.x
Valid IP Address

Fall 2: Für ungültige IP-Adresse

# Python 3.x
import ipaddress

try:
    ip = ipaddress.ip_address("992.168.1.1")
    print("Valid IP Address")
except ValueError:
    print("Invalid IP Address")

Ausgang:

#Python 3.x
Invalid IP Address

Verwenden Sie die Methode RegEx.search(), um eine IP-Adresse in Python zu validieren

Eine andere Möglichkeit, eine IP-Adresse zu validieren, besteht darin, sie über einen regulären Ausdruck mit einem vordefinierten Muster einer gültigen IP-Adresse abzugleichen. Wir haben im folgenden Code eine IP-Adresse validiert, indem wir die Methode search() des Moduls re aufgerufen und den Regex und die IP als Argument übergeben haben.

Diese Methode gibt True zurück, wenn die IP gültig ist. Andernfalls wird False zurückgegeben.

Beispielcode:

# Python 3.x
import re

ip = "192.168.2.3"
regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$"
if re.search(regex, ip):
    print("Valid IP Address")
else:
    print("Invalid IP Address")

Ausgang:

#Python 3.x
Valid IP Address

Überprüfen Sie die IP-Adresse manuell in Python

Wir können eine IP-Adresse ohne einen eingebauten regulären Ausdruck der Bibliothek validieren. Wir haben eine Funktion erstellt, die die IP-Adresse validiert, indem diese drei Bedingungen im folgenden Code überprüft werden.

Die IP wird ungültig, wenn eine der folgenden Bedingungen im Code True ist.

  1. Die Anzahl der Oktette ist nicht vier.
  2. Jedes Oktett enthält etwas anderes als eine ganze Zahl.
  3. Jede Zahl innerhalb eines Oktetts liegt außerhalb des Bereichs von 0-255.

Beispielcode:

# Python 3.x
def validate_ip_address(ip):
    octects = ip.split(".")
    if len(octects) != 4:
        return "Invalid IP"
    for number in octects:
        if not isinstance(int(number), int):
            return "Invalid IP"
        if int(number) < 0 or int(number) > 255:
            return "Invalid IP"
    return "Valid IP"


validate_ip_address("192.168.-1.1")

Ausgang:

#Python 3.x
'Invalid IP'
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Python IP Address