Perl – readresacja w DHCP

Prosty skrypt, który readresuje wpisy w DHCP:


#!/usr/bin/perl

#
# readresor.pl
#
# Created by on 2008-09-15.
#

use Socket;

sub ip2ipn { return unpack 'N', inet_aton(shift); }
sub ipn2ip { return inet_ntoa( pack 'N', shift ); }

my $FILE;
my $err = 0;

if($ARGV[0] eq '') { $err = 1; print qq(Brak pliku wejsciowego \n); }
if($ARGV[1] eq '') { $err = 1; print qq(Brak pierwszego adresu ip \n); }
if($ARGV[2] eq '') { $err = 1; print qq(Brak typu 1 - increment 2 - decrement \n); }

if($err eq 1)
{
print qq(Usage: \n \t readresor.pl \n\n\n);
}
else
{
open(FILE, $ARGV[0]);
$first_ip = $ARGV[1];
$ipn = ip2ipn($first_ip);
while()
{
if(/^(.+)(fixed-address)(.+)(;)/)
{
$ip = ipn2ip($ipn);
print qq(\t\tfixed-address $ip \n);
if($ARGV[2] eq "1")
{
$ipn++;
}
elsif($ARGV[2] eq "2")
{
$ipn--;
}
}
else
{
print qq($_);
}
}
print qq(\n);
}

Smacznego.

Leave a Reply

Your email address will not be published. Required fields are marked *