The IMProbe URL Specification

Intermapper defines a URL format for specifying all the parameters for a probe in a single string. This makes it straightforward to import information about a probe into Intermapper from a text file.

When you export data from Intermapper, you can include the IMProbe field in the export file. The IMProbe field contains the IMProbe URL, which in turn contains all configuration information for a probe in URL-encoded format. You can use the IMProbe URL to change the parameters of probes editing the parameters of the URL, and then importing the URL into the map.

For example, you can change the username and password for all of your HTTP probes in all maps at once by doing the following:

  1. Export the data, including the MapName, Address, and Id, and IMProbe fields for all maps.
  2. Find and replace the username and password parameters in each URL.
  3. Re-import the text file.

The following URL format specifies the information necessary to define a probe using the IMProbe scheme:

URL: 'improbe://'[community'@']address[':'port]'/'probe['?'parameters]
NOTE:

improbe:// is case-sensitive and must be lower-case.

The minimal information required for an IMProbe URL is the Address information, Probe type, and Authentication information.

  • Address information
    • DNS name
    • IP address
    • Port number (optional)
  • Probe type
    • Canonical probe name
    • Probe-specific parameters (optional)
  • Authentication information
    • SNMP community name (optional)

The probe can be a canonical Intermapper probe name specified in full, ie. com.dartware.radius, com.dartware.http.redirect, or a unique probe suffix can be specified. For example, radius, http.redirect.

The parameters are the parameters for the probe, encoded as for a GET request. To make it simpler to create IMProbe URL's manually, the matching of parameter names is simplified. Before matching parameter names, the parameter names are converted to lower-case, and any spaces and underscores are removed. For a parameter named Shared Secret, this means that IMProbe parameters shared%20secret, sharedsecret and shared_secret will match and provide values.

If the parameters section contains a parameter name that is not defined for the probe, the parameter is ignored. If a probe parameter is left out of the IMProbe URL, it is set to its default value from the probe file.

Examples

Both of the IMProbe URLs below specify that the host netopia.example.com should be tested with the built-in Ping probe:

improbe://netopia.example.com/com.dartware.ping
improbe://netopia.example.com/ping

Both these URLs test a RADIUS server at netopia.example.com, with a shared secret of 'secret', a user name of 'im', and a password of 'pw'. The "Shared Secret" parameter can be written multiple ways:

improbe://netopia.example.com/com.dartware.radius?shared_secret=secret&user_name=im&password=pw
improbe://netopia.example.com/radius?sharedsecret=secret&username=im&password=pw

The URLs below specifies the SNMP probe, testing a device at 192.168.1.1, using the community string of 'public'. The second URL a test against port 1611 instead of the default port 161 used in the first URL:

improbe://public@192.168.1.1/com.dartware.snmp
improbe://public@192.168.1.1:1611/snmp

Encoding Special Characters

The IMProbe URL format uses the Common Internet Scheme Syntax as specified in section 3.1 of RFC 1738 (now deprecated) and in compliance with current RFC 3986. The following characters are illegal and must be encoded with %hh:

00-1F, 7F, 80-FF

The following characters are also considered unsafe and should be encoded with %hh:

< > " # %

The following characters are reserved for special purposes and should not appear unencoded except when used as delimiters in the URL:

;  /   ?  :   @   =   &