diff --git a/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php b/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php index 2601890664881d7e290c92a582f52fb01b58eca5..e1bec7d97b82826f6ee73ba23c0cef3977994ce5 100644 --- a/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php +++ b/app/subnets/scan/subnet-scan-execute-update-snmp-arp.php @@ -74,8 +74,8 @@ if (sizeof($all_subnet_hosts)>0) { // add to alive $result[$Subnets->transform_address($r['ip'], "decimal")]['code'] = 0; $result[$Subnets->transform_address($r['ip'], "decimal")]['status'] = "Online"; - // update alive time - @$Scan->ping_update_lastseen($result[$Subnets->transform_address($r['ip'], "decimal")]['id']); + // update alive time and mac address + @$Scan->ping_update_lastseen($result[$Subnets->transform_address($r['ip'], "decimal")]['id'], null, $r['mac']); } } } diff --git a/functions/classes/class.Radius.php b/functions/classes/class.Radius.php index 09156ea7b18df5b61747e2dc5486bc98bc23a331..71e17ed1055a5523bdcbbe34a3858cc368265b3d 100644 --- a/functions/classes/class.Radius.php +++ b/functions/classes/class.Radius.php @@ -228,7 +228,7 @@ class Radius * @param integer accounting port * @return NULL *********************************************************************/ - public function Radius($ip_radius_server = '127.0.0.1', $shared_secret = '', $radius_suffix = '', $udp_timeout = 5, $authentication_port = 1812, $accounting_port = 1813) + public function __construct($ip_radius_server = '127.0.0.1', $shared_secret = '', $radius_suffix = '', $udp_timeout = 5, $authentication_port = 1812, $accounting_port = 1813) { $this->_radius_packet_info[1] = 'Access-Request'; $this->_radius_packet_info[2] = 'Access-Accept'; diff --git a/functions/classes/class.Scan.php b/functions/classes/class.Scan.php index 29b83570f9d0f1e3c90b63a287511801e9231737..0f1e92ddc34bbcaa843a6c8bbdeea44aaa84b171 100644 --- a/functions/classes/class.Scan.php +++ b/functions/classes/class.Scan.php @@ -587,11 +587,15 @@ class Scan extends Common_functions { * @param datetime $datetime * @return void */ - public function ping_update_lastseen ($id, $datetime = null) { + public function ping_update_lastseen ($id, $datetime = null, $mac = null) { # set datetime $datetime = is_null($datetime) ? date("Y-m-d H:i:s") : $datetime; # execute - try { $this->Database->updateObject("ipaddresses", array("id"=>$id, "lastSeen"=>$datetime), "id"); } + $update_ipaddress = array("id"=>$id, "lastSeen"=>$datetime); + if (!is_null($mac)) { + $update_ipaddress["mac"] = $mac; + } + try { $this->Database->updateObject("ipaddresses", $update_ipaddress, "id"); } catch (Exception $e) { !$this->debugging ? : $this->Result->show("danger", $e->getMessage(), false); # log