$service_name = "<span class=\\'size12n\\'>" . $v['service'] . "</span><span class=\\'size10n ml3\\'> (" . $v['port'] . "/" . getprotobynumber($v['protocol']) . ")</span>"; $service_key = "item_prop_8_{$cont_3}###" . $v['host'] . "###" . $v['port'] . "###" . $v['protocol'] . "###" . $v['service'] . "###4"; $json_properties .= "{ title: '<span>" . $service_name . "</span>', key:'{$service_key}', isFolder:true, icon:'" . $image_url . getPropertyImage("") . "', children:["; $json_properties .= "{ title: '<span class=\\'size12n\\'>" . _("Version") . ": </span><span class=\\'ml3 size12b\\'>" . $v['version'] . "</span>', key:'serv_version_" . $cont_3 . "', hideCheckbox: true, isFolder:false, icon:'" . $image_url . getPropertyImage('property') . "'},"; $json_properties .= "{ title: '<span class=\\'size12n\\'>" . _("Date") . ": </span><span class=\\'ml3 size12b\\'> " . $v['date'] . "</span>', key:'serv_date_" . $cont_3 . "', hideCheckbox: true, isFolder:false, icon:'" . $image_url . getPropertyImage('property') . "'},"; $img_nagios = $v['nagios'] == true ? "nagios_ok" : "nagios_ko"; $nagios_key = "nagios_{$cont_3}###" . $v['port'] . "###" . $img_nagios; $nagios = "<img src=\\'../pixmaps/theme/" . getPropertyImage($img_nagios) . "\\'/>"; $json_properties .= "{ title: '<span class=\\'size12n\\'>" . _("Nagios") . ": </span><span class=\\'ml3 size12b\\'>{$nagios}</span>', key:'{$nagios_key}', hideCheckbox: true, isFolder:false, icon:'" . $image_url . getPropertyImage('property') . "'}"; $json_properties .= $num_s == $cont_3 ? "]}" : "]},"; } $json_properties .= "]}"; $json_properties .= "]}]"; break; case "tree_container_2": $services_list = Host_services::get_ip_data($conn, $ip, '1'); if (!is_array($services_list)) { $services_list = array(); } $num_s = count($services_list); $cont = 0; $is_folder = $num_s > 0 ? "true" : "false"; $json_properties = "[{title: '<span>" . _("Services") . "</span>', addClass:'size12', key:'property_8', isFolder:" . $is_folder . ", hideCheckbox: true, icon:'" . $image_url . getPropertyImage('services') . "', children:["; foreach ($services_list as $k => $v) { $cont++; $service_name = "<span class=\\'size12n nagios\\'>" . $v['service'] . "</span><span class=\\'size10n ml3 nagios\\'> (" . $v['port'] . "/" . getprotobynumber($v['protocol']) . ")</span>"; $img_nagios = $v['nagios'] == true ? "nagios_ok" : "nagios_ko"; $select_nagios = $v['nagios'] == true ? "select: true," : ""; $nagios = "<img src=\\'../pixmaps/theme/" . getPropertyImage($img_nagios) . "\\'/>"; $service_key = "nagios_{$cont}###" . $v['port'] . "###" . $img_nagios; $json_properties .= "{ title: '<span>" . $service_name . "</span>', key:'{$service_key}', {$select_nagios} isFolder:true, icon:'" . $image_url . getPropertyImage("") . "', children:[";
} Host_services::ack_ign($conn, $ip, $port, $date, $sensor, "ack"); } elseif (preg_match("/^ignore/i", $ip)) { $ip = ereg_replace("ignore", "", $ip); $ip = ereg_replace("_", ".", $ip); $sensor = ereg_replace("_", ".", $sensor); $date = ereg_replace("_", " ", $date); ossim_valid($ip, OSS_IP_ADDR, 'illegal:' . _("ip")); ossim_valid($sensor, OSS_IP_ADDR, 'illegal:' . _("Sensor")); ossim_valid($date, OSS_ALPHA, OSS_PUNC, OSS_SPACE, 'illegal:' . _("Date")); ossim_valid($port, OSS_DIGIT, 'illegal:' . _("Port")); if (ossim_error()) { die(ossim_error()); } print _("Ignore") . ": {$ip} {$date} {$sensor}<br>"; Host_services::ack_ign($conn, $ip, $port, $date, $sensor, "ignore"); } } $db->close($conn); ?> <p> <?php echo gettext("Successfully Acked/Deleted"); ?> </p> <?php $location = "{$back}"; sleep(2); echo "<script>\n///history.go(-1);\nwindow.location='{$location}';\n</script>\n"; ?>
function host_row_basic($host, $conn, $criterias, $has_criterias, $networks, $hosts_ips, $i) { require_once "classes/Sensor.inc"; $color = $i % 2 == 0 ? "#F2F2F2" : "#FFFFFF"; $ip = $host->get_ip(); $host_name = $ip != $host->get_hostname() ? $host->get_hostname() . " ({$ip})" : $ip; $gi = geoip_open("/usr/share/geoip/GeoIP.dat", GEOIP_STANDARD); $country = strtolower(geoip_country_code_by_addr($gi, $ip)); $country_name = geoip_country_name_by_addr($gi, $ip); geoip_close($gi); if ($country) { $country_img = " <img src=\"../pixmaps/flags/" . $country . ".png\" alt=\"{$country_name}\" title=\"{$country_name}\">"; } else { $country_img = ""; } //$homelan = (Net::isIpInNet($ip, $networks) || in_array($ip, $hosts_ips)) ? " <a href=\"javascript:;\" class=\"scriptinfo\" style=\"text-decoration:none\" ip=\"".$ip."\"><img src=\"../forensics/images/homelan.png\" border=0></a>" : ""; // Network require_once 'classes/Net.inc'; $netname = Net::GetClosestNet($conn, $ip); if ($netname != false) { $ips = Net::get_ips_by_name($conn, $netname); $net = "<b>{$netname}</b> ({$ips})"; } else { $net = "<i>" . _("Asset Unknown") . "</i>"; } // Inventory $os_data = Host_os::get_ip_data($conn, $ip); if ($os_data["os"] != "") { $os = $os_data["os"]; $os_pixmap = Host_os::get_os_pixmap($conn, $ip); } else { $os = _("OS Unknown"); $os_pixmap = ""; } require_once 'classes/Host_services.inc'; $services = Host_services::get_ip_data($conn, $ip, 0); $services_arr = array(); foreach ($services as $serv) { $services_arr[$serv['service']]++; } // Vulnerabilities require_once 'classes/Status.inc'; list($vuln_list, $num_vuln, $vuln_highrisk, $vuln_risknum) = Status::get_vul_events($conn, $ip); $vuln_list_str = ""; $v = 0; foreach ($vuln_list as $vuln) { if ($v++ < 20) { $vuln_list_str .= $vuln['name'] . "<br>"; } } $vuln_list_str = str_replace("\"", "", $vuln_list_str); $vuln_caption = $num_vuln > 0 ? ' class="greybox_caption" data="' . $vuln_list_str . '"' : ' class="greybox"'; // Incidents $sql = "SELECT count(*) as num FROM alarm WHERE src_ip=INET_ATON(\"{$ip}\") OR dst_ip=INET_ATON(\"{$ip}\")"; if (!($rs =& $conn->Execute($sql))) { $num_alarms = _("Error in Query: {$sql}"); } else { if (!$rs->EOF) { $num_alarms = $rs->fields['num']; } } if ($num_alarms > 0) { $alarm_link = '<a href="../control_panel/alarm_console.php?&hide_closed=1&hmenu=Alarms&smenu=Alarms&src_ip=' . $ip . '&dst_ip=' . $ip . '" target="main"><b>' . $num_alarms . '</b></a>'; } else { $alarm_link = '<b>' . $num_alarms . '</b>'; } $sql = "SELECT count(*) as num FROM incident_alarm WHERE src_ips=\"{$ip}\" OR dst_ips=\"{$ip}\""; if (!($rs =& $conn->Execute($sql))) { $num_tickets = _("Error in Query: {$sql}"); } else { if (!$rs->EOF) { $num_tickets = $rs->fields['num']; } } if ($num_tickets > 0) { $tickets_link = '<a href="../incidents/index.php?status=Open&hmenu=Tickets&smenu=Tickets&with_text=' . $ip . '" target="main"><b>' . $num_tickets . '</b></a>'; } else { $tickets_link = '<b>' . $num_tickets . '</b>'; } // Events list($sim_events, $sim_foundrows, $sim_highrisk, $sim_risknum, $sim_date) = Status::get_SIM_light($ip, $ip); if ($sim_foundrows > 0) { $sim_link = '<a href="../forensics/base_qry_main.php?&num_result_rows=-1&submit=Query+DB¤t_view=-1&sort_order=time_d&ip=' . $ip . '&date_range=week&hmenu=Forensics&smenu=Forensics" target="main"><b>' . $sim_foundrows . '</b></a>'; } else { $sim_link = '<b>' . $sim_foundrows . '</b>'; } // $txt_tmp1 = _('Events in the SIEM'); $txt_tmp2 = _('Events in the logger'); if ($_SESSION['inventory_search']['date_from'] != "" && $_SESSION['inventory_search']['date_from'] != '1700-01-01') { $start_week = $_SESSION['inventory_search']['date_from']; } else { $start_week = strftime("%Y-%m-%d", time() - 24 * 60 * 60 * 1); } if ($_SESSION['inventory_search']['date_to'] != "" && $_SESSION['inventory_search']['date_to'] != '3000-01-01') { $end = $_SESSION['inventory_search']['date_to']; } else { $end = strftime("%Y-%m-%d", time()); } if ($start_week == strftime("%Y-%m-%d", time() - 24 * 60 * 60 * 1) && $end == strftime("%Y-%m-%d", time())) { $txt_tmp1 .= _(' (Last Week)'); $txt_tmp2 .= _(' (Last Day)'); } $start_week_temp = $start_week; $start_week .= ' 00:00:00'; $end_temp = $end; $end .= ' 23:59:59'; // //$start_week = strftime("%Y-%m-%d %H:%M:%S", time() - (24 * 60 * 60 * 7)); //$end = strftime("%Y-%m-%d %H:%M:%S", time()); list($sem_events_week, $sem_foundrows_week, $sem_date, $sem_wplot_y, $sem_wplot_x) = Status::get_SEM("", $start_week, $end, "none", 1234, $ip); if ($sem_foundrows_week > 0) { $sem_link = '<a href="../sem/index.php?hmenu=SEM&smenu=SEM&query=' . urlencode($ip) . '&start=' . urlencode($start_week) . '" target="main"><b>' . $sem_foundrows_week . '</b></a>'; } else { $sem_link = '<b>' . $sem_foundrows_week . '</b>'; } // Anomalies list($event_list, $anm_foundrows, $anm_foundrows_week, $anm_date) = Status::get_anomalies($conn, $ip); // Ntp link $ntop_lnk = Sensor::get_sensor_link($conn, $ip); if (preg_match("/(\\d+\\.\\d+\\.\\d+\\.\\d+)/", $ntop_lnk, $fnd)) { $ntop_ip = $fnd[1]; } else { $ntop_ip = $ip; } // $row = '<tr bgcolor="' . $color . '"> <td class="nobborder" style="text-align:center;padding:2px"><a href="../report/host_report.php?host=' . $ip . '&star_date=' . $start_week_temp . '&end_date=' . $end_temp . '" id="' . $ip . ';' . $host->get_hostname() . '" class="HostReportMenu" style="color:#17457c;font-size:15px;text-align:left"><b>' . $host_name . '</b></font></a><br><font style="color:gray">' . $net . '</font></td> <td class="nobborder" style="text-align:center;padding:2px">' . $os . ' ' . $os_pixmap . '<br>' . implode("<br>", array_keys($services_arr)) . '</td> <td class="nobborder" style="text-align:center;padding:2px"><a href="../vulnmeter/index.php?value=' . $ip . '&type=hn&withoutmenu=1&hmenu=Vulnerabilities&smenu=Vulnerabilities" title="Top 20 ' . _("Vulnerabilities for") . ' ' . $ip . '"' . $vuln_caption . '>' . $num_vuln . '</a></td> <td class="nobborder" style="text-align:center;padding:2px">' . $alarm_link . ' ' . _("Alarms") . '<br>' . $tickets_link . ' ' . _("Tickets") . '</td> <td class="nobborder" style="padding:2px">' . $sim_link . ' ' . $txt_tmp1 . '<br>' . $sem_link . ' ' . $txt_tmp2 . '</td> <td class="nobborder" style="text-align:center;padding:2px"><a href="../control_panel/anomalies.php?withoutmenu=1" class="greybox" title="' . _("Anomalies") . '"><b>' . $anm_foundrows . '</b></a></td> <td class="nobborder" style="text-align:center;padding:2px"> <table class="transparent"> <tr> <td class="nobborder"><img src="../pixmaps/ntop_graph_thumb.gif" width="40"></td> <td class="nobborder"><a href="../ntop/index.php?opc=services&sensor=' . $ntop_ip . '&hmenu=Network&smenu=Profiles&link_ip=' . $ip . '" target="main">' . _("Traffic Sent/Rcvd") . '</a></td> </tr> </table> </td> </tr>'; // <td class="nobborder"><a href="'.Sensor::get_sensor_link($conn,$ip).'/hostTimeTrafficDistribution-'.$ip.'-65535.png?1" class="greybox">'._("Traffic Sent").'</a><br><a href="'.Sensor::get_sensor_link($conn,$ip).'/hostTimeTrafficDistribution-'.$ip.'-65535.png" class="greybox">'._("Traffic Rcvd").'</a></td> echo str_replace("\n", "", str_replace("\r", "", str_replace("'", "", $row))); }
?> " value="<?php echo "ignore" . $Host_services["ip"]; ?> " <?php if ($Host_services["protocol"] == $Host_services["old_protocol"] && $Host_services["version"] == $Host_services["old_version"]) { echo "disabled"; } ?> > </td> </tr> <?php if ($ex_serv == $Host_services["ip"] && $ex_servs == $Host_services["sensor"] && $ex_servp == $Host_services["port"]) { if ($Host_services_ip_list = Host_services::get_ip_list($conn, $Host_services["ip"], $Host_services["sensor"], $Host_services["port"])) { foreach ($Host_services_ip_list as $Host_services_ip) { $delta = Util::date_diff($Host_services_ip["date"], $Host_services_ip["old_date"], 'yMdhms'); if ($delta == "00:00:00") { $delta = "-"; } ?> <tr <?php if ($Host_services_ip["service"] != $Host_services_ip["old_service"] || $Host_services_ip["version"] != $Host_services_ip["old_version"]) { echo 'bgcolor="#eac3c3"'; } else { echo 'bgcolor="#dfe7f0"'; } ?> > <td> </td>
foreach ($hg_list as $pp => $hg) { if ($j >= $from && $j < $to) { $li = "key:'port_{$pp}', url:'PORT:{$pp}', icon:'../../pixmaps/theme/ports.png', isLazy:true, title:'{$pp} <font style=\"font-weight:normal;font-size:80%\">(" . count($hg) . " " . _("hosts") . ")</font>'"; $buffer .= ($j > $from ? "," : "") . "{ {$li} }\n"; } $j++; } if ($j > $to) { $li = "key:'ports', page:'{$nextpage}', isFolder:true, isLazy:true, icon:'../../pixmaps/theme/ports.png', title:'" . _("next") . " {$maxresults} " . _("ports") . "'"; $buffer .= ",{ {$li} }\n"; } $buffer .= "]"; } } else { if (preg_match("/port_(.*)/", $key, $found)) { if ($hg_list = Host_services::get_port_protocol_list($conn, $ossim_hosts, $filter)) { $html = ""; $k = 0; $length_hn = 25; $buffer .= "["; foreach ($hg_list[$found[1]] as $ip => $host_name) { if ($k >= $from && $k < $to) { $host_key = utf8_encode($key . $k); $host_name = $host_name == $ip || $host_name == '' ? "" : utf8_encode($host_name); $aux_hname = strlen($host_name) > $length_hn ? substr($host_name, 0, $length_hn) . "..." : $host_name; $title = $host_name == "" ? $ip : "{$ip} <font style=\"font-size:80%\">(" . Util::htmlentities($aux_hname) . ")</font>"; $tooltip = $host_name == "" ? $ip : $ip . " (" . Util::htmlentities($host_name) . ")"; $html .= "{ key:'{$host_key}', url:'{$ip}', icon:'../../pixmaps/theme/host.png', title:'{$title}', tooltip:'{$tooltip}' },\n"; } $k++; }
foreach ($protocol_list as $protocol_data) { $protocol_ids[$protocol_data->get_name()] = $protocol_data->get_id(); } } $lines = file("/tmp/nmap_scan_{$ip}.log"); foreach ($lines as $line) { preg_match('/(\\S+)\\s+open\\s+([\\w\\-\\_\\?]+)(\\s+)?(.*)$/', $line, $regs); if (isset($regs[0])) { list($port, $protocol) = explode("/", $regs[1]); $protocol = $protocol_ids[strtolower(trim($protocol))] != "" ? $protocol_ids[strtolower(trim($protocol))] : "0"; $service = $regs[2]; $service_type = $regs[2]; $version = $regs[4]; $origin = 1; $date = strftime("%Y-%m-%d %H:%M:%S"); Host_services::insert($conn, $ip, $port, $date, $_SERVER["SERVER_ADDR"], $protocol, $service, $service_type, $version, $origin); // origin = 0 (pads), origin = 1 (nmap) } } unlink("/tmp/nmap_scan_{$ip}.log"); ?> <script type="text/javascript">parent.location.href='modifyhostform.php?ip=<?php echo $ip; ?> &withoutmenu=<?php echo intval(GET('withoutmenu')); ?> '</script><?php } // Case: Scan is done ?>
break; case "nagios": $items = POST('data'); if (!empty($items)) { $items = explode(',', $items); } else { exit; } foreach ($items as $k => $item) { $item = explode("###", $item); ossim_valid($item[1], OSS_PORT, 'illegal:' . _("Port")); if (!ossim_error()) { if ($item[2] == "nagios_ok") { Host_services::set_nagios($conn, $ip, $item[1], 1); } else { Host_services::set_nagios($conn, $ip, $item[1], 0); } } else { ossim_clean_error(); } } $s = new Frameworkd_socket(); if ($s->status) { if (!$s->write('nagios action="reload" "')) { echo _("Frameworkd couldn't recieve a nagios command"); } $s->close(); } else { echo _("Couldn't connect to frameworkd"); } break;
function update_db($global_info, $scan) { $db = new ossim_db(); $conn = $db->connect(); $array_os = array("win" => "1", "linux" => "2", "cisco" => "3", "freebsd" => "5", "netbsd" => "6", "openbsd" => "7", "hp-ux" => "8", "solaris" => "9", "macos" => "10", "plan9" => "11", "sco" => "12", "aix" => "13", "unix" => "14"); $ips = $global_info["ips"]; $sensors = $global_info["sboxs"]; $nagios = $global_info['nagios']; // load protocol ids $protocol_ids = array(); if ($protocol_list = Protocol::get_list($conn)) { foreach ($protocol_list as $protocol_data) { $protocol_ids[$protocol_data->get_name()] = $protocol_data->get_id(); } } for ($i = 0; $i < $ips; $i++) { $ip = $global_info["ip_{$i}"]; if (!empty($ip)) { $hosts[] = $ip; //gethostbyaddr($ip); $os = $scan[$ip]["os"]; $os_id = 0; foreach ($array_os as $k => $v) { if (preg_match("/{$k}/i", $os)) { $os_id = $v; break; } } if (Host::in_host($conn, $ip)) { echo "* " . gettext("Updating") . " {$ip}..<br/>"; Host::update($conn, $ip, gethostbyaddr($ip), $global_info["asset"], $global_info["threshold_c"], $global_info["threshold_a"], $global_info["rrd_profile"], 0, 0, $global_info["nat"], $sensors, $global_info["descr"], $scan["{$ip}"]["os"], $scan["{$ip}"]["mac"], $scan["{$ip}"]["mac_vendor"]); Host_scan::delete($conn, $ip, 3001); //if (isset($global_info["nessus"])) { Host_scan::insert($conn, $ip, 3001, 0); } } else { echo "<span style='color='blue'>\n"; echo "* " . gettext("Inserting") . " {$ip}..<br/>\n"; echo "</span>\n"; Host::insert($conn, $ip, gethostbyaddr($ip), $global_info["asset"], $global_info["threshold_c"], $global_info["threshold_a"], $global_info["rrd_profile"], 0, 0, $global_info["nat"], $sensors, $global_info["descr"], $scan[$ip]["os"], $scan[$ip]["mac"], $scan[$ip]["mac_vendor"]); // if (isset($global_info["nessus"])) { Host_scan::insert($conn, $ip, 3001, 0); } } if ($os_id != 0) { Host_plugin_sid::delete($conn, $ip, 5001); Host_plugin_sid::insert($conn, $ip, 5001, $os_id); } if (!empty($nagios)) { if (!Host_scan::in_host_scan($conn, $ip, 2007)) { Host_scan::insert($conn, $ip, 2007, "", $ip, $sensors, ""); } } else { if (Host_scan::in_host_scan($conn, $ip, 2007)) { Host_scan::delete($conn, $ip, 2007); } } /* Services */ Host_plugin_sid::delete($conn, $ip, 5002); foreach ($scan[$ip]["services"] as $port_proto => $service) { $service["proto"] = $protocol_ids[strtolower(trim($service["proto"]))]; Host_services::insert($conn, $ip, $service["port"], strftime("%Y-%m-%d %H:%M:%S"), $_SERVER["SERVER_ADDR"], $service["proto"], $service["service"], $service["service"], $service["version"], 1); Host_plugin_sid::insert($conn, $ip, 5002, $service["port"]); } flush(); } } // Insert group name $groupname = $global_info["groupname"]; if (!empty($groupname) && !empty($hosts)) { $exists_hosts = count(Host_group::get_list($conn, " AND g.name='{$groupname}'")) > 0; if ($exists_hosts) { echo "<br/>" . _("The group name already exists") . "<br/>"; } else { Host_group::insert($conn, $groupname, $global_info["threshold_c"], $global_info["threshold_a"], $global_info["rrd_profile"], $sensors, $hosts, $global_info["descr"]); } //if (isset($global_info["nessus"])) { Host_group_scan::insert($conn, $groupname, 3001, 0); } if (!empty($nagios)) { Host_group_scan::insert($conn, $groupname, 2007, 0); } } $db->close($conn); }
?> </td> <?php if ($ex_serv) { ?> <td colspan="1"> </td> <td colspan="1"> </td> <td colspan="1"> </td> <?php } ?> </tr> <?php if ($ex_serv == $anom_services["ip"] && $ex_servs == $anom_services["sensor"] && $ex_servp == $anom_services["port"]) { if ($anom_services_ip_list = Host_services::get_anom_ip_list($conn, $ex_serv, $ex_servs, $ex_servp)) { foreach ($anom_services_ip_list as $anom_services_ip) { ?> <tr bgcolor="#EFEFEF"> <td> </td> <td> <A HREF="<?php echo Sensor::get_sensor_link($conn, $anom_services_ip["ip"]) . "/" . $anom_services_ip["ip"] . ".html"; ?> " target="_blank" title="<?php echo $anom_services_ip["ip"]; ?> "> <?php echo Host::ip2hostname($conn, $anom_services_ip["ip"]);
} ?> > <input type="hidden" name="nagios<?php echo $servs++; ?> " value="<?php echo $services['port']; ?> "></td> </tr> <?php } } } elseif (GET('origin') == 'passive') { if ($services_list = Host_services::get_ip_data($conn, $host, '0')) { foreach ($services_list as $services) { ?> <tr> <td><?php echo $services['service'] . " (" . $services['port'] . "/" . getprotobynumber($services['protocol']) . ")"; ?> </td> <td><?php echo $services['version']; ?> </td> <td><?php echo $services['date']; ?> </td>
?> </th> <th class="tableServices_t2"> <?php echo _("Version"); ?> </th> <th class="tableServices_t3"> <?php echo _("Date"); ?> </th> </tr> </table> <table id="tableServices" class="noborder"> <?php $services_list = Host_services::get_ip_data($conn, $host, ""); $property_list = Host::get_host_properties($conn, $host); $temp_array = array_merge($services_list, $property_list); usort($temp_array, 'orderArray'); // if (!empty($temp_array)) { $i = 1; foreach ($temp_array as $services) { $bgcolor = $i % 2 == 0 ? "#E1EFE0" : "#FFFFFF"; ?> <tr> <?php if (empty($services['id'])) { // Services ?> <td class="tableServices_t1" bgcolor="<?php
$serviceName = $nservice; } else { if ($ports[$port_number . " - " . $protocol_name] != "") { $serviceName = $ports[$port_number . " - " . $protocol_name]; } else { $serviceName = 'unknown'; } } // Insert new port $chport = array(); $chport = Port::get_list($conn, "where port_number = {$port_number} and protocol_name = '{$protocol_name}'"); if (count($chport) == 0) { Port::insert($conn, $port_number, $protocol_name, $serviceName, ""); } $protocol = $protocol_ids[$protocol_name]; Host_services::insert($conn, $ip, $port_number, $date, $_SERVER["SERVER_ADDR"], $protocol, $serviceName, "unknown", "unknown", 1, $newport_nagios); // origin = 0 (pads), origin = 1 (nmap) } } if ($error_message != null) { $style = "style='display: block;'"; $error_message = "<div style='padding-left: 15px;'>{$error_message}</div>"; ossim_clean_error(); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title> <?php echo gettext("OSSIM Framework"); ?>