/* FreeIP, v20070806.00 get free ip using arpwatch database file by Danil Gerun (http://danil.625.ru) */ $network = "192.168.0.0"; $masklen = 24; $arpdat = '/usr/local/arpwatch/arp.dat'; //first - generate a list of ips if (!( $net = ip2long($network) )) { exit("Invalid network. Sorry guys."); } if (($masklen > 31) or ($masklen < 0)) { exit("Invalid netmask. Sorry guys."); } $hosts = pow(2, 32 - $masklen) - 2; for($i = 0; $i < $hosts; $i++) { $iplist[] = long2ip($net + $i + 1); } //now - get arpwatch database exec('cat '.$arpdat.' | cut -f 2 | sort | uniq', $ipdb); $freeip = array_diff($iplist, $ipdb); ?>
if (!isset($_GET['cool'])) { ?>| Free IPs | ||
|---|---|---|
|
$ips_per_td = ceil(count($freeip) / 3);
$i = 1;
foreach($freeip as $ip) {
echo $ip . ' '; if ($i++ % $ips_per_td == 0) { echo ' | '; } } ?> | |