ebrnospam
2012-10-09 18:45:06 UTC
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
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