function alerts_list() { //Go through all the hosts and determine if any alerts should be created global $hosts; $h = new Host(); $hosts = $h->find(); $alerts = new Alert(); foreach ($hosts as $host) { foreach ($host->ports() as $port) { $status = $host->get_port_status($port, true); if ($status == 0) { if ($alert = $alerts->find("WHERE host_id = " . $host->id . " AND port = " . $port)) { //There is already an alert for this, go through each user and see what their preference for this port is send_user_alerts($host->id, $port, $alert->id, 'all'); } else { $alert = new alert(); $alert->message = "HOST: " . $host->name . "PORT: " . $port . ""; $alert->user_id = 1; $alert->host_id = $host->id; $alert->port = $port; $alert->sent_on = time(); $alert->save(); send_user_alerts($host->id, $port, $alert->id, 'single'); //Go through each user and determine what their preference for this port is. } } else { //The port is up, but we need to set up reports if there is an existing one! if ($alert = $alerts->find("WHERE host_id = " . $host->id . " AND port = " . $port)) { //There is already an alert for this, go through each user and see what their preference for this port is send_user_alerts($host->id, $port, $alert->id, 'single'); } } } } render(); }
public function test_to_xml_include() { $xml = Host::find(4)->to_xml(array('include' => 'events')); $decoded = get_object_vars(new SimpleXMLElement($xml)); $this->assert_equals(3, count($decoded['events']->event)); }
/** * Remove the specified resource from storage. * * @param int $id * @return Response */ public function destroy($id) { if (Session::token() != Input::get('_token') || !Request::ajax()) { App::abort(401, 'You are not authorized or using wrong request type or csrf token not provided.'); } $host = Host::find($id); $host->delete(); return "Host removed"; }
function update_scan_script() { //We are going to create an nmap script for every host and all their ports, and save the results in XML global $hosts; $h = new Host(); $hosts = $h->find(); foreach ($hosts as $host) { $ports = $host->ports; $name = $host->name; $cmd[] = "#!/bin/bash\ncd /var/www/admin/scan/commands\n#SCAN for {$name}\nnmap -P0 -O -p {$ports} {$name} -oX ../results/{$name}.xml -oG ../results/{$name}.txt --stylesheet ../nmap.xsl > /dev/null\n"; } $script = "#!/bin/bash\n\n#The nmap commands\n" . implode('', $cmd) . "\n### END of COMMANDS ###\n"; file_put_contents('commands/run_scan.sh', $script); }