Retourner au contenu associé (journal : CCNA = Cisco Certified Network Associate)
Posté par Yves Agostini le 16 juin 2004 à 21:20. En réponse au journal CCNA = Cisco Certified Network Associate. Évalué à 2.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# apt-get install
Posté par Yves Agostini . En réponse au journal CCNA = Cisco Certified Network Associate. Évalué à 2.
sipcalc
libnetaddr-ip-perl pour le module perl NetAddr::IP si tu veux développer ce que tu veux.
ou tres simplement :
#!/usr/bin/perl
# a partir de NetAddr::IP
use strict;
my $wildcard=$ARGV[1];
my $ip=$ARGV[0];
print "$ip appartient au reseau cisco : \n";
print ipcalc($ip,$wildcard);
print "\n";
sub ipcalc ($$) {
my $ip=shift;
my $mask=shift;
return to_quad(to_bit($ip) & ~to_bit($mask))." ".$mask;
}
sub to_bit ($) {
my $ip = shift;
my $bip = '';
my ($a,$b,$c,$d) = split ('\.',$ip);
vec($bip, 0, 8) = $a;
vec($bip, 1, 8) = $b;
vec($bip, 2, 8) = $c;
vec($bip, 3, 8) = $d;
print "binaire:".unpack("b*", $bip)."-$ip\n";
return $bip;
}
sub to_quad ($) {
my $vec = shift;
return vec($vec, 0, 8) . '.' .
vec($vec, 1, 8) . '.' .
vec($vec, 2, 8) . '.' .
vec($vec, 3, 8);
}