??PHP??IP????????IP

星期四, 9th 四月 2009

??IP?mask?????????IP?????IP, ??IP, Broadcast?Network  

#!/usr/local/bin/php

<?php
$ip_addr = "168.95.1.1";
$subnet_mask = "255.255.255.0";
$ip = ip2long($ip_addr);
$nm = ip2long($subnet_mask);
$nw = ($ip & $nm);
$bc = $nw | (~$nm);

echo "IP Address: " . long2ip($ip) . "n";
echo "Subnet Mask: " . long2ip($nm) . "n";
echo "Network Address: " . long2ip($nw) . "n";
echo "Broadcast Address: " . long2ip($bc) . "n";
echo "Number of Hosts: " . ($bc - $nw - 1) . "n";
echo "Host Range: " . long2ip($nw + 1) . " -> " . long2ip($bc - 1) . "n"; ?>
Produces the output:

IP Address: 172.14.1.57
Subnet Mask: 255.255.255.0
Network Address: 172.14.1.0
Broadcast Address: 172.14.1.255
Number of Hosts: 254
Host Range: 172.14.1.1 -> 172.14.1.254

?>