Recent changes:
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
this? See the full description below!
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.
Provides minor fix for bug in which only partial configuration
retrieved from base station in settings with poor link quality.
Version 2.0 of the Modem Utility works with both the original
("graphite") and new ("snow") version base stations. This version works
with both modem and PPPoE connections. It also displays the connection
speed for the new base stations (unfortunately, the original versions don't
report the connection speed, so this isn't displayed).
This version works with the new ("snow") version base station
(the one with two Ethernet ports). It provides the same functionality
(mostly) as version 1.5.2 provides for the original ("graphite") base
station (the one with one Ethernet port). The new version was necessary
becuase the communication protocol, and seemingly the firmware, have been
completely changed in the new units. The new configurator version is specific
to the new units; it will not work with the original base stations. Note
that this version supports both 40- and 128-bit encryption, since support
for both is built into the new base station.
- Configurator version 1.5.2
posted (November 17, 2001)
Includes:
- Bug fix correcting problem that prevented username/password
field from being changed in modem configuration (bug introduced in
version 1.5.1)
- Sanity-check on local base station IP address in Bridging
panel, to prevent address 0.0.0.0 from being uploaded to the base station
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 Windows if using Sun's
JRE 1.2 or higher runtime environment ; from command line in Unix).
The download for the Macintosh expands into a folder containing a double-clickable
application plus the help file; a download containing two necessary
Java libraries from Sun is also available (see notes below).
"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 new ("snow")
base station.
- Macintosh classic (OS 9)
- Configurator and manual (Stuffit archive)
-
Swing libraries (Stuffit archive; needed for Macintosh classic
(see below))
"Snow" Version
Version for the new ("snow") base station, with two Ethernet ports.
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.
- Unix / Windows
- Configurator and manual (zip file)
- Mac Classic
- Configurator and manual (zip file)
Additional Resources
-
Tips on usage
- A common problem: shrunken text entry fields
It is possible that when you start the configurator, or retrieve
settings, all of the textboxes into which you can enter information
will appear very narrow, unable to hold even 1 character. This is a Swing
anomaly: if the outer window size isn't large enough to hold all of the
contained components, all of the textboxes shrink to 1 pixel wide! The
solution is simple: just enlarge the window size (drag the bottom-right
corner); when the size is big enough, the textfields will all suddenly pop
out to their normal size. Note that this shrinkage happens whether the
window is too narrow (not wide enough), or too short (not tall enough), so
you might have to enlarge either of these dimensions.
Macintosh classic notes: The configurator was
built with components from Sun's Swing user-interface package; unfortunately,
the Swing libraries aren't included with Apple's MRJ (Macintosh Runtime
for Java) download. The needed files are called "swingall.jar" and "mac.jar",
and should be in the MRJClasses folder in the MRJ Libraries folder in the
Extensions folder inside the System folder; if these aren't present on
your machine, you'll have to download them (above), and install as follows:
- Make sure MRJ is installed: you can download the
latest version from Apple if you need it, at URL http://www.apple.com/java
(use the "Download MRJ 2.2 Installer" link). If there isn't an "MRJ Libraries"
folder in your Extensions folder, you need to download this.
- Download the Swing files above: the library files
needed are contained in an archive file (which your browser should
automatically decompress).
- Put library files into correct location: Drag
the files "swingall.jar" and "mac.jar" from the "Swing libraries"
folder to the MRJClasses folder in the MRJ Libraries folder in the Extensions
folder inside the System folder - i.e., put these two into System folder/Extensions/MRJ
Libraries/MRJClasses.
- Once this is done, you should be able to run the Mac
version of the configurator by double-clicking it. (As a side benefit,
you'll now be able to run any other applet or application that uses
the Swing user interface libraries!)
Where's Apple hidden the firmware
in their 1.3 software update?
Apple's firmware has previously been supplied as a standalone file as
part of a software download bundled into a Mac-specific archive file
(with suffix ".smi", so it's often called a .smi file) However, with
the 1.3 software release, the firmware is no longer included as a separate
file - it's embedded within the base station admin utility (it's the
Bin1 resource, if you're a ResEdit fan). That leaves non-Mac-users out
in the cold! However, it's possible to get the firmware image out using
ResEdit, and copies are floating around. Check out:
http://www.aciri.org/fenner/airport/
(Thanks, Bill!)
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 both versions ("graphite" and "snow") of the 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.
- Version 1.4: Works with only the "graphite" base station
- Source: Contains source
files and scripts for creating jar files
Macintosh classic notes:
Note that this utility requires the Sun Swing libraries (see discussion
above), which can be obtained through the link above.
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.
:-(
Use:
- 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
- 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.
- 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.
- 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.
- Click the "Stop testing" button to stop the test.
Macintosh classic notes: Note that this utility
requires the Sun Swing libraries (see discussion above), which can
be obtained through the link above.
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 addresses and client names of attached hosts are listed,
with the list being updated every 5 seconds. Note that 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. Thanks to Michael
Codanti for suggesting this app!
Note: works only with the original ("graphite") base station; see
the AirPort Port Inspector for related functionality for the new ("snow")
base station.
Unix / Windows / Mac OSX - version 1.0 (zip file)
Macintosh Standard: coming soon!
Source (zip file)
Use:
- Start the application:
- In Windows, just double-click the HostMonitor.jar file
icon
- In Linux/Unix/Mac OSX, at the command line, enter:
java -jar HostMonitor.jar
- In Mac Classic, double-click the HostMonitor application
icon
- 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.
- Click the "Start monitoring" button; a list of host names
and Mac addresses of all wireless hosts attached to the access point
will appear; the list is updated every 5 seconds.
Macintosh classic notes: Note that this utility
requires the Sun Swing libraries (see discussion above), which can
be obtained through the link above.
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 only 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:
Unix / Windows / Mac OSX
- version 1.0 (zip file)
Source
(zip file)
Use:
- Start the application:
- In Windows, just double-click the PortInspector.jar file
icon
- In Linux/Unix/Mac OSX, at the command line, enter:
java -jar PortInspector.jar
- Enter the password used to configure the access point
in the dialog box which appears at startup
- 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...)
Note:
- Works only with the new ("snow") base station.
Downloads:
Unix / Windows / Mac OSX
- version 1.0 (zip file)
Source
(zip file)
Use:
- Start the application:
- In Windows, just double-click the PortInspector.jar file
icon
- In Linux/Unix/Mac OSX, at the command line, enter:
java -jar PortInspector.jar
- 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
- 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).
Mailing List
A mailing list has been created to provide notification of
updates in the Airport Base Station Configurator, Hangup Utility, and
other related software releases. Note that this is a notification-only
list; it won't accept postings.
To subscribe to the airport-config mailing list:
- create an email message addressed to:
majordomo@lists.mcs.drexel.edu
- leave the subject line blank (it's ignored)
- in the body of the message, put:
subscribe airport-config
You'll receive a reply indicating that you've been added to
the list, followed at intervals by notifications of any updates or releases
of new software versions.
(To unsubscribe from the list:
- create an email message addresses to:
majordomo@lists.mcs.drexel.edu
- leave the subject line blank (it's ignored)
- in the body of the message, put:
unsubscribe airport-config
You will then no longer receive messages from the list.)
Bug Report and Status List:
- Port mapping
- Port mapping would not work with base stations using manual
Ethernet configuration
- Status: Fixed May 23 2001; public base station IP address
was not being set for port maps during configuration, rendering port
mapping inoperable; problem not present when DHCP or modem configuration
used, since public IP address was supplied by base station at run time.
- Manual
- Manual instructions for reset procedure not compatible
with Airport 1.1 and higher
- Status: Rewritten July 8, 2000, with inclusion of section
on firmware upload to accompany configurator version 1.2
- Modem country code combo box
- Problem: Combo box didn't display correct country when
retrieving settings from base station; always read "North America" (even
when base station successfully updated with different country code).
- Status: Fixed May 21, 2000
- Modem init string functionality
- Problem: Alterations in modem init string read incorrectly;
could cause dialing problems if init string length != 7.
- Status: Fixed May 18, 2000
- Modem configuration
- Problem: Setting of (disabled) Ethernet configuration
panel could affect modem configuration settings; only occured if DHCP
setting selected in Ethernet panel.
- Status: Fixed May 16, 2000
Change Log:
January 26, 2003
AirPort Port Inspector version 1.0 posted:
- Utility to display open port maps through the new
("snow") base stations
March 12, 2002
Modem Utility version 2.0 posted:
- Modem Utility for both the new ("snow") and original
("graphite") version base stations
- Displays modem connection speed for the new version
base station
February 4, 2002
Configurator version 2.0 posted:
- Configurator for the new ("snow") version base
station; provides (approximately) the same functionality as version 1.5.2
provides for the original ("graphite") base station.
November 17, 2001
Configurator version 1.5.2 posted:
- Bug fix correcting problem that prevented username/password
field from being changed in modem configuration (bug introduced in
version 1.5.1)
- Sanity-check on local base station IP address in
Bridging panel, to prevent address 0.0.0.0 from being uploaded to the
base station
October 1, 2001
Configurator version 1.5.1 posted:
- Important bug fix affecting size of username/password
field and DHCP client ID; now provides for longer usernames, needed
in particular for German DSL services
- Provision for configuring base station to use RTS/CTS
medium reservation
May 23, 2001
Configurator version 1.5 posted:
- Important bug fix affecting port mapping with Ethernet
configuration (thanks to Manoj for pointing this out, and providing
the information needed to resolve the issue!)
- Separation of DHCP and NAT functionality
NAT service is now independent of DHCP service, with NAT vs
transparent bridging being configured in the Bridging panel and DHCP
service placed into its own panel - Private address range for NAT
can now be specified
The local private LAN address range can be specified to be any
range desired, not just the default 10.0.1.* range, by specifying
the base station private LAN address and subnet mask
May 8, 2001
Wireless host monitoring utility version 1.0 posted
Link test utility version 1.1 posted:
- significant bug fix in which incorrect link tested
- numerical values added to bar displays
April 22, 2001
Configurator version 1.4 posted:
- PPPoE for WAN connection
- DHCP client ID for WAN connection (thanks to Manoj Kasichainula
for providing this functionality)
Note that the base station will support the above features only
if Airport firmware version 1.3 is installed.
- DHCP lease time configurability for LAN connection
- Restructured Network and Bridging panels to better display
information
- Fixed bug in display of uptime in Discovery window
January 18, 2001
- Microsize version of configurator posted; created for
folks with 640 x 480 screens; has all the same stuff as the regular-size
configurator, just "squeezed".
January 15, 2001
Configurator version 1.3 posted:
- Encryption:
- Support for 4 encryption keys added
- Switch added to permit unencrypted and encrypted data
simultaneously
- Modem logon script support added
- SNMP trap host and syslog address specification fields
added
- Facility added to disable bridging of broadcast packets
when using NAT
October 16, 2000
Version 1.3 of Modem Utility posted:
- New platform-dependent look-and-feel (thanks to Chris
Gervais for supplying this enhancement).
- Ability to set base station IP address added - shouldn't
be an issue for most folks, though.
October 4, 2000
Configurator version 1.2.2 posted:
Addition to modem phone-number string functionality:
now recognizes comma ( , ) , asterisk ( * ) , pound ( # ) , and period
( . )
Fixed minor bug involving dimming of sub-panels in Network
panel when cursor passed over elements.
MAC address and base station uptime added to display
of discovery information (thanks to Chris Hertel for supplying this
enhancement).
128-bit encryption version made available
July 26, 2000
Configurator version 1.2.1 posted:
- Provision for creating a closed network added to configurator
- Fix for bug (introduced on July 13) affecting encryption
key; last byte of encryption key was inadvertently overwritten by (newly
lengthened) modem init string field... Doh!
July 19, 2000
- New smaller-footprint format for version 1.2 of the Modem
Utility. Also now displays connection time (or "Unconnected") on the
toolbar when minimized (and has a pretty icon of its own to remind you
of what the displayed number means).
July 15, 2000
- Much improved notification of errors in supplied
configuration information - now highlights offending entry, and displays
tabbed panel which contains it
- Major change in representation of locations of information
in 17kB memory block; now use standard hex address rather than cumbersome
OID-row-column approach. New source posted.
July 13, 2000
Modem-string handling enhancement added to configurator
(to handle "deficient" modem init strings). Some default configuration
files seem to have come with no modem initialization string; this enhancement
assures that at least the "bare minimum" string, needed to support the
country code functionality, will always be included.
July 8, 2000
- Incorporated firmware upload capability into configurator
- Rewrote section of manual on base station reset to make
compatible with Airport 1.1 and higher
- Improved duplicate-packet rejection in SNMP code, to
avoid problems from networks with loops
- Rewrote checksum routines, to reflect dual-checksum organization
(single configuration checksum, plus appended transmission checksum)
- Improved (somewhat) error reporting
June 21, 2000
- Fixed bug for quitting via window close box; previously,
the java runtime kept going in the background if quit through close
box rather than from File menu. Thanks to Jer from Blacklite / Cal Poly
for pointing this out!
- Fixed bug in access control functionality (discovered
a "switch" in the memory image that I'd missed before; black-box reverse
engineering is hard!!
:-(
- Clarified several cryptic error reports which appeared
in the messages window (Java exception strings don't help the end user
much...)
May 21, 2000
- Fixed bug where combo box didn't display correct country
when retrieving settings from base station; always read "North America"
(even when base station successfully updated with different country code)
- Added "same as" phrases to country code combo box
- Slightly reorganized Network settings panel
May 18, 2000
- Fixed bug affecting modem initialization string;
length of initialization string read from incorrect field, causing problems
with initialization string and phone numbers if init string length was
different from 7
May 16, 2000
- Fixed bug affecting all previous releases, where modem
configuration status affected by setting of radio button in (disabled)
Ethernet configuration panel.
May 13, 2000
Posted as version 1.1
Added port mapping configuration panel
Improved table entry functionality (for currently edited
cell, changes automatically written when configuration saved or updated)
May 12, 2000
Reduced font sizes and size of configurator frame so
will fit on smaller screens
Separated Swing libraries download from configurator
download for Macintosh
May 10, 2000
Posted
source code and documentation (May 10, 2000)
May 8, 2000
- Repackaged Mac Hangup with JBindery to address "Class
not found" error
- Added remaining telephone country codes for dial-up connections.
May 5, 2000
- Created and posted modem hangup utility.
- Added GNU Public License to downloads.
- Packaged necessary Swing libraries "swingall.jar" and
"mac.jar" into a "fat" version of the Mac download so folks wouldn't
be forced to download Sun's 11MB behemoth just to get these two.
- Repackaged Mac downloads as ".sit" archives.
May 4, 2000
- Rewrote several methods to make the configurator compliant
with Java 1.1.8 for Mac system compatibility. Also, created Mac-specific
download: packaged jar file with JBindery to give double-clickability
on Mac systems.
- Added modem initialization string textbox in Network
panel.
April 28, 2000:
- Initial posting of configurator jar file.
Jon Sevy
Geometric and Intelligent Computing Lab
Department of Mathematics and Computer Science
Drexel University
Comments/questions: jsevy@mcs.drexel.edu