Appendix D. Configuration File Formats

This appendix gives information about the formats of the configuration files created and read by NetVisualyzer tools. They are presented in alphabetical order by tool name.

By default, NetVisualyzer tools look for configuration files in your home directory. You can specify a different location in these ways (in descending order of precedence):

Since the *controlsFile and *networksFile resources are standard X resources, you can use all of the standard methods for setting X resources as well.

Analyzer Configuration File

The Analyzer configuration file, typically called .analyzerrc, specifies Analyzer configuration information such as the settings of all control panels.

You can save Analyzer user interface configuration information such as control panel settings in the ~/.analyzerrc file (or a file you specify). The next time you invoke Analyzer, it uses ~/.analyzerrc by default to configure the display and control panel settings. You can override the control panel settings in a configuration file you specify with command line options.

Each line in the configuration file has two columns separated by a tab. The first column is the name of a configurable feature of Analyzer. The second column is the value. A blank value is acceptable.

The following is an example of the .analyzerrc file (reformatted slightly):

AnalyzerGeometry     1008x728+260+35
InterfaceField       jenny:
FilenameField        snoop.file
Network              Yes
StartOnField    
FilterField     
Framing              No
Chksum               No
Toobig               No
Toosmall             No
DecodeBufferField    10
StopAtField          10
StopOrField     
StopOnField     
CaptureLengthField      
CaptureGeometry      500x612+769+405
AnalyzerGeometry     1008x728+260+35

Defines the location of the analyzer window: width x height + X_origin + Y_origin.

InterfaceField  jenny:

Defines the network interface.

FilenameField   snoop.file

Defines the name a previously saved snoop data file.

Network Yes

Yes means capture from the network interface using the name in the InterfaceField. No means capture from a file using the name in the filenameField.

StartOnField    ip

When the filter expression, in this case ip, is encountered, begin to save the packets for decoding.

FilterField     tcp

Save packets that matches the filter expression, in this case tcp, for decoding.

Framing No

Yes means capture and save packets with framing error.

Chksum  No

Yes means capture and save packets with checksum error.

Toobig  No

Yes means capture and save packets that are too big.

Toosmall        No

Yes means capture and save packets that are too small.

DecodeBufferField       10

Number of packets to decode when capture is complete. The last 10 packets are decoded in this case. This number should be less than or equal to the StopAtField.

StopAtField     10

Number of packets to save for decoding. It is 10 packets in this case.

StopOrField     5

The duration of time to capture packets from start. It is 5 seconds in this case.

StopOnField     decnet

When the filter expression, in this case decnet, is encountered, stop capturing packets.

CaptureLengthField      50

Defines the maximum number of bytes to capture for each packet. It is 50 in this case.

CaptureGeometry 500x612+769+405

Defines the location of the capture window. Width x Height + X_origin + Y_origin.

NetGraph User Interface Configuration File

You can save NetGraph user interface configuration information such as options to NetGraph and control panel settings in the ~/.netgraphrc file (or a file you specify). The next time you invoke NetGraph, it uses ~/.netgraphrc by default to configure the display and control panel settings. You can override the control panel settings in a configuration file you specify with command line options.

It's easy to create a user interface configuration file using the “Save Controls,” “Save Controls As...”, or “Quit” choices on the NetGraph File menu. You can also create a configuration file with a text editor. See “Using NetGraph in a Distributed Environment” in Chapter 4 for information on multiple configuration files.

A .netgraphrc file can have multiple lines; the format can be one or multiple lines of the following:

option options 
filter [graph_type] [color_index] [avg_color_index] [graph_style] [alarm_info]
# comment

where:

options 

is any NetGraph option except –u. Options must be at the top of the file before any graph specifications.

filter 

is a filter understood by NetSnoop. If filter contains white space, enclose the filter in single or double quotes.

chart_type 

is packets (the default), bytes, %packets, %bytes, %ether, %fddi, %npackets N, or $nbytes N, where N is the base rate for the percentage calculation.

color_index 

is a color map index. The default is color number 4, blue.

avg_color_index 


is a color map index used for the moving average line. The default is color number 1, red.

graph_style 

is the type of graph, either bar or line. The default is bar.

alarm_info 

is the alarm information—see the description below.

The format for the alarm information is:

[alarm | noalarm] [silent | bell] nnnn.nn nnnn.nn

where

alarm 

means the alarm is turned on.

noalarm 

means the alarm is turned off.

silent 

means the alarm is silent.

bell 

specifies that a bell sounds when an alarm condition is met.

nnnn.nn 

is a low or high number at which the alarm becomes active.

NetLook User Interface Configuration File

When you save the NetLook controls, the settings and positions of the control panels— your user interface configuration—are automatically saved in the ~/.netlookrc file.

You can save NetLook user interface configuration information such as control panel settings in the ~/.netlookrc file (or a file you specify). The next time you invoke NetLook, it uses ~/.netlookrc by default to configure the display and control panel settings. You can override the control panel settings in a configuration file you specify with command line options.

An example of the NetLook user interface configuration file is:

NetworkDisplay  Name
NetworkShown    Active
NetworkNew      Add
NodeDisplay     Local
NodeShown       Active
NodeNew         Add
Rescale         5
Timeout         60
TrafficMode     Endpoint
TrafficBasis    Packets
PacketColorStep 1
ByteColorStep   1024
MinColorValue   8
MaxColorValue   15
DataStation     -yeti
Hide            mountain.wpd.sgi.com
Hide            192.26.61
NetLookGeometry 442x453+611+90
NetLookSnoopGeometry    334x138+363+374
NetLookTrafficGeometry  325x574+679+84
NetLookHideGeometry     310x223+570+213

The column on the left lists the user interface features; the column on the right lists settings.

You probably won't need to change this file manually; NetLook changes it automatically whenever you change any of the user interface features and save the configuration.

NetLook Network Data File

The NetLook network data file, typically called network.data, contains network configuration and node information that has been accumulated by NetLook. It is saved when you use the “Save Networks” choices on the File menu or when you quit NetLook. The following sections describe the format of the file and explain two example files.

Format

The network.data file is composed of an object-oriented language made up of statements that bind values to objects. Two types of objects are defined: simple and complex.

A simple object has a single value bound to it. The format of a simple object statement is:

object value 

An example of a simple object is PhysAddr, which is used to define a physical address of an interface. To define a physical address of 8:0:69:2:0:f9, the statement is:

PhysAddr 8:0:69:2:0:f9

A complex object has other objects bound to it. Complex objects may optionally be named. The format of a complex object is:

object name { object value object value ... } 

Objects are case insensitive; names are case sensitive.

An example of a complex object is Interface, which defines an endpoint for communication. An Interface object can be bound with a PhysAddr object to define its physical address, an IPAddr object to define its IP address, and a DNAddr to define its DECnet address.

To define an Interface named cheese with a physical address of aa:0:4:0:e8:4, an IP address of 192.26.75.14, and a DECnet address of 1.232, the complex object statement looks like this:

Interface cheese { PhysAddr aa:0:4:0:e8:4 IPAddr 192.26.75.14 DNAddr 1.232 }

In the file, a pound sign (#) denotes a comment. White space, such as new-lines, tabs, and spaces, is ignored. Thus the complex object statement can also look like this:

Interface cheese {
        PhysAddr        aa:0:4:0:e8:4
        IPAddr          192.26.75.14
        DNAddr          1.232
}

Table D-1 defines the network.data objects.

Table D-1. network.data Objects

Complex Object

Simple Object That Can Bind to the Complex Object

Definition

Network

 

A logical network of bridged segments

 

IPNet

IP network number of the network

 

IPMask

IP subnet mask to use for the network

Segment

A network segment

 

IPNet

IP network number of the segment

Node

A point of communication attached to one or more segments

 

NISServer

A node declared as an NIS server (does not take a value)

 

NISMaster

A node declared as an NIS master (does not take a value)

Interface

 

A point of communication attached to a single segment

 

PhysAddr

Physical address of an interface

 

IPAddr

IP address of an interface

 

DNAddr

DECnet address of an interface

Complex objects bind to other complex objects. For example, Interface binds to Node, Node binds to Segment, and Segment binds to Network.

A Simple Example

This example uses a simple network.data file that defines a configuration of a single network composed of one segment with two nodes named cheese and squaw.

All network.data files begin with a file format version number; in this case, 1.10. After the version is the object Network. The object Network is a complex object, so it can take on a name; in this case the name is engineering. The file looks like this:

NetLook 1.10
Network engineering {
        IPNet   192.26.75
        Segment  {
                IPNet   192.26.75
                Node  {
                        Interface cheese  {
                                PhysAddr        aa:0:4:0:e8:4
                                IPAddr          192.26.75.14
                                DNAddr          1.232
                        }
                }
                Node  {
                        Interface squaw  {
                                PhysAddr        8:0:69:2:0:f9
                                IPAddr          192.26.75.11
                        }
                }
        }
}

After the Network object, a left brace marks the beginning of object-value pairs that are bound to this network. The first object assigned to the network is the simple object IPNet, with a value of 192.26.75. This value defines the network as representing the IP network of 192.26.75. The next line contains the complex object Segment. In this case, Segment is not named and is followed by a left brace. On the next line, another IPNet simple object also binds the IP network number of 192.26.75 with this segment.

The next line contains the complex object Node (not named) and an opening left brace. This node is defined to have an interface named cheese with three simple objects bound to it:

  • a PhysAddr of aa:0:4:0:e8:4

  • an IPAddr of 192.26.75.14

  • a DNAddr of 1.232

Next are the closing right brace of the Interface complex object and the closing right brace of the Node complex object.

A second node is defined with an interface named squaw. This interface has only a PhysAddr of 8:0:69:2:0:f9 and an IPAddr of 192.26.75.11 bound to it; no DNAddr is defined.

Lastly, the closing right braces of the Interface, Node, Segment, and Network complex objects end the complex object definitions.

A Network Using an IP Netmask

It is a common practice at large sites running TCP/IP to use a netmask to divide a network. NetLook reads the netmask that is in use on the Display Station and uses it in its logic when it configures nodes on the networks. The netmask is written to the network data file, network.data.

The following example shows a network.data file for a network named usa that uses a netmask.

NetLook 1.10
Network usa {
        IPNet   131.131
        IPMask  255.255.255.0
}
Network boston {
        IPAddr  131.131.1
        Segment boston {
                IPAddr 131.131.1
                Node  {
                        Interface gate-boston {
                                IPAddr         131.131.1.1
                        }
                }
        }
}
Network dallas {
        IPAddr        131.131.2
        Segment dallas {
                IPAddr 131.131.2
                Node  {
                        Interface gate-dallas {
                                IPAddr         131.131.2.1
                        }
                }
        }
}

The first network object defines the Class B network and binds the netmask 255.255.255.0 with that network. The following network objects, which are subnetworks of the 131.131 network, use the netmask that was defined for the 131.131 network. You can also establish a netmask in a remote network or use a different netmask (for example, 255.255.252.0).

NetSnoop Configuration File

The NetSnoop configuration file, typically called .netsnooprc, consists of command line options, protocol option settings, macro definitions, comment lines beginning with a pound sign (#), and blank lines.

You can override the control panel settings in a configuration file you specify with command line options.

An example .netsnooprc file is:

define ip.udst ip.dst == mountain
option -x -n ether
set ip.noetherupdate arpip.noetherupdate

The meaning of each line is:

define ip.udst ip.dst == mountain 


A user-defined macro. In this case, the macro ip.udst is defined to be equal to ip.dst == mountain.

option -x -n ether 


All the NetSnoop command line options can be given on an options line. In this case, -x -n ether is used as if it had been entered on the command line when NetSnoop is run.

set ip.noetherupdate arpip.noetherupdate 


Protocol options are set with a set line as if they were specified with the –p option on the command line. White space may be used as well as commas to separate the protocol options.

NetTop Configuration File

The NetTop configuration file, typically called .nettoprc, contains NetTop configuration information.

You can save NetTop user interface configuration information such as control panel settings in the ~/.nettoprc file (or a file you specify). The next time you invoke NetTop, it uses ~/.nettoprc by default to configure the display and control panel settings. You can override the control panel settings in a configuration file you specify with command line options.

Each line of the NetTop configuration file has two or three columns separated by a space or a tab. The first column is the name of a configurable feature of NetTop. These names are defined by NetTop. The second and third columns are values. A blank value is acceptable.

The following is an example of a .nettoprc file (slightly reformatted):

SnoopInterface          jenny
SnoopFilter             tcp
MeasureTraffic          Packets
DataUpdateTime          1.000000
InterpolatePercent      50
VerticalScale           Reduce
LockAt                  5
ReduceAfter             5.000000
LabelBy                 Name
Display                 SourcesAndDestinations
Sources                 5
Destinations            5
ShowSourceNodes         Specific
ShowDestinationNodes    Specific
BusiestMeans            MostPackets
Source 2                diamond 
Source 3         
Source 4         
Source 5         
Source 6         
Source 7         
Source 8         
Source 9         
Destination 2           ruby 
Destination 3    
Destination 4    
Destination 5    
Destination 6    
Destination 7    
Destination 8    
Destination 9    
NetTopGeometry          592x603+313+33
TrafficControlGeometry  390x632+8+183
NodeControlGeometry     460x720+767+263

The remainder of this section explains each of these lines and others that can appear in the file:

SnoopInterface  jenny

Defines the snooping interface.

SnoopFilter             tcp

Specifies a filter expression.

MeasureTraffic  %NPackets

Specifies how traffic should be measured. The possibilities are: Packets, Bytes, %Packets, %Bytes, %Ether, %FDDI, %Npackets, and %Nbytes.

Npackets
Nbytes

If MeasureTraffic is %Npackets or %Nbytes, the traffic is calculated as a percentage of the value of one of these resources.

DataUpdateTime  1.000000

Specifies the time interval in seconds to recalculate and update the tower display.

InterpolatePercent      50

Specifies the percentage of n DataUpdateTime seconds it takes to change from one value to a new value. In this case, it is 50%.

VerticalScale   Reduce

Specifies how to scale the vertical axis. The options are: Lock, NeverReduce, and Reduce.

LockAt          5

Sets the maximum value for the vertical axis. This value is used when VerticalScale is set to Lock. In this case, the maximum value is 5.

ReduceAfter     5.000000

Sets the time after which the maximum vertical scale is reduced. This value is used when VerticalScale is equal to Reduce. In this case, it is set to 5 seconds.

LabelBy         Name

Specifies how one or both of the horizontal axis are labeled. If the value is Name, node names are used. If the value is Address, IP addresses, physical addresses, or DECnet addresses are used as labels.

Display         SourcesAndDestinations

Specifies the type of graph. The options are: SourcesAndDestinations, BusyPairs, and NodesAndFilters.

Sources         5
Pairs           5
Nodes           5

Specifies number of source nodes to display. Depending upon which Display option is specified, one of these line appears in the file.

Destinations    5
Filters         5

Specifies the number of destination nodes or filters to display. Depending upon which Display option is specified, one of these line appears in the file.

ShowSourceNodes Specific
ShowDestinationNodes    Specific
ShowNodes       Busy

Specifies the radio buttons chosen for type of source nodes, destination nodes, and nodes. Specific means display nodes that are listed in the scrolling list. Busy means display the busiest source nodes.

BusiestMeans    MostPackets

Specifies the radio button chosen for the definition of the term busiest. MostPackets means traffic volume is measured in packets. MostBytes means traffic volume is measured in bytes.

Source 2        diamond 
Source 3         
Source 4         
Source 5         
Source 6         
Source 7         
Source 8         
Source 9         

Specifies source node names.

Destination 2   ruby 
Destination 3    
Destination 4    
Destination 5    
Destination 6    
Destination 7    
Destination 8    
Destination 9    

Specifies destination node names.

Filter 2 ip
Filter 3
Filter 4
Filter 5
Filter 6
Filter 7
Filter 8
Filter 9

Specifies the filters to be used on one horizontal axis.

NetTopGeometry  592x603+313+33

Defines the location of the main window.

TrafficControlGeometry    390x632+8+183

Defines the location of the Traffic control panel.

NodeControlGeometry       460x720+767+263

Defines the location of the Nodes control panel.