background preloader

Traitement des données avec Python

15 mai 2023

Traitement des données avec Python

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)