InterMapper.comiMapper Community 
 
FAQ - Contents

Frequently Asked Questions

The Dartware Technical Support Team routinely reviews customer and evaluator questions and posts those that are most commonly asked on these pages. If you can't find answers to your questions on these pages, please refer to the Knowledge Base or contact us.

  Toggle all descriptions Collapse all descriptions
FAQ InterMapper top
Where do I register my InterMapper license?

Where do I register my InterMapper license?

Edit > Server Settings > Server Information > Registration

 

Monitoring devices on multiple maps. How does that affect the license?

Monitoring devices on multiple maps.  How does that affect the license?

If two devices are added which are identical in every way (IP address, probe type, parameter values, etc.), and the probe type is Ping or one of the SNMP family of probes, then they should be detected as being identical, in which case they will "share" polling and be counted together as only a single device against your license maximum. If they are not absolutely identical, or are some other type of probe, this does not apply and they will count individually against your license maximum.

How do Vantage Points/Dependencies work?

How do Vantage Points/Dependencies work?

InterMapper has the ability to suppress alerts for devices that are behind or "shadowed" by another device that has failed. These devices may or may not be operating, but InterMapper cannot determine their state because the down equipment blocks its "view". That is, the shadowed devices are "dependent" on their upstream equipment.

InterMapper uses the links between the devices on the map to determine how devices are interconnected. Thus we can see in the diagram below that InterMapper is connected to device labelled #2, which then connects to the device labelled #1, and then to #3.

Code:
* [ InterMapper ] ----- [ #2 ] ------ [ #1 ] ------ [ #3 ]


A Vantage Point indicates the icon that represents the InterMapper server on the network. In this case the asterisk at the left indicates which device is the InterMapper server. (In the event that the InterMapper server is not represented on the map, place the Vantage Point on the icon (device or network oval) that indicates the direction to the InterMapper server.

If device #2 goes down, InterMapper can infer that there's no reason for reporting or alerting about the unresponsiveness of #1 and #3, because #2 is blocking their visibility.

In practice, these dependencies will suppress most, but not necessarily all, alerts. InterMapper polls devices in an essentially random order. Let's assume that the devices in the diagram are polled in the order 1, 2. 3. If device #2 actually went down while InterMapper was polling/testing device #1, InterMapper would report that device #1 is down. It would then poll device #2, detect that it was down, and report it. Finally, it would detect that device #3 wasn't responding, but would suppress the outage because both #1 and #2 were down.

How can I migrate InterMapper to a new server?

How can I migrate InterMapper to a new server?

In order to move InterMapper to another server, please follow the platform-specific instructions below:

Migrating to Mac OS X:
 

    1. Stop the InterMapper service/daemon on the old server and copy the InterMapper Settings folder to the /Library/Application Support folder on the OS X machine. Note: If you transfer the InterMapper Settings folder using FTP, ensure that the transfer is made in BINARY mode. Some FTP servers default to TEXT mode if BINARY mode is not explicitly set, and that can result in file corruption.
    2. Install InterMapper on the new server.


Migrating to Windows/Linux:
 

    1. Install InterMapper on the new server, and stop the InterMapper service/daemon when installation is complete.
    2. Stop the InterMapper service/daemon on the old server and copy your InterMapper Settings folder to the new platform, replacing the one created when you installed InterMapper on the new server. Note: If you transfer the InterMapper Settings folder using FTP, ensure that the transfer is made in BINARY mode. Some FTP servers default to TEXT mode if BINARY mode is not explicitly set, and that can result in file corruption.
    3. If the new server is Linux, ensure that you set the file ownership of the InterMapper_Settings folder, using the /sbin/chown command:
    /sbin/chown/ -R <user> InterMapper_Settings
    In the above command, replace <user> with the desired InterMapper user name, which in most cases is 'intermapper'.
    4. On the new server, start the InterMapper service/daemon.


The default location for the InterMapper Settings folder depends upon the platform where installed:
 

    * Windows: C:\Program Files\InterMapper\InterMapper Settings
    * Mac OS X: /Library/Application Support/InterMapper Settings
    * UNIX/Linux: /var/local/InterMapper_Settings


Note: If you are migrating from a PowerPC or Sparc system to a non-Mac Intel-based system, you must run a chart data conversion script manually. For example, if you are migrating from Mac OS on PowerPC to Windows XP or Linux/x86, you must run a conversion script manually. Similarly, you must follow the same procedure if you are migrating from Solaris/Sparc to Linux/x86. You can download the chart data conversion script from this link:


Exception: Installing InterMapper on an Intel-based Mac OS X system will run the conversion process automatically as part of the installation process, if needed.

Note: If you also need to move the InterMapper DataCenter, please follow the instructions in this Knowledge Base entry:

 

Note: If you also need to move InterMapper Flows to a new server, please follow the instructions in this Knowledge Base entry:

What ports does InterMapper use?

What ports does InterMapper use?

 

InterMapper uses any number of evanescent source ports when probing devices.

Destination ports depend on what probes are being used and how they are configured.

Ports InterMapper listens on:

* Remote server port: 8181 by default
* IMDC port: 8182 by default
* IM Database port: 8183 by default
* IM Flows ports: 8184, 2055, 6343 by default
* Web server port: 80 or 443 by default if turned on, but commonly changed
* Telnet server port: 23 by default if turned on, but commonly changed
* SNMP trap ports: 162 by default; optionally 161 or some other port as well, depending on configuration.

Reporting with InterMapper

Reporting with InterMapper

 

Does Intermapper provide any type of reporting functionality?
See these URLs to see the different ways to view data about your network. 
 
SQL Database and Reporting
 
Creating & Using Strip Charts (page 169 of InterMapper User Guide)
 
InterMapper Flows (page 257-279 of InterMapper User Guide)
 

 

How can I find out how many devices I'm monitoring with InterMapper. Do I have to count all the boxes on each map?

How can I find out how many devices I'm monitoring with InterMapper. Do I have to count all the boxes on each map?

The Server Information pane of the Server Settings window shows the number of devices you are monitoring.

Alerts for the link utilization

Alerts for the link utilization...

You can use the SNMP - High Traffic probe to alert on link utilization. This probe monitors the ifInOctets and ifOutOctets traffic statistics of a particular interface on the device, and sets the device into alarm or warning when the traffic exceeds certain thresholds. It also gives a DOWN alarm if the interface's ifOperStatus is not equal to 1 (up).

You will find this probe in the Network Devices folder in the Set Probe window.

Read the full forum article

Google Earth HowTo?

Google Earth HowTo?

There are two ways (or both on the same)

1: Set individual lat/long on each device

2: Set two 'benchmarks' on the map.

Read the full forum article

Read about using geographic coordinates in InterMapper

Some network ovals have more than one IP network number...

Some network ovals have more than one IP network number...

It's possible for a router or host to have two or more configured IP addresses for a particular interface.

It's also possible that InterMapper is only reporting what it has been told by the router, and the information it is using is incomplete. This may be true of multi-point network technologies (like frame-relay clouds). If you find a situation where InterMapper is reporting multiple networks on a logical network and you know it's wrong, please send us mail (InterMapper@dartware.com) so we can figure out a way to make InterMapper's depictions more accurate.

We would also like to hear about a network with multiple IP network numbers where InterMapper does not show them correctly.

There are two separate network ovals on my map where I only expect one...

There are two separate network ovals on my map where I only expect one...

Examine the network status window (click and hold on a network, or select Status Window from the context menu) to determine whether the subnet masks are the same in both ovals. If the subnet masks are different, one of the devices connected to the oval with the "wrong" subnet mask may have a misconfigured subnet mask.

Note: For devices polled with ICMP echoes, InterMapper tries to guess whether it should draw a link to the network that contains the IP address. If both network ovals look equally good, it may draw a link to the "wrong" one, or alternate between them.

Why won't a device connect to the proper subnet oval?

Why won't a device connect to the proper subnet oval?

On an InterMapper map, devices attempt to connect themselves to a good subnet oval. (Each oval/subnet on a map contains one or more subnet ranges - that is, a range of IP addresses.) A device will attach itself by drawing a line to a subnet oval that contains its IP address.

If you add another subnet oval (Insert -> Add network...) with the same subnet, you can drag the line from one subnet to another.

If a device's link has been dragged to an oval that doesn't contain it's address, the link will jump back to another subnet that does.

If a device won't stay attached to a subnet that should contain its address, check the subnet mask of both the oval and the device. One may be misconfigured.

Uninstall InterMapper from OSX

Uninstall InterMapper from OSX

The easiest thing to do is to run the installer again. On the first screen, you will see "To remove the InterMapper software, 
use the Uninstall InterMapper 
program located here." Click on "here", and it will reveal the uninstaller. Once you've run that, all binaries should be stopped and removed. It will leave behind the InterMapper Settings folder (so that you don't lose your configuration if you're planning to install another version.) To get rid of that, go to "/Library/Application Support" and throw the "InterMapper Settings" folder in the trash.

Note: The Uninstall InterMapper program does not support 10.3.9 or earlier versions of OS X. You should manually uninstall InterMapper from these systems, as follows:

Open the Terminal application and type:

sudo /usr/local/share/intermapper/Uninstaller.sh
FAQ InterMapper Flows top
What is NetFlow?

What is NetFlow?

 

NetFlow is a Cisco protocol that lets a network manager get insight into the kind of traffic flowing on the network, and which computer(s) are sending it. NetFlow exporters (generally routers and switches) send information about the flows passing through them to a NetFlow collector for storage and analysis.

 

 

What is a flow?

What is a flow?

 

A flow is a measure of data transferred between two particular hosts. It consists of all the traffic for a period of time that has these same characteristics:
* Same Source IP address and port
* Same Destination IP address and port
* Same layer-3 protocol type (TCP, UDP, ICMP, etc.)
* Same ToS (type of service)
* Same input logical interface (e.g., ifIndex)
Where do I register the Flows license key?

Where do I register the Flows license key?

 
Open the InterMapper Flows window.
Click on the Settings button (the gear at the upper right hand corner)
Click the Registration Tab and then click Update License. 
Paste in the entire two lines and click ok
 
Cisco devices that support NetFlow.

Cisco devices that support NetFlow.

 

Cisco has written a white paper that has a list of Cisco equipment that supports NetFlow.

Table 1. NetFlow Recent Cisco Device Support Matrix

Device

Supported

Cisco 800, 1700, 2600

Yes

Cisco 1800, 2800, 3800

Yes

Cisco 4500

Yes

Cisco 6500

Yes

Cisco7200, 7300, 7500

Yes

Cisco 7600

Yes

Cisco 10000, 12000, CRS-1

Yes

Cisco 2900, 3500, 3660, 3750

No

 

 

Click on the URL to see the whole white paper.

www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6555/ps6601/prod_white_paper0900aecd80406232.html#wp9000320

 

 

Enabling NetFlow on Cisco equipment

Enabling NetFlow on Cisco equipment

 

We have written a brief document at this URL that describes the commands used to configure NetFlow on Cisco equipment:

 

www.intermapper.com/tech-notes-intermapper-flows/200-enabling-netflow-on-cisco-equipment

What are NetFlow exporters and collectors?

What are NetFlow exporters and collectors?

A NetFlow exporter is a router, switch, or piece of software that summarizes information about traffic flowing on a network/interface and exports the data to another computer, i.e., a NetFlow collector to be saved and analyzed.

How do the NetFlow exporters and collectors work?

How do the NetFlow exporters and collectors work?

 

The NetFlow exporter examines each packet going by. It categorizes the packet according to the criteria above, and updates an internal cache that retains the amount of data that has been seen in each flow. From time to time, the exporter sends (exports) the current set of flow records to the NetFlow collector and clears its cache.

I am not seeing any Flows information in the Flows window

I am not seeing any Flows information in the Flows window

 
 
1. First, check the firewall settings to make sure the correct ports are open. 
         2055 - NetFlow
         6343 - sFlow 
2. Which type of Flows is being used? Netflow/sFlow/jFlow/cFlow     Which version?
3. Which OS are you using?
4. What kind of exporters are you using?  Manufacturer/model?
5. If not seeing data and exporters are configured, open  the Flows Settings > Exporters window. Are any exporters  listed there?
6. If there are exporters listed in the Flows settings but no data is displayed:
     - Get the 'Copy to Clipboard' output from the Flows settings > About tab
     - note which exporters and host filters that are being used
     - include a screenshot of the Top Hosts window
     - send to support@dartware.com

 

Not Seeing Netflow Data on a Cisco ASA Firewall

Not Seeing Netflow Data on a Cisco ASA Firewall

I have configured a Cisco ASA firewall to send Netflow data to Intermapper Flows. No data appears in the table or the graph; however, the firewall is listed as an exporter in the Flows Settings and there is a value for total v9 flows. A tcpdump shows packets are arriving on UDP port 2055 on the Flows server.
_____________________

It appears that this is a known problem with the Cisco ASA firewall. This link is helpful in explaining the problem:

http://netflowninjas.typepad.com/blog/2009/05/firewalls-and-netflow-it-could-be-heaven.html

Relevant quote:

"1) The Content of NSEL provides no traditional NetFlow telemetry capabilities - This is a huge disappointment. The lack of bytes transferred, number of packets, TCP Flags and other data completely removes the possibility of performing Behavioral Analysis on the flows."

Dartware engineers have found that there are large fields in the templates that contain log lines in plain text. We have no idea what they are, and they are missing critical numbers. It appears that the ASA actually cannot do Netflow v9, and Netflow v5 is not an option with this firewall.

 

Posted: Wed Jan 13, 2010 5:26 pm    Post subject: Reply with quote

Update: There's more info from Cisco in the Netflow on ASA document:

Quote:
NetFlow on the ASA vs IOS

The ASA only supports NetFlow version 9 and there are no plans to support NetFlow version 5. NetFlow on the ASA is event driven. Unlike routing platforms we do not send incremental updates; NSEL records are only sent during flow creation, teardown or ACL deny events. Also unlike the routing platforms we will not populate the ToS bits or the TCP flags. Lastly, all flows on the ASA are bidirectional. All counters for a flow will increase for traffic flowing from A->B or B->A.


This means that NetFlow Secure Event Logging (NSEL) sends a flow record when a flow begins, when (if) a flow is denied, and when the flow is torn down. There are no intermediate flow records to show the progress of a transfer.

Consequently, the NetFlow information will not be useful for long-duration flows, as there will be a huge spike in traffic shown at the end, with no traffic in the middle.

 

 

*** Perhaps using a software exporter and a managed switch as a network tap could offer a solution. (see other FAQs)

What if I don't have Cisco/NetFlow-compatible Equipment? Use a Managed Switch as a Network “Tap”.

 

What if I don't have Cisco/NetFlow-compatible Equipment?  Use a Managed Switch as a Network “Tap”.

Not all routers and switches support NetFlow. For example, only certain models of Cisco equipment provide NetFlow data; many other manufacturer's gear will not export NetFlow records, either. If none of your switches or routers support Netflow, sFlow or jFlow, then you could use a software exporter to "tap" the network.  This Knowledge Base topic should help:

http://forums.dartware.com/viewtopic.php?t=871

http://www.intermapper.com/resources/blogs/rich-brown?start=4

If you decide to use a software exporter, you can download a free one from our partner Process Query Systems:

http://www.proquesys.com/corporate/products/flowexporter/

 
 
How much bandwidth will NetFlow consume?

How much bandwidth will NetFlow consume? 

 

A quick answer is "not much". The switch/router summarizes the flow information, and typically will send an update about the flows it has seen every 60 or 120 seconds (this is configurable).

Server load and memory usage.

Server load and memory usage.  What effect does InterMapper Flows have on server load? How much memory does InterMapper Flows require?

 

There are no hard and fast rules, but NetFlow processing takes considerably more horsepower than InterMapper's standard monitoring. In general, we don't recommend using a discarded piece of hardware found under a forgotten desk for InterMapper Flows.

Receiving and processing flows deals with summaries of large volumes of packets, so the collection and storage process will usually not be the bottleneck. At one customer, where traffic peaks up to 3Gbps, the server could process every packet on an off-the-shelf laptop, while still having plenty of CPU time to spare.

However, handling queries (e.g., reading the saved data to send information to the GUI) is real work for the server. Depending on the selection criteria, the server sometimes must process millions of records to create the summaries and the graphs. This goes faster if more RAM memory is configured for caching session records. Queries going farther back in time will have to read the session records from disk with resulting slower times.

For example, say you have a 200MBps border, with 15,000 hosts inside, all serviced by netflow-capable equipment. If you use InterMapper Flows only at the border router, a capable modern desktop, dual-core CPU, 4GBytes of RAM would do nicely. However, if you do decide to turn on NetFlow on each of 1000 Cisco devices throughout the network, you might need to get some serious hardware, with 4 CPUs, several fast disks, and 16GB RAM. Another alternative would be to run multiple InterMapper Flows copies, each monitoring a subsection of the flow exporters.

Another factor is what the administrator wants to see. If they only want to see the last hour of data, then the desktop might do fine to monitor all 15,000 hosts. If they need the ability to go back in time regularly (to last week, or even last month) they would be looking at expensive, top-of-the-line server hardware.

Can InterMapper Flows be installed on a different server than the InterMapper program?

Can InterMapper Flows be installed on a different server than the InterMapper program?

Yes. InterMapper and InterMapper Flows do not need to run on the same server. In fact, this may be necessary when InterMapper Flows is handling a lot of flow data. You can leave the InterMapper server running on its current hardware and use a higher performance system for the NetFlow analysis.

The two servers communicate through a TCP connection. They default to connecting through localhost, but this can be changed via modifying two configuration files. You need to do the following:


  1. Install InterMapper Flows on the InterMapper server. It can have a very small database size - this is only to get the proper files installed on that server. You will not need a serial number for it, as it will not be "in production." You can even stop the service/daemon by following the instructions on the ReadMe page.
     
  2. On the InterMapper server, configure InterMapper to connect to the Flows server's IP address. To do this, edit the InterMapper Settings/Extensions/netsaw.xml to have an "address=" line, as shown:, where xxx.xxx.xxx.xxx is the address of the IM Flows server.

  3. Code:
    <extensionlist>
       <extension
         id='com.dartware.intermapper.flows'
         name='InterMapper Flows'
         client='netsaw.jar'
         address='xxx.xxx.xxx.xxx'
         port='8184'
         version='build????' >
          <netflowcontext
            name='NSPluginIMFlows'
            class='com.proquesys.netsaw.remote.NSPluginIMFlows' />
       </extension>
    </extensionlist>
  4.  
  5. Install InterMapper Flows on your separate server. This should be configured for a large database size.
     
  6. On the InterMapper Flows server, edit the /ns2flows/netsaw.conf file to allow InterMapper Flows to accept connections from external servers. Add this line near the bottom (but above the "# EOF" line) of the netsaw.conf file: 
     

  7. Code:
    localhostonly no

 

 

  1.  
What is the difference between a flow, a conversation, and a session?

What is the difference between a flow, a conversation, and a session?

 

They're similar, but slightly different:
* A flow is a uni-directional transfer between a pair of (IP Address, Port) using the same layer-3 protocol, type of service, and input interface.
* In InterMapper Flows, a session is a bi-directional transfer between a pair of (IP Address, Port). It is the sum of the flow from A to B, plus the flow from B back to A.
* Other NetFlow products define a conversation different ways, either as a session, in the InterMapper Flows sense, or as a uni-directional flow.

What versions of NetFlow are support by InterMapper Flows?

What versions of NetFlow are support by InterMapper Flows?

The initial release of InterMapper Flows handles Cisco Netflow v1, v5, and v9 flow packets.
           InterMapper Flows 1.1 and later supports sFlow versions 2, 4, and 5.
           InterMapper Flows 1.2 and later support NetFlow version 7, as well as Cflow and J-Flow (from Juniper).

FAQ InterMapper RemoteAccess top
Invalid username or password error

Why do I get an "Invalid user name or password" error when I try to log in to the server using the RemoteAccess client? 

 

Check the user name and password in the Server Settings.

 

Check the Remote Server firewall settings in the Server Settings > Remote Server settings.  The IP address or IP address range needs to be added to the firewall settings with the "Allow" attribute set.

InterMapper Server not available error

InterMapper Server not available error when logging in to the server using RemoteAccess

There are two reasons you might see this message displayed:

1. If the InterMapper server is running on Windows, you will need to add an exception for the Remote Server on port 8181 in the Windows firewall > Exceptions settings on the server.

2. Check that the InterMapper service/daemon is running on the server.

Testing a connection to a remote InterMapper server.

Testing a connection to a remove InterMapper Server

 

Q. I am using InterMapper RemoteAccess to establish a connection to the InterMapper server that is in a remote location behind a firewall. The firewall is configured with port forwarding to route all traffic for port 8181 to the InterMapper server's IP address. When I try to connect, I receive an error that the 'InterMapper server is not available'. If I use a VPN connection, I am able to connect successfully. Is there a way to test whether I am actually connected to the InterMapper server?

A. You can test the connection to the InterMapper server as follows:

Use telnet to connect to the InterMapper server:

telnet xx.xx.xx.xx 8181

    - Enter the command <KC_version id="0">0.9</KC_version>
    - If you have connected to an InterMapper server, you should see a KR response, such as <KR id='0' response='200'>0.9</KR>.


Note that this doesn't work if you are using a secure protocol for the Remote server. For encrypted connections, use OpenSSL to connect to the InterMapper server:

openssl s_client -connect xx.xx.xx.xx:8181

Paste the <KC_version id="0">0.9</KC_version> command and type Return. You should see a <KR id=xxx> response to indicate that the server is responding.

I can't connect with InterMapper RemoteAccess even after I've created a user on the server...

I can't connect with InterMapper RemoteAccess even after I've created a user on the server...

There are a number of things to do when you want to enable InterMapper's RemoteAccess Server. All these are controlled in the Server Settings window.

Be sure that external IP addresses are enabled:

  • Open the Server Settings --> Remote Server settings. Add one or more IP addresses or ranges corresponding to the Remote client's addresses.
  • Create one or more users or groups in the Server Settings --> Users settings: These users will be able to connect using their name and password.
  • Set the map access: In the Server Settings --> Map Access settings, be sure that the users or groups have access to the desired maps.
Where in the Windows Registry are the InterMapper RemoteAccess preferences kept?

Where in the Windows Registry are the InterMapper RemoteAccess preferences kept?

InterMapper RemoteAccess stores its preferences in the following Windows Registry keys:

  • HKLM\SOFTWARE\JavaSoft\Prefs\com\dartware

  • HKCU\Software\JavaSoft\Prefs\com\dartware

What is in the InterMapper RemoteAccess Preferences folder?

What is in the InterMapper RemoteAccess Preferences folder?

The InterMapper RemoteAccess Preferences folder contains:

  • Certificates The signed certificates used to authenticate secure servers that have been accepted.
  • Local icon cache Instead of downloading device icons and background images every time a map is loaded, they are cached here for local access.
  • Sounds Similar to the icon cache, but for sound notifications.
Where are the InterMapper RemoteAccess preferences kept?

Where are the InterMapper RemoteAccess preferences kept?

InterMapper RemoteAccess keeps its preferences with the other user preferences on each platform. That is:

Mac OS X:

~userhome/Library/Preferences/com.dartware.Intermapper.client

~userhome/Library/Caches/com.dartware.Intermapper.client (icons, sounds, certificates)

Windows Vista\2003\XP\2000:

C:\Documents and Settings\user\IMRemote\

Unix/Linux:

~userhome/.imremote/

FAQ IP Address top
What is a "private IP address range"?

What is a "private IP address range"?

The Internet Assigned Numbers Authority (IANA) has reserved several blocks of IP addresses that an organization may assign for its own private internet. These blocks are defined in RFC 1918, http://tools.ietf.org/html/rfc1918.

From the RFC:

  1. Private Address Space The Internet Assigned Numbers Authority (IANA) has reserved the following three blocks of the IP address space for private internets:

10.0.0.0 - 10.255.255.255 (10.0.0.0/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16.0.0/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168.0.0/16 prefix)

What does the "/24" mean? How does that relate to my subnet mask?

What does the "/24" mean? How does that relate to my subnet mask?

InterMapper uses the Classless Inter-Domain Routing (CIDR) notation to represent IP subnet information. The number in the "/xx" shorthand stands for the number of bits set to one in the subnet mask. The convention is always to start at the left end of the 32-bit subnet mask. The table below shows the correspondence between the "/xx" notation and the actual numeric representation.

  Subnet Mask # of Addresses   Subnet Mask # of Addresses
/1 128.0.0.0 2.1 billion /17 255.255.128.0 32,766
/2 192.0.0.0 1 billion /18 255.255.192.0 16,382
/3 224.0.0.0 536 million /19 255.255.224.0 8,190
/4 240.0.0.0 268 million /20 255.255.240.0 4,094
/5 248.0.0.0 134 million /21 255.255.248.0 2,046
/6 252.0.0.0 67 million /22 255.255.252.0 1,022
/7 254.0.0.0 34 million /23 255.255.254.0 510
/8 255.0.0.0 17 million (Class A) /24 255.255.255.0 254 (Class C)
/9 255.128.0.0 8.4 million /25 255.255.255.128 126
/10 255.192.0.0 4.2 million /26 255.255.255.192 62
/11 255.224.0.0 2.1 million /27 255.255.255.224 30
/12 255.240.0.0 1 million /28 255.255.255.240 14
/13 255.248.0.0 524 thousand /29 255.255.255.248 6
/14 255.252.0.0 262 thousand /30 255.255.255.252 2
/15 255.254.0.0 131 thousand /31 255.255.255.254 RFC 3021
/16 255.255.0.0 65,534 (Class B) /32 255.255.255.255. A single address

What is a subnet? Why do I care?

What is a subnet? Why do I care?

A subnet specifies a range of IP addresses. The special attribute of a subnet is that all the computers within the subnet (a "sub-network") can talk directly to each other, and don't need a router to communicate.

When it's time to send a packet, your computer delivers a packet a) directly to the destination computer or b) sends it to the router for ultimate delivery.

But how does your computer know whether the packet's destination is within its subnet? The answer is that your computer uses the subnet mask to determine the members of the subnet. If your computer's address and the destination computer's IP addresses are in the same subnet address range, then they can send packets directly to each other. If they're not in the same range, then they must send their data through a router for delivery.

The chart below associates the number of IP addresses in a subnet to the subnet mask. For example, the subnet mask "255.255.255.0" represents 254 consecutive IP addresses.

  Subnet Mask # of Addresses   Subnet Mask # of Addresses
/1 128.0.0.0 2.1 billion /17 255.255.128.0 32,766
/2 192.0.0.0 1 billion /18 255.255.192.0 16,382
/3 224.0.0.0 536 million /19 255.255.224.0 8,190
/4 240.0.0.0 268 million /20 255.255.240.0 4,094
/5 248.0.0.0 134 million /21 255.255.248.0 2,046
/6 252.0.0.0 67 million /22 255.255.252.0 1,022
/7 254.0.0.0 34 million /23 255.255.254.0 510
/8 255.0.0.0 17 million (Class A) /24 255.255.255.0 254 (Class C)
/9 255.128.0.0 8.4 million /25 255.255.255.128 126
/10 255.192.0.0 4.2 million /26 255.255.255.192 62
/11 255.224.0.0 2.1 million /27 255.255.255.224 30
/12 255.240.0.0 1 million /28 255.255.255.240 14
/13 255.248.0.0 524 thousand /29 255.255.255.248 6
/14 255.252.0.0 262 thousand /30 255.255.255.252 2
/15 255.254.0.0 131 thousand /31 255.255.255.254 RFC 3021
/16 255.255.0.0 65,534 (Class B) /32 255.255.255.255. A single address
How do computers send data through the Internet?

How do computers send data through the Internet?

Computers send information through the Internet by dividing the data to send into small chunks ("packets") and transmitting them to the other device. All this happens without your doing anything - the web browser, e-mail program, etc. all take care of these low level details.

When your computer wants to send to another computer, it creates the packet, then places the other computer's address in the destination address of the packet, places its own address in the source address of the packet, and then sends the packet off, either directly to the destination computer, or to a nearby router that takes responsibility for routing the packet.

There's an analogy with the post office here. Packets are like envelopes, with destination addresses and return addresses. Routers are like post offices: they check the destination address and have the responsibility for delivering the packet to the final destination computer or to another router that's closer to the destination.

What is an IP address? How do I get one?

What is an IP address? How do I get one?

An IP address ("Internet Protocol address") is a number that represents a single unique computer on the Internet. IP addresses are similar to telephone numbers, in that each computer (or telephone) must have its own unique IP address (telephone number.) Like telephones, there's a directory system - called the Domain Name System, or "DNS" - that can convert a name such as "www.apple.com" into a corresponding numeric IP address.

IP Addresses are written as a sequence of four numbers separated by ".", like this: 208.123.246.35. Each of the four numbers in the IP address can take the value between 0 and 255.

Every computer on the Internet must have a unique IP address. ISPs purchase large blocks of consecutive IP addresses, and then allocate smaller ranges of these addresses to their customers. Thus, a particular company might be assigned all the 254 IP addresses in the range 208.123.246.1 to 208.123.246.254. (The addresses ".0" and ".255" are not usually assigned.) Companies then assign the IP address to individual computers within the organization.

FAQ SNMP top
What is SNMP?

What is SNMP?

SNMP stands for the Simple Network Management Protocol. At its heart, SNMP is a set of rules that allows a computer to get statistics from another computer across the Internet.

Computers keep track of various statistics that measure what they're doing. For example, routers can keep track of the number of bytes, packets, and errors that were transmitted and received on each interface (port). Web servers might keep a tally of the number of hits they have received. Other kinds of equipment have configuration information that's available through SNMP.

Each of these pieces of information (packet statistics, page hits, configuration) is kept in a database described by a Management Information Base (a MIB in SNMP parlance.) There are a many different MIBs, describing many different aspects of a computer's operation.

The various values that can be retrieved from a MIB are called MIB variables. These variables are defined in the MIB for a device. Each MIB variable is named by an Object Identifier (OID), which usually has a name in the form of numbers separated by periods ("."), like this: 1.3.6.1.xxxx.x.x.x.x...

For example, the MIB-II (pronounced, "MIB two") has a variable that indicates the number of interfaces (ports) in a router. It's called the "ifNumber", and its OID is 1.3.6.1.2.1.2.1.0

SNMP Watcher and InterMapper, as well as many other network monitoring tools, can query a device for the MIB variables and display the results. When a device receives a SNMP Get-Request for this ifNumber OID, it responds with the count of interfaces.

Note: The trailing ".0" in the example above is technically part of the OID. Although you will often see OIDs written without it, InterMapper requires that it be present wherever you enter an OID.

What is the 'Read-only Community String'?

What is the 'Read-only Community String'?

The SNMP Read-Only Community String is like a password. It is sent along with each SNMP Get-Request and allows (or denies) access to device. Most network vendors ship their equipment with a default password of "public". (This is the so-called "default public community string".) Many network administrators will change the community string to keep intruders from getting information about the network setup. This is a good idea. Even if it's only read-access, SNMP can divulge a lot of information about the network that could be used to compromise it.

If there's a "read-only community string", you might expect that there is a"Write community string". You'd be correct. There is also a SNMP Set-Request, which is a command to set certain SNMP MIB variables (e.g., certain OIDs) to a specified value. These writes are protected by the write community string (which should never be set to 'public'!). Many SNMP-speaking devices also have IP address filters that ignore requests (read and write) unless the source address is on an access list.

There's also a SNMP Trap, which is an unsolicited message from a device to an SNMP console (for example, InterMapper) that the device is in an interesting state. Traps might indicate power-up or link-up/down conditions temperatures exceeding certain thresholds, high traffic, etc. Traps provide an immediate notification for an event that might otherwise be discovered only during occasional polling.

Why can't I get SNMP information from a device?

Why can't I get SNMP information from a device?

InterMapper requires that SNMP be available and configured to display traffic information. The most common cause of not being able to see traffic is that you haven't entered the SNMP Read-only community string. (This is like a password that controls whether another computer can retrieve SNMP information.)

In order of simplest to most complex, here is a list of reasons that InterMapper might not get SNMP information from a device:

  • Wrong DNS name/IP address - (not likely, but we have to mention it)
  • No connectivity - Can you ping the device from InterMapper?
  • No SNMP agent on the device - Many devices or computers have optional SNMP capabilities that must be installed separately.
  • Is the SNMP agent disabled? - Many devices allow you to disable the SNMP capability totally, or from certain ports.
  • If the SNMP agent is based on net-snmp or UCD-snmp package - be sure that the configuration file specifically lists InterMapper's IP address/subnet as an allowed client
  • In a custom probe, have you specified the OID properly? - (See the OID Format FAQ for details.)
  • Wrong Community string - A couple suggestions: Be sure to try 'public' (without the quotes); check your typing - community strings are case-sensitive.
  • Access lists: does the equipment only allow SNMP access from certain addresses?
  • Firewalls can interfere with InterMapper's traffic.

    • Does a firewall block the SNMP port between the InterMapper server and the equipment?

    • Certain firewalls may also block SNMP packets if it suspects that those packets are part of an attack. InterMapper may send and receive all its SNMP queries on the same port and after awhile the firewall may detect this.

  • Bugs in the SNMP agent on the equipment - InterMapper uses SNMP Get-Next-Requests in several places. We've seen certain equipment that fails when queried this way.

If you're sure that you've checked all these things and you still can't get SNMP information, please contact us. We may have some tricks up our sleeves. (Or we may wind up learning something!)

How can InterMapper query a particular MIB variable?

How can InterMapper query a particular MIB variable?

There are two kinds of MIB variables: scalar values and table entries.

Scalars have a single value, such as the interface number shown above. For example, the ifNumber MIB variable of a router is a single number that represents the total number of its interfaces (ports).

Table values, on the other hand, provide the same pieces of information for different items, such as the traffic for each of a router's ports, or information about each of the TCP connections in a device.

InterMapper can read and display both scalar variables and table variables in its custom SNMP probes.

Scalar values must have a ".0" suffix in their OIDs. For example, the OID for ifNumber in MIB-II is often written as "1.3.6.1.2.1.2.1". In custom probe files, it should be represented as "1.3.6.1.2.1.2.1.0". (This ".0" is technically part of the OID - it's convenient not to write it, though.)

Table variables are generally suffixed with the index of the row. (This isn't always true: see the note below). For example, the Cisco Environment Monitoring MIB defines two variables for the input air temperature and input voltage as the first rows in each of these tables:

ciscoEnvMonTemperatureStatusValue 1.3.6.1.4.1.9.9.13.1.3.1.3 ciscoEnvMonVoltageStatusValue 1.3.6.1.4.1.9.9.13.1.2.1.3

If you add a suffix ".1" to each of these, you'll get the value of the first row; add ".2" to as a suffix, you'll get the second row, etc.

Do all tables have an index?

Do all tables have an index?

As noted above, some tables don't have a separate index column. These rows are named (their OIDs are specified by) data in the row. For example, the OID for tcpConnState row, the status of a particular TCP connection is "1.3.6.1.2.1.6.13.1.1". Its index is the source and destination IP address and port (all four values) which are appended to the tcpConnState OID. Thus, the full OID for the state of a TCP connection from 9.8.7.6 port 543 to 123.45.67.89 port 8765 would be:

1.3.6.1.2.1.6.13.1.1.9.8.7.6.543.123.45.67.89.8765

Where can I read more information about SNMP?

Where can I read more information about SNMP?

Here's a great site to start learning about MIBs and all the cool things you can do with them:

http://www.snmpworld.com/

A great site pointing to various snmp products:

http://www.simpleweb.org/

MIB Depot is a huge source of standard and vendor MIBs.

http://www.mibdepot.com

Is InterMapper vulnerable to SNMP attacks?

Is InterMapper vulnerable to SNMP attacks?

No. Dartware has tested its InterMapper and SNMP Watcher software against the test suite mentioned in CERT Advisory CA-2002-03. Neither of our packages are vulnerable to this attack. See our Vendor Statement.

How do I interpret an unknown enterprise number?

How do I interpret an unknown enterprise number?

If your error log file shows the following lines:

14/02 15:13:07  TRAP  CITRIX1::  coldStart14/02 15:13:07  
TRAP   CITRIX1::  linkUp, ifIndex = 114/02 15:13:07  
TRAP  CITRIX1::  linkUp, ifIndex = 1677721914/02 15:14:07  
TRAP  CITRIX1::  1.3.6.1.4.1.3845.3.1.1 (8)  { <no variables> }

The SNMP id is (1.3.6.1.4.1.3845.3.1.1 (8))

The "1.3.6.1.4.1..." prefix of the OID indicates that the trap is from a private enterprise MIB. You can find out what enterprise by downloading the Enterprise Numbers RFC from:

http://www.iana.org/assignments/enterprise-numbers

Reading through the file indicates this:

3845  Citrix Systems         Keith Turnbull            keitht@citrix.com

You should contact the Citrix company (or read their MIB) to find out the exact interpretation of the trap's OID.

Is there a way to scan a network for all SNMP devices?

Is there a way to scan a network for all SNMP devices?

InterMapper will do a very good job of finding SNMP-speaking devices if you know the devices' SNMP Read-only Community string. Detailed instructions for scanning a subnet are available from the network scanning page. Be sure to set the default SNMP Read-only Community String as shown in the SNMP Preferences.

However, InterMapper may not be able to find a device for any of these reasons.

InterMapper doesn't show my xxxx device properly...

InterMapper doesn't show my xxxx device properly...

Customers have sent us comments that InterMapper won't show certain kinds of equipment properly. We have investigated, and found a bug in the SNMP implementations of certain vendors. To determine if your equipment is susceptible to this bug, you may follow this procedure.

InterMapper uses Get-Next-Requests to retrieve data. To be more efficient, it sends several OIDs in each query. When we use the net-snmp "snmpgetnext" to retrieve single variables, the results come back properly. When we queue up multiple OIDs in a request, they come back wrong, in the same manner as SNMP Watcher.

First, download net-snmp from http://net-snmp.sourceforge.net. net-snmp is a highly-reliable, open-source snmp query tool and agent for Unix and Windows. Install net-snmp as described in its documentation.

Then use net-snmp's command-line tools to send Get-Next-Request queries to the device in question. For example:

# request ipAdEntAddr first, then ipAdEntifIndex
[richb@jig ~]# snmpgetnext IPADDRESS COMMUNITY ipAdEntAddr ipAdEntifIndex
ip.ipAddrTable.ipAddrEntry.ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.127.0.0.1 = Wrong Type 
(should be INTEGER): IpAddress: 127.0.0.1 

# other order: ipAdEntifIndex, then ipAdEntAddr
[richb@jig ~]# snmpgetnext IPADDRESS COMMUNITY ipAdEntifIndex ipAdEntAddr
ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.127.0.0.1 = 1
ip.ipAddrTable.ipAddrEntry.ipAdEntAddr.127.0.0.1 = Wrong Type 
(should be IpAddress): 1 

In the examples above, snmpgetnext requests two variables from the device at IPADDRESS, using the SNMP Read-only community string of COMMUNITY (you should substitute your values as needed). In the first case, the entity's address comes before the ifIndex in the query. Note that both responses have the value 127.0.0.1 (the latter is incorrect). In the second example, the ifIndex precedes the entity's address, and the result is "1" (again, the latter is incorrect).

If you see results like this, you should contact the vendor of your equipment to explain this problem and ask if a new release of firmware has fixed it.

FAQ WINS Names top
What are WINS names?

What are WINS names?

Microsoft's Windows Internet Naming Service (WINS) is a name resolution service that resolves computer names to Internet Protocol (IP) address. Using WINS, the computer name can be resolved to a specific IP address.

InterMapper uses WINS names as follows:

InterMapper (all platforms) queries devices for a NetBIOS (WINS) name. This name is used as the device's smart name if the DNS name is unknown or contains the word "DHCP".

When adding a device that is in the same LAN as InterMapper server, you can use the device's NetBIOS/WINS name. To cause a name to be treated as a WINS name, place "\" in front of the name when adding a device. The name is not looked up in the DNS.

Note: Intermapper does not use the WINS server - it only resolves local device names.

FAQ DNS top
What resolver does InterMapper OSX use for its DNS?

What resolver does InterMapper OSX use for its DNS?

InterMapper uses two different DNS resolvers. When you add a device using the Add Device... command, InterMapper uses the system's resolver. When InterMapper is monitoring DNS names and addresses as part of the "DNS Check" feature, InterMapper does its own DNS operations, via UDP packets, to the domain name servers listed in InterMapper's own DNS Monitor Preferences panel. InterMapper's built-in domain name resolver currently assumes that the domain name is fully-qualified. For each domain name, the interval for double-checking the domain name is determined by the TTL in each DNS response (with the minimum interval controlled by the DNS Monitor prefs panel).

When you discover devices, InterMapper initially looks up the FQDN name from the IP address (address --> name), then it settles down to monitoring the domain name (name --> address). InterMapper's built-in DNS resolver doesn't handle partially qualified domain names or things that aren't really domain names; hence, they will fail to resolve.

InterMapper sometimes won't show a device's DNS name...

InterMapper sometimes won't show a device's DNS name...

From the Edit menu, you can choose the Set Info submenu, then choose Set Address... to change the DNS option for each affected device from Resolve name to address to Resolve address to name. With this setting InterMapper always resolves the address to a name, and you don't see errors with names that aren't fully-qualified domain names.

What is a FQDN?

What is a FQDN?

This is an acronym for a "Fully-Qualified Domain Name." Within an organization, it's convenient to refer to a computer by the first part of its name, knowing that "everyone" will know that the remainder is the same as the other computers in the organization. Thus, you may speak of "sneezy" and "dopey", knowing that they're really two computers at "seven-dwarves.org".

But computers need the fully written-out name (the FQDN), such as "sneezy.seven-dwarves.org." or "dopey.seven-dwarves.org." to identify a computer. Most user software has the ability to add a "search domain" to all partially-qualified domain names, filling out the missing part of the FQDN. But some DNS servers require the FQDN to work properly with InterMapper. To be safe, it's always correct to enter the full domain name.

Tip: Even though you enter a FQDN when specifying a computer, you can use the Short, Smart Name when constructing a label for a device.

Tip: Technically, a FQDN requires a "." at the end. Just as the search domain is tacked onto the end of a partial domain name, most user software adds the trailing "."