Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. class IpNetwork {
  2.  
  3. public $direccion_ip = null;
  4. public $mascara = null;
  5.  
  6. public $red = null;
  7. public $default_gw = null; //optional
  8. public $broadcast = null;
  9. public $number_of_hosts = null;
  10. public $ip_inicio = null;
  11. public $ip_fin = null;
  12. public $tftp = null; //optional
  13. public $ntp = null; //optional
  14. public $dns = null; //optional
  15.  
  16. public function __construct($ip_address, $subnet_mask, $start = 1, $end = 1) {
  17. $this->direccion_ip = $ip_address;
  18. $this->mascara = $subnet_mask;
  19.  
  20. $this->calculate($start, $end);
  21. }
  22.  
  23. public function calculate($start, $end) {
  24. $numeric_ip = ip2long($this->direccion_ip);
  25. $numeric_network_mask = ip2long($this->mascara);
  26.  
  27. $numeric_network_address = ($numeric_ip & $numeric_network_mask);
  28. $numeric_broadcast = $numeric_network_address | (~$numeric_network_mask);
  29.  
  30. $this->red = long2ip($numeric_network_address);
  31. $this->broadcast = long2ip($numeric_broadcast);
  32.  
  33. $this->ip_inicio = long2ip($numeric_network_address + $start);
  34. $this->ip_fin = long2ip($numeric_broadcast - $end);
  35.  
  36. $this->default_gw = $this->direccion_ip; //optional
  37. $this->tftp = $this->direccion_ip; //optional
  38. $this->ntp = $this->direccion_ip; //optional
  39. $this->dns = $this->direccion_ip; //optional
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement