À propos de netaddr qui gère l'adresse IP, le CIDR, etc. en Python

CIDR Un acronyme pour le routage inter-domaines sans classe. La signification est "un mécanisme qui permet l'attribution d'adresses IP et la sélection d'itinéraire sans utiliser le concept de classe d'adresses". (Extrait du dictionnaire de terminologie informatique qui vous fait vous sentir "compris" même si vous "comprenez" et "ne comprenez pas") https://wa3.i-3-i.info/word11990.html Ce site explique divers termes informatiques. La description est très facile à comprendre même pour les amateurs, et elle est utile.

netaddr Il s'agit d'une bibliothèque Python utilisée pour faire fonctionner le réseau IP. La documentation officielle (https://pypi.org/project/netaddr/) décrit une bibliothèque de manipulation d'adresses réseau pour Python. Vous pouvez facilement comparer les réseaux IP, prendre un ensemble de différences, prendre des parties communes, obtenir une liste des adresses IP incluses, etc.

Exemple). Ensemble de différences

Utilisez IPSet () pour prendre la différence entre les blocs IP en notation CIDR.

>>> s1 = IPSet(['0.0.0.0/0']) # 0.0.0.0/Ajouter 0 comme élément
>>> s1.remove('255.255.255.255') # remove()Supprimer uniquement l'adresse spécifiée dans
>>> s1
IPSet(['0.0.0.0/1', '128.0.0.0/2', '192.0.0.0/3', '224.0.0.0/4', '240.0.0.0/5', ... '255.255.255.254/32'])

Si vous faites cela, les blocs IP et adresses restants après déduction de l'adresse spécifiée par remove seront renvoyés dans une liste. Essayer de faire cela sans bibliothèque est assez ennuyeux.

Recommended Posts

À propos de netaddr qui gère l'adresse IP, le CIDR, etc. en Python
Obtenez votre propre adresse IP en Python
À propos de __all__ en python
[Python] Insérez ":" dans l'adresse MAC
Convertir la notation CIDR en Python
À propos de "for _ in range ():" de python
J'ai pensé à la logique qui divise / 22 ou / 23 en / 24 unités en spécifiant la plage IP en Python.
À propos de psd-tools, une bibliothèque capable de traiter des fichiers psd en Python
À propos de Python et Cython dtype
J'ai essayé d'étudier le processus avec Python
Méthode Hash (méthode d'adresse ouverte) en Python
Obtenez l'adresse IP du client avec Django
Implémenter __eq__ etc. de manière générique dans la classe Python
Présentation du "jsii" magique qui exécute des programmes écrits en TypeScript avec Python, etc.