mirror of
https://github.com/stylersnico/librenms.git
synced 2026-07-12 16:06:25 +02:00
discovery/services: use snmp_walk(), + clean up/reindent, with help from Corentin Chary
git-svn-id: http://www.observium.org/svn/observer/trunk@1812 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@@ -4,27 +4,34 @@ if ($config['discover_services'])
|
||||
{
|
||||
echo("Services: ");
|
||||
|
||||
$known_services = array(22 => "ssh", 25 => "smtp", 53 => "dns", 80 => "http", 110 => "pop", 143 => "imap");
|
||||
# FIXME: use /etc/services?
|
||||
$known_services = array(22 => "ssh", 25 => "smtp", 53 => "dns", 80 => "http",
|
||||
110 => "pop", 143 => "imap");
|
||||
|
||||
## Services
|
||||
if($device['type'] == "server") {
|
||||
$oids = shell_exec($config['snmpwalk'] . " -".$device['snmpver']." -CI -Osqn -c ".$community." ".$hostname.":".$port." .1.3.6.1.2.1.6.13.1.1.0.0.0.0");
|
||||
$oids = trim($oids);
|
||||
foreach(explode("\n", $oids) as $data) {
|
||||
$data = trim($data);
|
||||
if($data) {
|
||||
list($oid, $tcpstatus) = explode(" ", $data);
|
||||
if (trim($tcpstatus)=="listen") {
|
||||
$split_oid = explode('.',$oid);
|
||||
$tcp_port = $split_oid[count($split_oid)-6];
|
||||
if($known_services[$tcp_port]) { add_service($known_services[$tcp_port]); };
|
||||
# Services
|
||||
if($device['type'] == "server")
|
||||
{
|
||||
$oids = trim(snmp_walk($device, ".1.3.6.1.2.1.6.13.1.1.0.0.0.0", "-Osqn"));
|
||||
foreach(explode("\n", $oids) as $data)
|
||||
{
|
||||
$data = trim($data);
|
||||
if($data)
|
||||
{
|
||||
list($oid, $tcpstatus) = explode(" ", $data);
|
||||
if (trim($tcpstatus) == "listen")
|
||||
{
|
||||
$split_oid = explode('.',$oid);
|
||||
$tcp_port = $split_oid[count($split_oid)-6];
|
||||
if($known_services[$tcp_port])
|
||||
{
|
||||
add_service($known_services[$tcp_port]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} ## End Services
|
||||
|
||||
echo("\n");
|
||||
}
|
||||
} # End Services
|
||||
|
||||
echo("\n");
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user