Algorius Net Viewer Manual | Scanning Methods

General Information

Application enables various methods of network devices scanning. Scanning defines devices’ state (active/inactive), measures various data like response time and gathers different detailed information.

Scanning methods can be assigned to devices ​​by using device editor, the context menu of a device or by using Group Operations. See Scanning methods settings for more information.

If a device doesn’t contain any scanning method, it is displayed as always active. But, if such device is also connected with other devices, then its status depends on them. For example, if there is a switch on the map, which is not scanned, and it is connected to other devices, if one of these devices is active, then the switch will be displayed as active. All connected devices are detected automatically by connection line presence on the network map. See Connections for more information.

Configuring

To configure scanning methods, select MonitoringConfigure in main window menu, or press F8. The Options dialog box will appear:

To configure a scanning method, select it in the list and click Edit button. To create new scanning method, click Add button. To create new scanning method based on the current one, click Duplicate button. To remove the scanning method, click Delete button.

If a device is selected on the current map, its first scanning method is selected automatically in the list of monitoring settings. Thus you can quickly edit the scanning method settings of a particular device.

Select the plugin for scanning in Scanning method window. Enter the unique identifier of the scanning method – it will be used to link the method with the devices. Specify the scanning method name to be displayed. Scanning method’s name is displayed for selection, you can change it freely any time. Scanning method’s identifier is used for internal links and is not recommended to be changed. If identifier is changed, devices may fail to find its scanning method and you’ll have to specify it again.

Enter the parameters provided by the plugin and click OK to apply changes.

Plugins

All plugins are located in Plugins folder in application catalog. Each plugin has scanning method algorithm and settings editor. You can develop you own plugins, API for that already exists, but it is still evolving.

Please, contact us if you need any additional plugins to be added. We are interested in development of the Algorius Net Viewer, so will try to take into account all your requests and implement them in the next software version (for free).

Such plugins as Ping, TCP, UDP use asynchronous sockets, enabling scanning of many devices in one thread, significantly decreasing the usage of system resources. Other plugins create separate thread for each scanning. Thread pool is used for resource saving in this case.

Common Settings

There are following standard settings for all plugins:

  • Number of checks to change to inactive — when device state changes from ‘active’ to ‘inactive’, application can recheck the state – scan it several times more. It excludes false state changes.
  • Pause between checks — milliseconds between checks, specified above. Application will wait for specified time interval before next scanning.

ARP

'ARP' plugin enables device scanning with the help of ARP Ping. It checks the presence of the device IP in ARP table.

There are following settings along with standard ones:

  • Timeout (sec) — period of waiting for device address in the ARP table. When timeout is expired device enters inactive state.

DNS

'DNS' plugin enables device IP address resolving by specified DNS name or device DNS name resolving by specified IP address. Resolving occurs by DNS request. Resolving time (in milliseconds) is measured. The device is considered as active if resolving is successful.

There are following settings along with standard ones:

  • Timeout (sec) — period of waiting for reply from a device. When timeout is expired device enters inactive state.

DriveFreeSpace

'DriveFreeSpace' plugin measures free space on the hard disk drives of a scanned device. Measurement is done via WMI. Result is displayed in megabytes. Minimal free space on specified drives is measured.

There are following settings along with standard ones:

  • Gather information only from these drives — if this setting is used, then information will be gathered from all specified drives. You should use disk names (labels), all other symbols are ignored. If this setting is not used, then information is gathered from all hard disk drives except external ones and other data carriers.

To enable WMI access, the application should be launched with sufficient rights and RPC service should be started on the remote computer. See Troubleshooting for more information.

External

'External' plugin enables device scanning using external utilities. It significantly expands the application functionality, since you can include any external application with scanning of network devices into Algorius Net Viewer.

If external application is the console application, then you can derive scanning result from console text. The last received console text is displayed in the tooltip when you hover on the device with the mouse.

There are following settings along with standard ones:

  • File — path to executable file.
  • Parameters — parameters to be sent to external utility when it is launched. You can use following masks for automatic value population: %IP% — device IP, %HOST% — device host name, %ADDRESS% — device address.
  • Set inactive state if response code is — if utility’s resulted code (ErrorLevel) meets the specified range, then device is considered as inactive.
  • Measure — the measured value — command execution time (in milliseconds) or value from console text (only for external console commands). If you choose to get the value from the console, then the console text will be analyzed, the number will be searched, and this number will be used as a result of the device scanning.
  • Prefix — only for values from console text — console text prefix, after which it is required to search for a number. If the prefix is not set (empty), then the first number in the text is found. If the number is not found, the device will be considered inactive.
  • Encoding — only for values from console text — the encoding, in which text is displayed in the console.
  • Regex — only for values from console text — regular expression for finding value in console text.
  • Measure unit — only for values from console text — measurement units of the requested value.
  • Multiplier — only for values from console text — the coefficient by which the resulting numerical value will be multiplied.
  • Timeout (sec) — time period to wait for external application completion. When this period is expired, external application is forcibly closed and the device is displayed as inactive.

Files

The ‘Files’ plug-in allows you to determine the number of files in a directory, their size, and read speed. You can filter files by name and by modification date. Search for files is carried out in the specified directory and in all its subdirectories.

The path to the directory is set in the device settings as the address. You can specify the path to both the directory and the file; this allows you to measure the read speed or the size of a specific file. If the specified file or directory is missing or not available, the device will be considered inactive.

In addition to the common settings, the following are provided:

  • Measure — the type of parameter to be measured: number of files, total file size, file read speed.
  • Timeout (sec) — the maximum scanning duration. If the number or size of files is measured, and the calculation is not finished within specified time, the device will be considered inactive. If the read speed is measured, and the reading of all files is not finished within specified time, the reading is interrupted, the device is considered active, and the read rate is calculated based on the amount of files read over a period of time.
  • Mask — if set, only files matching the specified mask are taken into account, for example, *.zip;*.rar
  • Not older — if set, only files created or modified not later than the specified number of days are taken into account. This allows you, for example, to verify that backup information has been created in the last 7 days.

Mail

You can use ‘Mail’ plugin to scan mail servers via POP3/SMTP/IMAP and define the response time, number of mails or number of new messages.

There are following settings along with standard ones:

  • Protocol — data exchange protocol.
  • Port — TCP port to establish connection with. Device can reassign this port in its address, e.g. 192.168.1.1:21. System will use a port from device address in that case.
  • Use SSL — use the secured SSL connection.
  • Measure — measured parameter: response time, number of mails or number of new messages.
  • Timeout (sec) — period of waiting for connection establishment with the server. When timeout is expired device enters inactive state.

MultiPing

'MultiPing' plugin enables device scanning by sending the ICMP queries, just as it does the Ping.exe utility. This method is similar to 'Ping' method. Difference is that device is scanned several times and average response time is taken. It increases the scanning accuracy. Average response time (in milliseconds) is measured.

There are following settings along with standard ones:

  • Timeout (sec) — period of waiting for response from scanned device during every scan. When timeout is expired device enters inactive state.
  • Number of requests— number of ICMP requests sent to device during awaiting for response.
  • Sufficient response number — number of responses from a device, sufficient to consider this device active.

If the amount of received responses is less than the sufficient response number, then a device is considered inactive. Lost packages are not used for average response time calculation.

Netbios

'Netbios' plugin enables device scanning with the help of Netbios protocol. It sends Netbios request to 137 UDP port of scanned device. The device is considered as active if it reported its Netbios name. Response time (in milliseconds) is measured.

There are following settings along with standard ones:

  • Timeout (sec) — period of waiting for response from scanned device. When timeout is expired device enters inactive state.

Ping

'Ping' plugin enables device scanning by sending the ICMP queries, just as it does the Ping.exe utility. Response time (in milliseconds) is measured.

There are following settings along with standard ones:

  • Timeout (sec) — period of waiting for reply from a device. When timeout is expired device enters inactive state.

PowerShell

PowerShell plugin allows querying computers by running PowerShell commands.

There are following settings along with standard ones:

  • Authorization — a method of authorization on a remote computer. If “None” is selected, authorization is not performed and commands start being run on the current computer. If another method of authorization is selected, a session is created on a remote computer to run commands. In this case, the login specified for the scanning method in the device settings is used.
  • Script — the executed script. % ADDRESS% and % HOST% macros can be used that are substituted by the device address or the host name respectively in the script.
  • Measure — a means to obtain the value. If Value from Output is selected, the result will be taken from the console text (the first number displayed). The value can be output to the console using the echo command. If Value from Property is selected, the result will be the value of the specified property from the first record obtained from the latest query executed.
  • Property name — the name of the property whose value has to be obtained. It is available if Value from Property is selected as the measured value.

An example script for obtaining the processor temperature and converting the result to degrees Celsius:

# script for obtaining the processor temperature from MSAcpi_ThermalZoneTemperature
$script = "select CurrentTemperature from MSAcpi_ThermalZoneTemperature"
# execute script
$query = Get-WmiObject -Query $script -Namespace "root/wmi"
# analysis of returned records
foreach ($record in $query)
{
    # converting values from tens of Kelvin to degrees Celsius
    $value = $record.CurrentTemperature/10-273
    # outputting the result
    echo "Result: $value"
}

SNMP

'SNMP' plugin enables device scanning using the SNMP (Simple Network Management Protocol). SNMP is used to manage devices in IP networks. Integer value of specified OID is measured. SNMP-enabled devices include many routers, switchboards, servers, workstations, printers etc.

There are following settings along with standard ones:

  • OID —SNMP object identifier. By default: 1.3.6.1.2.1.1.3.0 — UpTime.
  • SNMP version —SNMP version, supported by device.
  • Community — password for access to SNMP. Only for SNMP v1, v2.
  • Authentication — encryption algorithm used for user authentication. Only for SNMP v3. By default: None — encryptions isn't required.
  • User name — user name for authentication. Only for SNMP v3.
  • Auth password — password for authentication. Only for SNMP v3.
  • Privacy — data encryption algorithm. Only for SNMP v3 with authentication. By default: None — encryption isn't required.
  • Privacy password — password for data encryption. Only for SNMP v3 with authentication and data encryption.
  • Regex — for text values only – regular expression to search for attribute value in a text.
  • Multiplier — coefficient by which the resulting numerical value will be multiplied.
  • Inactive, if value — if any value meets the specified range, then device is considered as inactive.
  • Measure — measures current numeric value, difference between current and previous values, speed of value change. Measure current value defines the current values of various sensors (e.g. sensors of speed, temperature, available space). Measure difference between current and previous values measures the values of various counters (e.g. error counter, counter of sent data). It is supposed that counter value is always increasing, so if the value has decreased then measurement result will be 0, so that the application can analyze counter reset or overflow. Speed measurement makes it possible to calculate the speed of value changes of various counters – e.g. calculate the data transfer speed using the counter of transferred data. Speed is calculated based on the difference between previous and current values, divided by the scanning interval in seconds.
  • Measure unit — measurement units of the requested values.
  • Timeout (sec) — period of waiting for reply from a device. When timeout is expired device enters inactive state.

SSH

'SSH' plugin allows to poll devices using SSH – the operating system control protocol. The monitoring is performed by running one or several OS commands and obtaining the result from the console text. The last received console text is displayed in the tooltip when you hover on the device with the mouse.

In addition to the standard settings, the following is provided:

  • Port — port for connection via SSH, default is 22.
  • Authorization — authorization method: by password, or using a private key. For access by password, the login specified for the scanning method in the device settings is used.
  • Private key file — path to the file that contains the private key for authorization via SSH.
  • Key passphrase — password to decrypt the file with the private key.
  • Commands — one or more OS commands for execution.
  • Measure — measured value — command execution time (in milliseconds) or value from console text. If you choose to get the value from the console, then the console text will be analyzed, the number will be searched, and this number will be used as a result of the device scanning.
  • Prefix — only for values from console text — console text prefix, after which it is required to search for a number. If the prefix is not set (empty), then the first number in the text is found. If the number is not found, the device will be considered inactive.
  • Encoding — only for values from console text — the encoding, in which text is displayed in the console.
  • Regex — only for values from console text — regular expression for finding value in console text.
  • Measure unit — only for values from console text — measurement units of the requested value.
  • Multiplier — only for values from console text — the coefficient by which the resulting numerical value will be multiplied.
  • Timeout (sec) — waiting time for commands completion. At the end of this time, the connection is forcibly closed and the device is displayed as inactive.

SQL

SQL plugin enables databases scanning by executing the SQL query. Following databases are supported: Oracle, MS SQL, MySQL, PostgreSQL, and also databases with SQL support for which there is an ODBC driver.

There are following settings along with standard ones:

  • Database — database type. There are various database connection settings depending on database type.
  • Port — only for Oracle, MySQL, PostgreSQL databases — network port to connect to database. If no port is defined, default port for selected database is used.
  • Database name — only for MS SQL, MySQL, PostgreSQL databases — name of a database to run SQL query.
  • Service name — only for Oracle database — service name of a database according to Oracle settings, for example: XE
  • Data source — only for MS SQL database — name of a data source for a database according to MS SQL settings.
  • Connection string — only for ODBC databases — DSN to connect to external database via ODBC See more information about ODBC in Configuring Database section.
  • Additional connection string — additional connection string for a database. Parameters above are used to compile the basic connection string. Additional connection string (if any) complements the basic connection string. Full connection string is used to connect to a database. Please check the following website for the detailed info on the connection string settings for various database types: https://www.connectionstrings.com/
  • Query — SQL query to be executed.

All settings for ODBC connection are taken from connection string. For any other database types the address of a computer being scanned is used as a server name. Login from device settings is used as username and password. If there is no username specified, then Windows authorization is used.

Algorius Net Viewer runs SQL query in Scalar mode, i.e. it fetches the value of the first column/first row, returned by a query. This value is used as scanning result. All other columns and rows are ignored.

TCP

'TCP' plugin enables device scanning by establishing TCP connection with a device. Connection time (in milliseconds) is measured.

There are following settings along with standard ones:

  • Port — number of TCP port to establish connection with. Device can redefine this port in its address, e.g. 192.168.1.1:8080. Port in device address will be used in this case.
  • Timeout (sec) — period of waiting for connection establishment with a device. When timeout is expired device enters inactive state.

Temperature

'Temperature' plugin measures a temperature from device’s sensors. Measurement is done via WMI. Maximum temperature is measured from all sensors in Celcius or Fahrenheit.

There are following settings along with standard ones:

  • Show value in — select temperature measurement unit - Celcius or Fahrenheit.
  • Timeout — script waiting period for temperature measurement. When this period is over device is considered as inactive.

To enable WMI access, the application should be launched with sufficient rights and RPC service should be started on the remote computer. See Troubleshooting for more information.

UDP

'UDP' plugin enables device scanning by sending a package to device’s UDP port and waiting for response at the same port. Response time (in milliseconds) is measured.

There are following settings along with standard ones:

  • Message — text of package being sent. You can enter hex-message via ‘%’ sign, e.g. %0D%0A.
  • Port — number of UDP port to send packet to. Device can redefine this port in its address, e.g. 192.168.1.1:8080. Port in device address will be used in this case.
  • Local port — number of UDP port to send packet from. E.g. you can send request from port 7 to port 9 and wait for reply on port 7. If port 0 is specified as local port then operating system will assign first free port in upper range. Thus you’ll avoid conflicts with other applications if port is already assigned.
  • Timeout (sec) — period of waiting for reply from a device. When timeout is expired device enters inactive state.

This plugin uses UDP socket, listening to specified UDP port. Thus port should be free in the system and application should be launched with sufficient rights in order to enable correct work of this plugin.

URI

'URI' plugin enables device scanning using the HTTP, HTTPS, FTP, FTPS, or FILE protocol. Devices of this scanning method may have any URI address as address parameter, e.g. a website URL, or a website page URI, or a website file URI; a file or a directory in a local file system, etc. For example:

  • http://www.algorius.com
  • http://www.algoriuscom/index.html
  • ftp://algorius.com/some_file.zip
  • file://computer/share/file.zip

There are following settings along with standard ones:

  • Authorization — authorization method on the specified URI. Basic and By password authorizations use the login assigned to device. Integrated Windows (Kerberos) authorization is provided by OS and is used in corporate networks with domain policy. It uses the user name, password and domain of the current user of the operating system.
  • Measure — the type of the measured value: the duration of the connection with the specified URI, the status code at the specified URI, the content length at the specified URI, or the value from the content at the specified URI.
  • Text prefix — only if the measured value is Value from content — prefix of text in the content before a number to look for. If the prefix is not specified (blank), then first number is found.
  • RegEx — only if the measured value is Value from content — regular expression to search for value in the content.
  • Measure unit — only if the measured value is Value from content — measurement units of the requested values.
  • Multiplier — only if the measured value is Value from content — coefficient by which the resulting numerical value will be multiplied.
  • Timeout (sec) — period of waiting for connection establishment with a device. When timeout is expired device enters inactive state.

WMI

'WMI' (Windows Management Instrumentation) plugin enables monitoring of different parameters: hard drives status, network interfaces status, launched processes and lots more. WMI Query Language (WQL) is used to access WMI. This language is a sort of SQL language. Maximum integer value from scanning results is measured.

A lot of other plugins are based on WMI plugin, for example:

  • 'Temperature' plugin executes the following script in 'root\\WMI' namespace: SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature
  • 'DriveFreeSpace' plugin executes the followingscript in 'root\\cimv2' namespace: SELECT DriveLetter, FreeSpace FROM Win32_Volume

There are following settings along with standard ones:

  • Namespace — name space to make a request.
  • Query — executable WQL query.
  • Regex — for text values only – regular expression to search for attribute value in a text.
  • Multiplier — coefficient by which the resulting numerical value will be multiplied.
  • Inactive, if any value — if any value meets the specified range, then device is considered as inactive.
  • Measure — measures current numeric value, difference between current and previous values, speed of value change. Measure current value defines the current values of various sensors (e.g. sensors of speed, temperature, available space). Measure difference between current and previous values measures the values of various counters (e.g. error counter, counter of sent data). It is supposed that counter value is always increasing, so if the value has decreased then measurement result will be 0, so that the application can analyze counter reset or overflow. Speed measurement makes it possible to calculate the speed of value changes of various counters – e.g. calculate the data transfer speed using the counter of transferred data. Speed is calculated based on the difference between previous and current values, divided by the scanning interval in seconds.
  • Measure unit — measurement units of the requested values.
  • Timeout (sec) — time period to wait for script execution completion. When timeout is expired device enters inactive state.

To simplify the configuration you can launch WMI browser to select required namespace and WQL query. See Troubleshooting for more information.

To enable WMI access, the application should be launched with sufficient rights and RPC service should be started on the remote computer.