1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
print("les valeur du CIDR vont de /1 à* /32 \n\n")
cidr = input("Sasir le CIDR du masque voulu (exemple 24 pour /24): \n\n")
cidr = int(cidr)
i = 0 # Premier compteur.
B_cidr = False # Arret de la première boucle. (Boucle_cidr)
Bi_cidr = False # Arret de la deuxième boucle.(Boucle.inbriquée_cidr)
while B_cidr != True: # Boucle pour informer et verifier si l'utilisateur reste dans les limites définie au début.
if cidr >= 1 and cidr <= 32:
while Bi_cidr != True:
if i == cidr:
nb_reseau_via_cidr = (2 ** cidr) # Calcul du nombre de réseau via un masque sous réseau
print("Votre masque sous réseau est {}".format (mask[i]))
print("Le nombre de réseau disponible est de {}".format (nb_reseau_via_cidr))
Bi_cidr = True
else:
i += 1
B_cidr = True
else:
cidr = input("Sasir le CIDR du masque voulu (exemple 24 pour /24): \n\n")
cidr = int(cidr)
tabmask = [0, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
# La premiere valeur du tableau mask est de 0 pour la comparaison dans la boucle ci dessous afin d'éviter les erreurs
nb_hotes_par_reseau = (2 ** tabmask[i]) - 2
for loop in range (nb_hotes_par_reseau):
if ip4 < 255:
print("{}.{}.{}.{}".format (ip1, ip2, ip3, ip4))
ip4 += 1
elif ip4 > 254 and ip3 < 255:
print("{}.{}.{}.{}".format (ip1, ip2, ip3, ip4))
print("")
ip3 += 1
ip4 = 0
elif ip4 > 254 and ip3 > 254 and ip2 < 255:
ip2 += 1
ip3 = 0
ip4 = 0
print("{}.{}.{}.{}".format (ip1, ip2, ip3, ip4))
print("")
elif ip4 > 255 and ip3 > 255 and ip2 > 255 and ip1 <= 255:
ip1 += 1
ip2 = 0
ip3 = 0
ip4 = 0
print("{}.{}.{}.{}".format (ip1, ip2, ip3, ip4))
print("")
else:
print("Erreur") |
Partager