La traduction de notation CIDR pour les feignants

closeCet article a été publié il y a 8 ans 9 mois 8 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

S’il y a bien quelque chose qui me résiste fermement en matière de réseaux, en dehors de la configuration d’ipv6 sur la présente machine, c’est bien la notation CIDR. Conçue en théorie pour simplifier certaines choses, et notamment des plages d’ip en se passant de masque de sous réseau, son calcul est des plus imbuvables, même pour moi. Feignantise oblige, j’ai cherché une solution, et j’ai trouvé.

Rappel rapide sur le pourquoi du comment du CIDR

Je présente aujourd’hui le cas d’ipv4, mais la notation CIDR est aussi utilisée en ipv6.

Donc, le CIDR est censé faire gagner du temps pour le calcul de plages d’adresses ip. C’est peut-être le cas des ordinateurs mais pour ma part, j’ai les plus grandes difficultés à la lire. Et pour son calcul… Je vous laisse tenter de lire la page Wikipedia pour bien vous rendre compte de l’aspect émétique du procédé.

La solution du feignant : cidr2ip

C’est dans le cadre du travail une fois de plus que le problème s’est posé à moi. On me demandait une restriction d’accès à certaines plages d’adresses, qui semblait mal fonctionner. Et donc pour vérifier que les testeurs étaient bien dans les bonnes plages (une erreur de frappe dans une demande texte est si vite arrivée), j’ai cherché un traducteur.
Je ne dois pas être le seul à avoir des problèmes parce qu’un petit malin a pondu un script pour faire le boulot: cidr2ip. (update : j’ai repris le code sur mon propre compte Github suite à la disparition du dépôt original que je partageais)

Son utilisation est des plus triviales. On l’appelle en ligne de commande en lui passant une plage d’adresses en argument et il affiche la liste des adresses de la plage en question. Diablement simple, diablement efficace.

Un outil de plus dans ma besace

Ce n’est certes pas le premier petit utilitaire/script que je vous présente, mais c’est l’un des premiers que je vous fais découvrir grâce à mon travail. Il ne sera probablement pas le dernier d’ailleurs, ou alors vous pourriez bien tomber sur des têtes connues, mais dont on creusera un peu plus les fonctions. Bref, j’ai peut-être moins de temps à vous consacrer, mais je ne m’arrêterai pas pour autant 😉

PS : C’est du Perl. En théorie, il est possible de l’utiliser sous Windows, mais je ne peux pas vous le garantir, n’ayant pas la possibilité de tester.

2 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Sky
Sky
08/05/2017 13:23

Sinon ipcalc fait le job, mais en mieux 🙂

⏚ luc@odysseus: ~ % ipcalc 192.168.1.0/24
Address: 192.168.1.0 11000000.10101000.00000001. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000
HostMin: 192.168.1.1 11000000.10101000.00000001. 00000001
HostMax: 192.168.1.254 11000000.10101000.00000001. 11111110
Broadcast: 192.168.1.255 11000000.10101000.00000001. 11111111
Hosts/Net: 254 Class C, Private Internet

Cascador
08/05/2017 18:50

Yo,

Moi j’ai opté pour le net : http://cric.grenoble.cnrs.fr/Administrateurs/Outils/CalculMasque/

Tcho !