NAME

Text::DHCPparse - Perl extension for parsing dhcpd lease files

SYNOPSIS

use Text::DHCPparse;

DESCRIPTION

The basic premise of the Text::DHCPparse module is to parse the lease file from an ISC DHCPd server. This is useful for quick reporting on active leases or for tracking purposes. The resulting hash reference is a fixed length record with the key being the IP address for the lease, and the value being the lease info in the following format:

Characters       Field
----------  --------------------
  1 - 17    IP Address
 18 - 38    Last Lease Timestamp
 39 - 57    Hardware Address
 58 - 74    Client Hostname

The following is if you are using the no colon function: Characters Field ---------- -------------------- 1 - 17 IP Address 18 - 38 Last Lease Timestamp 39 - 52 Hardware Address 53 - 69 Client Hostname

(All fields have a minimum 2-space field delimiter for formatting.)

WARNING: Always use a copy of your 'dhcpd.leases' file - never use an original from a live server!

The following is a simple piece of code to show the functionality of the Text::DHCPparse module:

#!/usr/bin/perl

use Text::DHCPparse;

$return = leaseparse('/tmp/dhcpd.leases');

foreach (keys %$return) {
   print "$return->{$_}\n";
}

The following code can be used to take the output from Text::DHCPparse and separate it into individual fields if you don't like the fixed length record:

#!/usr/bin/perl

use Text::DHCPparse;

$return = leaseparse('/tmp/dhcpd.leases');

foreach (keys %$return) {
   ($ip, $time, $mac, $name) = unpack("A17 A21 A19 A30", $return->{$_});
   # code to handle the '$ip $time $mac & $name' variables
}

The exported function leaseparsenc works exactly the same, but it removed colons from the MAC address and shortens the record by 5 characters.

AUTHOR

John D. Shearer <dhcpparse@netguy.org>

SEE ALSO

perl(1).

COPYRIGHT

Copyright (c) 2001 John D. Shearer. All rights reverved. This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.