Ejemplo n.º 1
0
 /**
  * @return array
  */
 public function provide_valid_parse()
 {
     $validNetmasks = array('255.255.255.255', '255.255.255.254', '255.255.255.252', '255.255.255.248', '255.255.255.240', '255.255.255.224', '255.255.255.192', '255.255.255.128', '255.255.255.0', '255.255.254.0', '255.255.252.0', '255.255.248.0', '255.255.240.0', '255.255.224.0', '255.255.192.0', '255.255.128.0', '255.255.0.0', '255.254.0.0', '255.252.0.0', '255.248.0.0', '255.240.0.0', '255.224.0.0', '255.192.0.0', '255.128.0.0', '255.0.0.0', '254.0.0.0', '252.0.0.0', '248.0.0.0', '240.0.0.0', '224.0.0.0', '192.0.0.0', '128.0.0.0', '0.0.0.0');
     return array_map(function ($netmask) {
         $ip = ip2long('10.0.0.1' . (rand(0, 1) ? '' : '28'));
         $bits = Cidr::countSetBits(ip2long($netmask));
         $bitmask = $bits == 0 ? 0 : ~0 << 32 - $bits;
         $start = $ip & $bitmask;
         $end = $ip | ~$bitmask & 0xffffffff;
         return array(long2ip($ip) . '/' . $netmask, $start, $end);
     }, $validNetmasks);
 }