Credential-less host Discovery
Summarize
Summary of Credential-less Host Discovery
Credential-less host discovery in ServiceNow occurs when a scanned host is identified as alive but inactive, or when all credential-based probes fail during classification. It enables the system to gather basic host information and create or update host Configuration Items (CIs) without requiring credentials.
Show less
This discovery method is triggered by the HorizontalDiscoveryProbe or the Shazzam probe under these conditions. It launches the Credentialless Discovery Network Device pattern, which attempts to create or update a CI in the Hardware [cmdbcihardware] table.
To enable this functionality, the system property mid.discovery.credentialless.enable must be set to true. Setting this property to false disables credential-less discovery.
How Credential-less Discovery Works
- The MID Server uses the Nmap command to verify if the host is up by scanning the IP address and a configurable list of ports.
- Nmap performs reverse DNS resolution to determine the host name; if multiple names exist, the first is used; if none, the IP address becomes the host identifier.
- The Npcap packet capture library identifies the host's operating system family.
- If the scanned host is on the same subnet as a Windows MID Server running Nmap, the MAC address is also retrieved.
- The list of ports scanned by Nmap is stored in the IP Service [cmdbipservice] table, which can be customized. Ports can be excluded from scanning by setting their Credentialless Discovery [cldiscovery] column to false.
Creating and Updating Host CIs
- After discovery, the SetCredentialLessDeviceClassName MID Server script determines the operating system family of the host.
- Depending on the OS family detected by Nmap, the host CI is assigned an appropriate system class derived from the Hardware base class, such as Linux Server [cmdbcilinuxserver] or Windows Server [cmdbciwinserver]. If no OS family is matched, the base hardware class is used.
- When credential issues are resolved and credential-based discovery completes, the existing CI created by credential-less discovery is updated using serial number, host name, and system class from the credential-based data.
Supported Operating System Families
- AIX (cmdbciaixserver)
- HP-UX (cmdbcihpuxserver)
- Linux (cmdbcilinuxserver)
- Solaris (cmdbcisolarisserver)
- OS X or iOS (cmdbciosxserver)
- Windows (cmdbciwinserver)
- Undefined OS family uses the generic cmdbcihardware class
Hardware Identification
The Discovery - IP Based [com.snc.discovery.ipbased] plugin adds an identifier rule to the Hardware base class that matches host CIs by name as discovered via Nmap. This rule is applied during both credential-based and credential-less discovery to accurately identify hardware CIs.
Practical Implications for ServiceNow Customers
- Credential-less discovery provides a fallback mechanism to create or update host CIs when credential-based probes cannot access a device, ensuring continuous infrastructure visibility.
- Administrators can control which ports are scanned during credential-less discovery to optimize network traffic and security.
- Once credentials are restored, more detailed and accurate CI data will update existing entries created by credential-less discovery, maintaining data integrity.
- Ensuring the relevant system property is enabled allows organizations to leverage this discovery mode as part of their overall discovery and service mapping strategy.
Credential-less host discovery occurs when a scanned host is found to be alive, but not active, or when all configured credential-based classification probes have failed.
How the host Discovery pattern is launched
| The system creates these entries in the ECC queue during execution of the
HorizontalDiscoveryProbe. |
| These log messages are published during execution of the
HorizontalDiscoveryProbe. |
The Nmap command
Creating or updating host CIs
| OS family | CI table |
|---|---|
| AIX | cmdb_ci_aix_server |
| HP-UX | cmdb_ci_hpux_server |
| Linux | cmdb_ci_linux_server |
| Solaris | cmdb_ci_solaris_server |
| OS X or iOS | cmdb_ci_osx_server |
| Windows | cmdb_ci_win_server |
| Undefined | cmdb_ci_hardware |