Que ce soit pour le travail, pour créer un réseau, ou pour réaliser des exercices pour les cours, ou tout simplement pour le fun, nous avons parfois besoin de calculer des IP, réseaux, masques et ainsi de suite. Si connaître la théorie est importante, via des calculs binaires (ET, OU, …), nous trouvons déjà pas mal de tutoriels sur le Net en plus de ce que nous apprenons en cours. J’avais déjà eu à la faire pour le CNAM en RSX101 (Réseaux et Télécommunications) et je viens d’avoir à travailler de nouveau sur ces sujets pour le cours de RSX103 (Réseaux : compléments et applications). A l’époque j’avais utilisé ShunIPCalc pour me faciliter la vie. je l’avais aussi utilisé en entreprise pour concevoir notre actuel réseau et son découpage. Mais j’ai pu découvrir récemment d’autres applications sous Linux pour le compléter comme sipcalc, ipcalc et GIP (Internet Protocol Calculator). Voici donc une brève présentation de ces outils qui je l’espère pourra vous aider pour le CNAM ou au travail. 🙂
Sommaire
ShunIPCalc
Surement le plus connu et le premier que j’ai utilisé. Sous Windows il s’agit d’un freeware. Facile d’utilisation et très complet c’est celui que j’ai utilisé le jour où j’ai du modifier le réseau de mon entreprise. En effet on peut facilement concevoir des plans d’adressage compliqués en choisissant de travailler sur des plages d’IP, des nombres de machines par sous-réseaux et ainsi de suite.
C’est vraiment une aide et le site y apporte beaucoup. En plus de donner un logiciel complet, son auteur a rédigé des pages explicatives sur tous les calculs. Je crois bien que j’ai autant du utiliser son aide en ligne que son logiciel afin de bien maîtriser ces concepts et calculs 😉
sipcalc
Sur une Ubuntu desktop rien de plus simple pour l’installer :
sudo apt-get install sipcalc
Ensuite il vous suffit de le lancer via la console :
gals@gals-UVB:~$ sipcalc 10.0.0.0/25
-[ipv4 : 10.0.0.0/25] – 0
[CIDR]
Host address – 10.0.0.0
Host address (decimal) – 167772160
Host address (hex) – A000000
Network address – 10.0.0.0
Network mask – 255.255.255.128
Network mask (bits) – 25
Network mask (hex) – FFFFFF80
Broadcast address – 10.0.0.127
Cisco wildcard – 0.0.0.127
Addresses in network – 128
Network range – 10.0.0.0 – 10.0.0.127
Usable range – 10.0.0.1 – 10.0.0.126
–
gals@gals-UVB:~$
L’aide est assez complète et nous montre pas mal d’options :
gals@gals-UVB:~$ sipcalc -h
sipcalc 1.1.5Usage: sipcalc [OPTIONS]… <[ADDRESS]… [INTERFACE]… | [-]>
Global options:
-a, –all All possible information.
-d, –resolve Enable name resolution.
-h, –help Display this help.
-I, –addr-int=INT Added an interface.
-n, –subnets=NUM Display NUM extra subnets (starting from
the current subnet). Will display all subnets
in the current /24 if NUM is 0.
-u, –split-verbose Verbose split.
-v, –version Version information.
-4, –addr-ipv4=ADDR Add an ipv4 address.
-6, –addr-ipv6=ADDR Add an ipv6 address.IPv4 options:
-b, –cidr-bitmap CIDR bitmap.
-c, –classfull-addr Classfull address information.
-i, –cidr-addr CIDR address information. (default)
-s, –v4split=MASK Split the current network into subnets
of MASK size.
-w, –wildcard Display information for a wildcard
(inverse mask).
-x, –classfull-bitmap Classfull bitmap.IPv6 options:
-e, –v4inv6 IPv4 compatible IPv6 information.
-r, –v6rev IPv6 reverse DNS output.
-S, –v6split=MASK Split the current network into subnets
of MASK size.
-t, –v6-standard Standard IPv6. (default)Address must be in the « standard » dotted quad format.
Netmask can be given in three different ways:
– Number of bits [/nn]
– Dotted quad [nnn.nnn.nnn.nnn]
– Hex [0xnnnnnnnn | nnnnnnnn]Interface must be a valid network interface on the system.
If this options is used an attempt will be made to gain the address
and netmask from the specified interface.Replacing address/interface with ‘-‘ will use stdin for reading further
arguments.Report bugs to .
gals@gals-UVB:~$
Si jamais il n’est pas disponible par défaut sur votre distribution Linux, n’hésitez pas à visiter les liens ci-dessous pour obtenir les sources.
IP Calculator : ipcalc
Un autre outil en ligne de commandes. Il est installé par défaut sous Ubuntu, CentOS et d’autre distributions.
gals@gals-UVB:~$ ipcalc
[[/]] [NETMASK]
Usage: ipcalc [options]
ipcalc takes an IP address and netmask and calculates the resulting
broadcast, network, Cisco wildcard mask, and host range. By giving a
second netmask, you can design sub- and supernetworks. It is also
intended to be a teaching tool and presents the results as
easy-to-understand binary values.-n –nocolor Don’t display ANSI color codes.
-c –color Display ANSI color codes (default).
-b –nobinary Suppress the bitwise output.
-c –class Just print bit-count-mask of given address.
-h –html Display results as HTML (not finished in this version).
-v –version Print Version.
-s –split n1 n2 n3
Split into networks of size n1, n2, n3.
-r –range Deaggregate address range.
–help Longer help text.Examples:
ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255ipcalc- deaggregate address range
ipcalc
/–s a b csplit network to subnets
where a b c fits in.! New HTML support not yet finished.
ipcalc 0.41
gals@gals-UVB:~$
Ce qui nous donne par exemple :
gals@gals-UVB:~$ ipcalc 10.0.0.0/25
Address: 10.0.0.0 00001010.00000000.00000000.0 0000000
Netmask: 255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard: 0.0.0.127 00000000.00000000.00000000.0 1111111
=>
Network: 10.0.0.0/25 00001010.00000000.00000000.0 0000000
HostMin: 10.0.0.1 00001010.00000000.00000000.0 0000001
HostMax: 10.0.0.126 00001010.00000000.00000000.0 1111110
Broadcast: 10.0.0.127 00001010.00000000.00000000.0 1111111
Hosts/Net: 126 Class A, Private Internetgals@gals-UVB:~$
Je vous laisse découvrir les différentes options possibles et jouer avec. Et pour plus d’informations où si vous ne l’avez pas d’installé, servez-vous des liens ci-dessous.
GIP (Internet Protocol Calculator)
Il s’agit ici d’une application fenêtrée et non plus en ligne de commande. Similaires aux autres elle nous permet de réaliser divers calculs en automatique. Pour l’installer sous Ubuntu rien de plus simple.
sudo apt-get install gip
Lancez là ensuite avec « gip ». Vous aurez alors les fenêtres suivantes :
De quoi faciliter les calculs et les études. Et si vous n’avez pas le paquet tout prêt pour votre distribution, vous pouvez suivre les liens suivant pour vous procurer ce logiciel.
Liens additionnels :
Parce que avoir des solutions toutes prêtes c’est bien, mais citer ces sources et vous permettre d’approfondir c’est tout aussi bien, voici quelques liens pour vous aider. Pour certains cela vous permettra de nombreux exemples de calculs en complément de ceux cités ci-dessus, et pour d’autres des points de vue ou des exemples différents des miens.
- sipcalc, ipcalc et GIP sur Korben
- ipcalc & sipcalc on nixCraft
- Eléments de cours sur l’adressage IP sur Linux France : Un ensemble de pages très complet pour bien comprendre et apprendre tous ces aspects.
- Calculer une plage d’adresses avec la méthode magique sur le Site du Zéro : On ne présente plus ce dernier et ses différents tutoriels.
Comme d’habitude n’hésitez pas à partager vos propres ressources ou liens en commentaires. Plus on partage et mieux c’est. L’information est partage 😉