include '../includes/functions.php';
$ip_oct_1 = ($_POST['ip_oct_1']);
$ip_oct_2 = ($_POST['ip_oct_2']);
$ip_oct_3 = ($_POST['ip_oct_3']);
$ip_oct_4 = ($_POST['ip_oct_4']);
if ($ip_oct_1 == ""){
$ip_oct_1 = "0";
}
if ($ip_oct_2 == ""){
$ip_oct_2 = "0";
}
if ($ip_oct_3 == ""){
$ip_oct_3 = "0";
}
if ($ip_oct_4 == ""){
$ip_oct_4 = "0";
}
$cdr_nmask = ($_POST['cdr_nmask']);
$dq_host = "$ip_oct_1.$ip_oct_2.$ip_oct_3.$ip_oct_4";
$bin_nmask=cdrtobin($cdr_nmask);
$bin_wmask=binnmtowm($bin_nmask);
//Check for valid $dq_host
if(! ereg('^0.',$dq_host)){
foreach( explode(".",$dq_host) as $octet ){
if($octet > 255){
tr("Invalid IP Address");
print $end ;
exit;
}
}
}
$bin_host=dqtobin($dq_host);
$bin_bcast=(str_pad(substr($bin_host,0,$cdr_nmask),32,1));
$bin_net=(str_pad(substr($bin_host,0,$cdr_nmask),32,0));
$bin_first=(str_pad(substr($bin_net,0,31),32,1));
$bin_last=(str_pad(substr($bin_bcast,0,31),32,0));
$host_total=(bindec(str_pad("",(32-$cdr_nmask),1)) - 1);
if ($host_total <= 0){ //Takes care of 31 and 32 bit masks.
$bin_first="N/A" ; $bin_last="N/A" ; $host_total="N/A";
if ($bin_net === $bin_bcast) $bin_bcast="N/A";
}
//Determine Class
if (ereg('^0',$bin_net)){
$class="A";
}elseif (ereg('^10',$bin_net)){
$class="B";
}elseif (ereg('^110',$bin_net)){
$class="C";
}elseif (ereg('^1110',$bin_net)){
$class="D";
}else{
$class="E";
}
//Define Subnets
if ($cdr_nmask == 8){
$subnets = 1;
}elseif ($cdr_nmask == 9){
$subnets = 2;
}elseif ($cdr_nmask == 10){
$subnets = 4;
}elseif ($cdr_nmask == 11){
$subnets = 8;
}elseif ($cdr_nmask == 12){
$subnets = 16;
}elseif ($cdr_nmask == 13){
$subnets = 32;
}elseif ($cdr_nmask == 14){
$subnets = 64;
}elseif ($cdr_nmask == 15){
$subnets = 128;
}elseif ($cdr_nmask == 16){
$subnets = 256;
}elseif ($cdr_nmask == 17){
$subnets = 512;
}elseif ($cdr_nmask == 18){
$subnets = 1024;
}elseif ($cdr_nmask == 19){
$subnets = 2048;
}elseif ($cdr_nmask == 20){
$subnets = 4096;
}elseif ($cdr_nmask == 21){
$subnets = 8192;
}elseif ($cdr_nmask == 22){
$subnets = 16384;
}elseif ($cdr_nmask == 23){
$subnets = 32768;
}elseif ($cdr_nmask == 24){
$subnets = 65536;
}elseif ($cdr_nmask == 25){
$subnets = 131072;
}elseif ($cdr_nmask == 26){
$subnets = 262144;
}elseif ($cdr_nmask == 27){
$subnets = 524288;
}elseif ($cdr_nmask == 28){
$subnets = 1048576;
}elseif ($cdr_nmask == 29){
$subnets = 2097152;
}else{
$subnets = 4194304;
}
$wmask = bintodq($bin_wmask);
$nmask = bintodq($bin_nmask);
$notation = "$dq_host/$cdr_nmask";
$minhost = bintodq($bin_first);
$maxhost = bintodq($bin_last);
$range = "$minhost - $maxhost";
$broadcast = bintodq($bin_bcast);
?>
|