• # apt-get install

    Posté par . En réponse au journal CCNA = Cisco Certified Network Associate. Évalué à 2.

    ipcalc
    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);
    }