Comment obtenir l'adresse IP préfixe, alors que nous avons de sous-réseau et adresse IPv4 à l'aide de python-netaddr?

Je suis à l'aide de python-netaddr bibliothèque pour travailler sur des Adresses IP et sous-réseaux. J'ai lu l'intégralité documentaion de netaddrd donné: Netaddr documentation. Mais n'ai pas trouvé de solution à mon problème. J'ai une Adresse IP de sous-réseau et je veux obtenir un préfixe ip en utilisant les deux d'entre eux. Afin que je puisse imprimer toutes les ip à venir dans le sous-réseau.

Par exemple:

Ip Address: 192.0.2.0
Subnet Network: 255.255.255.0

It should return the prefix which is : 24
D'où vient 24 viennent?
Avez-vous essayé par exemple IPAddress('192.0.2.0/255.255.255.0')? Vous pouvez obtenir une liste de toutes les adresses de sous-réseau, avec un exemple dans la documentation que vous avez lié.
Est /24 est une façon de représenter le masque 255.255.255.0 qui est aussi 11111111.11111111.11111111.00000000
Vous voulez donc, étant donné un pointillé le masque de réseau, obtenir la longueur du préfixe? L'adresse ip ne permet pas de faire une différence, ici, n'est ce pas?
IPAddress() ne prend pas en charge les masques de réseau ou sous-réseau préfixes! C'est pourquoi vous devez utiliser des IPNetwork()

OriginalL'auteur Amit Pal | 2012-05-30