Konvertieren von IPv4-Adresse mit einem Hex-IPv6-Adresse in Python

Q: Schreiben Sie ein Programm, das den Benutzer auffordert, eine IP-Adresse wandelt dann diese zu einer Basis 10, Binär-und hex-Wert. Das Programm konvertiert dann den hex-Wert zu einem RFC3056 IPv6 6to4-Adresse.

Habe ich die Basis 10 und der binären Teile arbeiten, aber ich kann nicht scheinen, um meinen Kopf um den hex-Teil. Kann die format-string-Methode verwendet werden, die irgendwie auf das gleiche erreichen? Oder brauche ich zum importieren die IP-Adresse des Moduls in diesem Fall?

#!/usr/bin/python3

ip_address = input("Please enter a dot decimal IP Address: ")

"""This part converts to base 10"""
ListA = ip_address.split(".")
ListA = list(map(int, ListA))
ListA = ListA[0]*(256**3) + ListA[1]*(256**2) + ListA[2]*(256**1) + ListA[3]
print("The IP Address in base 10 is: " , ListA)

"""This part converts to base 2"""
base2 = [format(int(x), '08b') for x in ip_address.split('.')]
print("The IP Address in base 2 is: ", base2)

"""This part converts to hex"""
hexIP = []
[hexIP.append(hex(int(x))[2:].zfill(2)) for x in ip_address.split('.')]
hexIP = "".join(hexIP)
print("The IP Address in hex is: " , hexIP)

EDIT: Geschafft, konvertieren Sie die IP-Adresse als hex-Wert. Nun, wie wandle ich diesen hex-Wert in die IPv6-Adresse?

InformationsquelleAutor user1819786 | 2013-11-03
Schreibe einen Kommentar