The NetDiscovery task uses the following protocols to scan IP networks:
- ICMP scan
- NetBIOS scan
- SNMP scan
Any device replying to at least of those protocols will be discovered, with just minimal information, such as mac address and hostname.
Additionaly, if the device replies to SNMP, the agent will attempt to identify it, using its system description (SNMPv2-MIB::sysDescr.0) value. Rule-based identification, using rules hardcoded in the agent, allows a minimal level of identification. Dictionary-based identification, using a server-provided database of known values, allows a more precise identification. If any suceed, the device will be identified.
Discovered devices are then reported to the GLPI servers, and import rules are applied. If the device type (printer, network device, etc…) has not been set, the device will be considered as ‘unknown devices’.
The agent requires additional software for this task:
- nmap external command for ICMP suport
- Net::NBName perl module for NetBios support
- Net::SNMP perl modules for SNMP support You have to check your installation for those optional dependencies.
The agent also requires access to the devices on its target network, using the forementioned protocols. You have to check your network filtering rules, as well as your access control rules on the devices.
There is now way to distinguish a failed SNMP authentication attempt from a non-responding device, meaning the agent will try each available credentials against each IP address, and wait for a timeout each time.
In order to perform discovery faster, the agent can use multiple threads. This allow multiple simultaneous request, but also increase resource usage on agent host.
In order to run a network discovery task without a GLPI server, and for easier troubleshooting, the fusioninventory-netdiscovery task can be run from command line. See fusioninventory-netdiscovery manpage for details.
The netdiscovery task is not activated by default for agents. There is two different way to enable it:
- for all agents: in menu plugins > FusionInventory > Configuration and in tab Agents modules. You can check Network discovery by default.
- for some agents only: in menu plugins > FusionInventory > FusionInventory > Agents management go in agent form and in tab Agents modules, check Network discovery.
The server always uses all defined credentials, in creation order, as there is no way to configure this currently. For faster discovery, you should ensure your devices use coherent SNMP credentials, and drop all unused ones.
The thread number can be defined either:
- for all agents: in menu plugins > FusionInventory > Configuration and in tab FusionInventory SNMP. define value Threads number (network discovery).
- for some agents only: in menu plugins > FusionInventory > FusionInventory > Agents management go in agent form and in tab Threads number, and define value Threads number (network discovery).
You need to register your network ranges in the “IP range configuration” configuration. You can associate a network to an entity, in this case, the devices found on this network will be created in the given entity.
Now your agent is ready and the Network has been registered, you can create your first task. Go in Task management (Normal) menu and create a new entry.
Please see the task creation page.