Nous avons modélisé la table du DNS par un dictionnaire. Le programme demande à l'utilisateur d'entrer une adresse ip ou un nom de domaine. Si c'est un nom de domaine, on retrouve l'adresse ip correspondante dans le dictionnaire. À partir de l'adresse ip, on donne l'adresse réseau (net id) et l'adresse de la machine (host id).
1. Complétez la fonction est_ip qui vérifie si la chaîne de caractères passée en paramètre est une adresse IPV4 et renvoie vrai ou faux.
def est_ipv4(ad):
ad = ad.split('.')
if ...................................:
return False
for a in ad:
if .............................................:
return ............
return .............
dns = {"www.qwant.fr":"217.70.184.56", "www.fdj.fr":"194.4.208.20",
"www.monlycee.fr":"213.186.33.19"}
route_vers = input("ping ")
if not est_ipv4(route_vers):
route_vers = dns.get(route_vers)
print("La route pour aller vers ", route_vers)
2. Complétez la fonction net_id qui prend en paramètre l'adresse IP et le masque de sous réseau et qui renvoie l'adresse réseau.
def net_id(adresse, masque):
netid = [0]*4
ad = adresse.split('.')
ma = ..................................
for i in range(4):
netid[i] = ..............................................
netid = '.'.join(netid)
return ......................
masque = "255.255.0.0"
netid = net_id(route_vers, masque)
print("Adresse réseau : ", netid)
3. Réalisez la fonction host_id qui renvoie l'adresse de la machine.
hostid = host_id(route_vers, masque)
print("Adresse machine : ", hostid)