Dada una string. La tarea es verificar si la string dada es IPv4 o IPv6 o no es válida.
Ejemplos:
Entrada: “192.168.0.1”
Salida: IPv4
Explicación: es una dirección IPv4 válidaEntrada: “2001:0db8:85a3:0000:0000:8a2e:0370:7334”
Salida: IPv6
Explicación: es una dirección IPv6 válidaEntrada: «255.32.555.5»
Salida: no válida
Explicación: es una dirección IPv4 no válida ya que el valor del tercer octeto (es decir, 555) es mayor que 255.Entrada: «250.32:555.5»
Salida: no válida
Explicación: la string dada no es válida ya que consta de: y .
Para implementar el problema anterior, usaremos el ipaddress
módulo en Python. Este módulo proporciona las capacidades para crear, manipular y operar en direcciones y redes IPv4 e IPv6.
A continuación se muestra la implementación.
from ipaddress import ip_address, IPv4Address def validIPAddress(IP: str) -> str: try: return "IPv4" if type(ip_address(IP)) is IPv4Address else "IPv6" except ValueError: return "Invalid" if __name__ == '__main__' : # Enter the Ip address Ip = "192.168.0.1" print(validIPAddress(Ip)) Ip = "2001:0db8:85a3:0000:0000:8a2e:0370:7334" print(validIPAddress(Ip)) Ip = "256.32.555.5" print(validIPAddress(Ip)) Ip = "250.32:555.5" print(validIPAddress(Ip))
Producción :
IPv4 IPv6 Invalid Invalid
Publicación traducida automáticamente
Artículo escrito por chirags_30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA