Class IPReader

java.lang.Object
  |
  +--IPReader

public class IPReader
extends java.lang.Object

IPReader.java Jim Gast, jgast@cs.wisc.edu This program reads the IP2AS.txt file containing the translation from IP address to AS number. See MakeIP2AS.java more information about that file.

 An IPReader reads lines of IP2AS.txt file until EOF
 The IP2AS file is expected to have:
  #    Lines that start with "#" are comments
  Each IP Range line contains:
     nnn.nnn.nnn.nnn/bb - base IP address and number of bits masked
     aaaaa - integer AS number
  The AS number 0 is a special case that is used for dummy IP ranges
   (to speed up the range matching) or to indicate that no AS matches
   that range.
 

See Also:
IPRange

Field Summary
static java.lang.String DEFAULT_FILE
          The default file of IP ranges and their associated Autonomous System numbers is IP2AS.txt.
 
Constructor Summary
IPReader()
          simple default constructor opens IP2AS.txt.
IPReader(java.lang.String fileName)
          Construct an IPReader given an input file name.
 
Method Summary
 void close()
          closes the IPReader.
 java.lang.String getFileName()
           
 IPRange loadIPRanges()
          loads up a linked list of IP ranges from an IP2AS input file.
static void main(java.lang.String[] args)
          test the IPRange and IPReader classes.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_FILE

public static final java.lang.String DEFAULT_FILE
The default file of IP ranges and their associated Autonomous System numbers is IP2AS.txt.

See Also:
Constant Field Values
Constructor Detail

IPReader

public IPReader(java.lang.String fileName)
Construct an IPReader given an input file name. Use null to use the default file name.


IPReader

public IPReader()
simple default constructor opens IP2AS.txt.

Method Detail

loadIPRanges

public IPRange loadIPRanges()
                     throws java.io.IOException
loads up a linked list of IP ranges from an IP2AS input file. The IP ranges are arranged hierarchically. The base of the tree is IP range 0.0.0.0/0. Subsequent levels of the tree contain successively smaller ranges.

Returns:
base The base of the tree of IPRanges.
java.io.IOException

close

public void close()
closes the IPReader.


getFileName

public java.lang.String getFileName()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
test the IPRange and IPReader classes. A few test cases translate known IP addresses to their AS Numbers.

java.io.IOException