Apple Airport Utilities

Utilities for management and configuration of the Apple Airport wireless LAN base stations and their relatives (Lucent RG-1000 and others)

AirPort Base Station Configurator
Airport Modem Utility
Wireless Link Test Utility
Wireless Host Monitoring Utility
AirPort Port Inspector
AirPort IP Inspector

 

Please note that this software is freeware, and comes with no warranty, express or implied. The user – not the author – is responsible for all consequences that may stem from its use; the author accepts no liability for any damage or inconvenience that may result. This software is provided under the GNU Public License (included with the downloads).


Configurator

Here’s a Java-based configurator for the Apple AirPort Base Station and Lucent RG-1000 wireless access points. It should run on any platform with a Java 1.2-compliant runtime environment installed,  permitting the configuration of a base station from any host. The download for Unix/Windows consists of a zip file containing the software and HTML help file. The runnable is supplied as a “jar” file; run this in the usual way (double-clickable in most environments; can also be run from command line in Unix-based systems).

“Graphite” and RG-1000 Version

Version for the original (“graphite”) base station, with one Ethernet port, and the Lucent RG-1000. See below for versions for the “snow” base station.

“Snow” and Extreme Version

Version for the “snow” base station, with two Ethernet ports, and Extreme (54 Mbps) base station. Note that this has built-in support for both 40-bit and 128-bit encryption. See above for versions for the original (“graphite”) base station.

Additional Resources


Modem Monitoring and Hangup Utility

This is a small Java-based utility that monitors the connection state of the modem of an Apple AirPort Base Station, sends signals to connect or disconnect the modem on demand, and displays the (approximate) length of time the modem has been connected. Version 2.0 also displays the modem connection speed when used with the new (“snow”) version base stations. (Thanks to Raph Hix for suggesting this app, S. Sexton for posting info on the relevant signals to send, and Olav von Rein for suggesting the leaner format.)

  • Version 2.0:   Works with all versions (“graphite”, “snow” and Extreme) of the AirPort Base Station.
  • Version 2.0 Non-Swing:    Identical to above, but doesn’t require the Java Swing user interface libraries, for systems such as handhelds with limited memory.
  • Source:  Contains source files and scripts for creating jar files

Wireless Link Test Utility

This is a small Java-based utility that permits the measurement of signal strength and noise on wireless links between an Airport Base Station and the wireless hosts associated to it, permitting the selection of the specific wireless host whose link is to be tested and displaying bar graphs of signal strength and noise. This utility was built using the information on the undocumented 1.3.6.1.4.1.762.2.5.*  MIB variables (posted here).

Note that version 1.1 provides an important bug fix; in version 1.0, the link tested could be other than the one corresponding to the listed wireless host. This has been corrected in version 1.1.

Note: works only with the original (“graphite”) base station and Lucent RG-1000.

Use:

  1. Start the application:
    • In Windows, just double-click the LinkMonitor.jar file icon
    • In Linux/Unix/Mac OSX, at the command line, enter:    java -jar LinkMonitor.jar
    • In Mac Classic, double-click the LinkMonitor application icon
  2. Click the “Set community” button, and enter the password used to configure the access point; click the “Set address” button and enter the access point’s IP address if it’s different from 10.0.1.1.
  3. Click the “Select new host” button; a list of names of all wireless hosts currently attached to the access point will appear; select the host whose wireless link quality you’d like to test.
  4. Click the “Test wireless link” button; the access point will send a stream of packets to the wireless host, and use these to measure the quailty of the wireless link; the link’s signal level, noise level, and signal-to-noise ratio (SNR) will be displayed as bar graphs; the statistics are updated every 10 seconds.
  5. Click the “Stop testing” button to stop the test.

Wireless Host Monitor

This utility monitors the wireless hosts that are currently connected through an Apple Airport or Lucent RG-1000 wireless access point. The MAC and IP addresses of attached hosts are retrieved and listed, with the list being updated every 5 seconds. The utility provides an editable list of MAC addresses and user-assigned host names for recording hosts which are known. When the list of associated hosts is retrieved from the base station, it is matched against the list of known hosts, and the associated host names are displayed. If a host is not found in the list, the phrase “*****Unknown host*****” is listed in the name field to indicate the presence of an unrecognized host. (An “Add” button is provided for each such unknown host to simplify adding it to the list of known hosts.)

Thanks to Michael Codanti for suggesting the original version of this app, and to Bruce Thomson for helping to test the functionality with the AirPort Extreme.
Notes:

  • Version 2+ works with “graphite”, “snow” and Extreme AirPort base stations, as well as Lucent RG-1000 access points
  • Version 2.0.2 fixes the “shrunken textfield problem” (where text boxes shrink to 1 pixel wide when the window size is too small)
  • Version 2.1 adds support for logging and remote notification through email, and includes a user manual.

Downloads:


Use:

  1. Start the application:
    • In most systems, just double-click the HostMonitor.jar icon
    • Alternatively, at the command line, enter:
      java -jar HostMonitor.jar
  2. In the dialog box which appears at startup, enter the IP address of the base station (usually 10.0.1.1) and the password used to configure the base station.
  3. The utility will immediately start monitoring the base station, showing a list of hosts associated with the base station; the list is updated every 5 seconds.
  4. To edit the list of known hosts, click on the “Edit known hosts” button; this will bring up a table in which the names and MAC addresses of known hosts can be added. Note that MAC addresses must be entered as pairs of hex digits separated by spaces, for example,   00 02 2d 3f a2 73
  5. More conveniently, when monitoring starts, any hosts which show up as “Unknown” will also have a button labelled “Add”; clicking this will bring up the known hosts table with the MAC address already entered.
  6. When the application exits, you’ll be prompted to save the base station settings and known host list if these have been changed.

Notes:

  • Extensibility
    The software has been designed to allow easy extensibility for monitoring other types of access points.There’s a single class that needs to be implemented for each base station type that queries the base station and returns the retrieved information to the main program for display. Since there’s no standard SNMP MIB that provides information on the wireless hosts associated with a base station, each manufacturer generally provides a proprietary set of OIDs to supply this information, though some, including the “Snow” AirPort base station, provide no direct mechanism for reporting the associated hosts (see below). In fact, each of the three AirPort models has sufficiently different firmware that the mechanisms used to monitor the associated wireless hosts are entirely different. AirPorts are similar on the outside only. The “Graphite Airport used an embedded 486 microcontroller from AMD and firmware developed by Karlnet, Inc.; the “Snow” AirPort used an embedded PowerPC microprocessor from Motorola and VxWorks-based firmware; and the Extreme models use an embedded MIPS-based microprocessor from AMD – I’m not sure what the firmware is based on. So we have three entirely different processor families and possibly three entirely different operating systems! See Constantin von Wentzel’s website for a side-by-side comparison of the three models. The AirPorts are essentially identical strangers.)In any case, I’d be interested in extending the monitoring capability to additonal access point types, beyond Apple and Lucent models. To do this, I need information about how the access point manufacturer provides the needed information (if at all). If you have a favorite access point type, and would like to see the Host Monitor extended to cover this, send me an email and I can tell you how to retrieve the information I need (basically, either the device MIB, if provided by the manufacturer, or an SNMP treewalk of the device while some wireless hosts are attached to it; I can send detailed instructions on how to perform the latter).
  • “Graphite” AirPort:
    • The list compiled by the access point seems to be somewhat variable, with hosts sometimes disappearing for one cycle and showing up again in the next.
    • The WAN address of the base station is not displayed correctly for some versions of the base station firmware, due to an incorrect reporting of the interface indices associated with the WAN (Ethernet) and LAN (wireless) interfaces (they’re both reported as interface 1 in the IP address table).
    • The length of time that each host has been associated is not provided by the base station, and thus not displayed.
  • “Snow” AirPort:
    • The “snow” AirPort models unfortunately provide no direct mechanism to determine the hosts which are currently associated with the base station. The monitoring consequently uses the list of port maps in the base station as the list of associated hosts. As a result, the utility will show associated hosts only when the base station is used in NAT mode, and hosts will only show up when they have recently made active connections to the “outside world”,  since only these will have opened ports through the base station.
    • The length of time that each host has been associated is not provided by the base station, and thus not displayed.
  • AirPort Extreme:
    • The Extreme AirPort needs firmware 5.1.1 or greater for monitoring to work (earlier versions don’t support the relevant SNMP OIDs).

 


AirPort Port Inspector

This utility provides monitoring of the port maps used by hosts associated with an AirPort base station when NAT is used. It provides both a detailed and simplified view of open ports; the detailed view shows information on the remote hosts being accessed by local hosts, while the simplified view just shows the number of ports used by each local host. A consequence of this is that the utility can be used to monitor the local hosts which are associated with a base station – however, note that only hosts which have recently made active connections to the “outside world” will show up.

Notes:

  • works with the new (“snow”) base station; see the Host Monitor Utility above for related functionality for the original (graphite) base station.
  • only hosts which have recently made active connections to the “outside world” will show up, since only these will have open ports through the base station.

Downloads:


Use:

  1. Start the application:
    • In most systems, just double-click the PortInspector.jar file icon
    • Alternatively, in Linux/Unix/Mac OSX, at the command line, enter:    java -jar PortInspector.jar
  2. Enter the password used to configure the access point in the dialog box which appears at startup
  3. The utility will immediately start monitoring the base station, showing a list of ports representing connections through the base station; the list is updated every 5 seconds. Note that only hosts which have recently made active connections to the “outside world” will show up, since only these will have opened ports through the base station.

AirPort IP Inspector

This utility monitors the external (WAN) IP address of a “snow” AirPort base station, and sends an email notification to a configurable email address whenever the external IP address changes. Why would anyone ever want to do this? Well, this is intended for folks who want to access hosts behind a base station through a preconfigured port map. For example, suppose you have a web server on your home computer, and it connects to the “outside world” through an AirPort base station. If the web server’s (local) IP address is 10.0.1.2, you can access the web server from outside of your home network by configuring the AirPort with a port map that maps connections on port 80 of its external interface to port 80 on the internal host 10.0.1.1. Thus pointing your web browser to the AirPort’s external IP address will access the web server – the connection is “passed through” due to the port map. Of course, this requires that you know the external IP address of the base station, and if your service provider uses DHCP, this can change. That’s where this utility comes in – run on the web server, it monitors the base station’s external IP address, and emails you when it changes so you’ll know where to find your base station if its address changes.

This is a first whack at a more general notification utility; being emailed every time your base station’s IP address changes is probably not the most convenient notification method, but it should at least be effective – you’ll know where your base station is. In addition, the messages could relatively easily be processed by a process on the receiving end to take some action if desired (the message format is very simple). On the other hand, it’s a little like the sorcerer’s apprentice, in that it’ll happily fill up your mailbox with notifications if your base station’s address changes frequently (the utility queries the base station every 5 seconds). The code has been structured so that alternative notification actions can easily be provided – for example, a URL for a cgi-bin program could be accessed and provided with the new address, and this could display the new web address in a web page – or, better yet, redirect you to the new base station address. The code simply dispatches to any registered object that implements a simple AirportInfoChangeListener interface (a simple example of how to use it is contained in the AirportInfoChangeEmailer class). If there’s interest, and I get time, I’ll code up a few additional ones (or if anyone would like to contribute one, I’d be happy to incorporate it…)

Version 1.1 recompiled for Java version 6
Note:

  • Works only with the new (“snow”) base station.

Downloads:


Use:

  1. Start the application:
    • In Windows, just double-click the IPInspector.jar file icon
    • In Linux/Unix/Mac OSX, at the command line, enter:    java -jar IPInspector.jar
  2. In the dialog box which appears at startup, enter the base station’s local address (usually 10.0.1.1) and password, the email address to which change notifications should be sent, and the name of your Internet service provider’s SMTP mail host – the latter is generally something like “mail.earthlink.com” or the like; you can probably find it in the settings for your email package (Eudora or whatever), or get it from  your ISP
  3. The utility will immediately start monitoring the base station, checking its external IP address every 5 seconds. You’ll get an initial email message when the utility starts, and then another one whenever the IP address changes. Again, be aware that you’ll get lots of messages if it changes frequently (up to one every 5 seconds, but this would be really unusual).