Bonsoir � tous,
un petit probl�me r�seau ...
Je dispose de l'adresse IP d'un poste et de son masque de r�seau.
J'aurai besoin de conna�tre l'ensemble des plages r�seau qui compose le
r�seau auquel appartient ce poste.
Je m'explique :
Poste : 192.168.1.128
Masque : 255.255.254.0
J'aimerai que mon programme me donne :
192.168.0
192.168.1
Pour se faire, j'ai utilis� use Net::Netmask; mais je pense qu'il doit y
avoir mieux ...
#!/usr/bin/perl -w
use strict;
use Net::Netmask;
my $block = new Net::Netmask ('192.168.1.128', '255.255.254.0');
my (@data)=$block->inaddr();
while ( my ($zone,$start,$end)=splice(@data,0,3) )
{
my (@rz)=split(/\./,$zone);
my (@ipc)=reverse(splice(@rz,0,3));
my $network=join(".",@ipc);
print $network."\n";
}
Code librement inspir� de
http://www.perl.com/pub/2002/11/20/dns.html
Merci