Bash - Trouver le réseau avec une IP et un masque

Bash - Trouver le réseau avec une IP et un masque - Shell/Batch - Programmation

Marsh Posté le 02-08-2011 à 12:16:26    

Bonjour,
 
En partant d'une IP w.x.y.z et d'un Masque A.B.C.D, je souhaiterais trouver le réseau correspondant.
 
Sur le papier, je me suis dis que j'allais récupérer l'octet du masque qui est différent de 255 et de 0 (ou le dernier 255), puis sur l'octet de l'IP correspondant, mettre à zéro tous les bits qui vont bien.
 
En gros, si j'ai un masque à 255.255.240.0, je récupère le 240, je le passe en binaire, et sur l'octet y de l'IP je mets les quatre derniers bits à zéro.
 
- Mon premier problème est le passage en binaire. Avec l'octet du masque, j'aurais toujours 8 bits, mais pas forcément sur celui de l'IP. Genre 54 qui me donne 110110. Je n'arrive pas à ajouter deux zéros pour compléter mon octet.
 
- Second problème, même si j'y arrivais, je ne sais pas trop comment m'y prendre pour mettre à zéro les 4 derniers bits dans le cas de d'un masque à 240.
 
J'ai pensé à sed, awk, cut et aux tableaux, mais je ne maîtrise pas trop et je n'obtiens jamais un code qui répond à tous les cas de figures.
 
Pouvez-vous m'aidez, soit sur mes deux problèmes, soit sur ma problématique générale ? Je suis peut-être parti dans des complications inutiles...  
Merci d'avance.

Reply

Marsh Posté le 02-08-2011 à 12:16:26   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed