Sustainable Sustworks - Tools for Internet Travel
Inspired Tools for the Mac

User Guide



IPNetMonitor Release Notes

December 19, 2001 (2.5.2)

NSLookup: add support for displaying TXT records.

TraceRoute, PortScan: log any errors during copy and paste from table.

DHCP Test: use specified request address for "DHCP Release" if limit is one.

DHCP Test: cache Ethernet HW address so we don't try to quit while getting the address from an Ethernet driver.

Whois: update default list of Whois servers.

September 6, 2001 (2.5.1)

TraceRoute: remember ICMP Trace setting between launches.

August 28, 2001 (2.5)

Released as IPNetMonitor 2.5 with OTModl$Proxy 2.1.5 .

Display OTModl$Proxy version in About Box.

TraceRoute: disable auto-tracing when invoking TraceRoute from the Whois or NSLookup Windows.

TraceRoute: add support for ICMP trace to work through some firewall products.

Fix copy and paste from tables (use correct data size).

NSLookup: fix bug that mis-interpreted query names ending in period.

April 16, 2001 (2.5c8)

History Popup: fix possible crash when closing and re-opening windows.

Installer: changed to always install application over another version.

March 19, 2001 (2.5c7)

DHCP Test: use unique transaction IDs for each loop during continuous testing.

History Popup: fix bug when deleting last item in menu.

History Popup: fix possible crash when closing and re-opening n'th window.

Ping: fix possible crash for large packets (over 1500 bytes).

Monitor: test filter logging.

Updated IPNetMonitor Read Me.

Update installer to use Unlink OTModl$Proxy.

January 22, 2001 (2.5c6)

Fixed memory leaks: TraceRoute table, Connection List, Port Scan, and Monitor.

Revert CTurboUDPEndpoint to follow CW4 design.

Fixed bug in NSLookup Display when text exceeds window width.

Update default list of Whois servers.

Re-order shutdown sequence if initialization fails so app will quit properly.

Fixed bug that mis-ordered history menu if an item was removed.

Fixed bug that showed "Dummy" for history menu if a blank item was read.

Fixed history menu to display correctly after another instance is closed.

Fixed possible crash if too many windows were opened (out of memory) or closed by quitting the application (resource overflow).

January 4, 2001 (2.5c5)

New icon that is easily distinguished from IPNetRouter.

Fixed WaitNextEvent sleep time to reduce CPU overhead.

Weak Link with Internet Config library to avoid possible launch error.

Subnet Calculator window: increase maximum width.

Log File: fixed bug that prevented logging on first run.

October 27, 2000 (2.5c4)

Convert to CodeWarrior 6 for carbonization.

Fixed bug when closing trace window while tracing in progress.

September 20, 2000 (2.5c3)

Added LinkRate tool.

Whois: fixed bug in remembering previously used server address.

Changed shortcuts: D for DHCP Lease; Z for Address Scan.

Added shortcuts: K for Link Rate; Y for Port Scan.

September 15, 2000 (2.5c2)

Added Port Scanner tool.

NSLookup: add popup menu of recent query text.

Whois, Finger: changed URL format to be more consistent with other tools.

August 18, 2000 (2.5c1)

Ping: add popup menu of recent targets (history).

TraceRoute: add popup menu of recent targets.

NSLookup: add popup menu of recent servers.

Whois: add popup menu of recent servers including default list.

Finger: add popup menu of recent targets.

Ping: show intermediate results for Limit=0.

Multiple copies of same tool: open a new copy of window for GURL AppleEvent or if Option key is held down. Offset each copy slightly.

Maintain window names as a resource for easy translation.

Startup: restore multiple open instances of the same tool to their previous locations.

Change "Window" menu to "Tool" menu.

August 1, 2000 (2.4.5)

Whois: fixed bug in remembering last server selected.

Installation: update Network Setup to match TCP/IP Prefs if needed.

June 16, 2000 (2.4.4)

Address Scan: change max received (in one pass) to number of hosts seen.

Monitor: improve error recovery.

TraceRoute: ping first to open a path for responses through NAT routers that do not support ICMP translation.

TraceRoute: add a second Get Names thread to speed getting host names.

TraceRoute: cache "No name found." entries to improve lookup performance on subsequent traces.

Apr 17, 2000 (2.4.3)

Fixed font bug when opening a second NS Lookup window.

Jan 26, 2000 (2.4.2)

Display Monitor captions in corresponding color.

Add "" to Whois server popup.

Catch Whois exceptions.

Jan 1, 2000 (2.4.1)

Catch monitor exceptions.

Turn off debug alerts.

Dec 12, 1999 (2.4)

Monitor: check if "OTModl$Proxy" is present before modifying TCP/IP prefs. If not present, inform user monitoring is not available.

Monitor: do not overwrite an existing 'crpt' resource. If found, inform user the resource needed for monitoring is busy and disable the monitor tool.

Monitor: for OT2.5 or later, use the 'blip' (below IP) resource instead of 'crpt' so the Monitor function can coexist with other software that uses the 'crpt' resource.

General: fix bug in opening log file so application will not freeze if another copy is already running.

Installer: add "PurgeTCPPrefs" applet to remove our 'crpt' resource from TCP/IP Preferences file.

Dec 3, 1999 (2.4c3)

Whois: Change server name popup menu to always reset name and lookup server address.

Whois: If the response to a whois query lists an alternate "Whois Server:", enter this in the Server Name Field so the original request can be completed by pressing the Query button a second time. This simplifies using the Whois tool when there are multiple registration authorities for a single top level domain such as ".COM".

Nov 12, 1999 (2.4c2)

Subnet Calc: Add support for decimal input.

Ping: calculate stats using 32-bits to avoid wrap-around errors.

Ping: avoid divide by zero error if counters wrap.

Ping: identify results on same line.

Ping: show intermediate results if limit is >= 100 and any responses were lost.

Oct 15, 1999 (2.3.2)

Restructured the logging function to write out status messages to a log file as well as displaying them in the Log Window. The default log file is named "IPNM.log" in the Preferences Folder.

Fixed bug in old PowerPlant networking class so endpoints won't go deaf when certain errors occur.

September 29, 1999 (2.3.1)

General: Check TCP/IP Preferences File directly to avoid network setup when the Proxy module is already configured. This reduces launch time and works around network setup being out of sync with the TCP/IP Preferences File.

August 12, 1999 (2.4c1)

Added DHCP Test tool. Refer to the help text in the DHCP Test window.

Ping: fix bug for large ping sizes.

NS Lookup: report Minimum TTL and show times in common units.

June 28, 1999 (2.3)

Fixed possible thread state error during Monitor startup.

Released as 2.3

June 11, 1999 (2.3c7)

Add DHCP Lease tool.

Improve monitor startup via AppleEvent.

June 7, 1999 (2.3c6)

Ping: make packet size adjustable.

Ping: fix bug in terminating and restarting DNS lookups.

TraceRoute: fix bug in abort.

June 3, 1999 (2.3c5)

Update to CW Pro Release 4.

General: Use OT Configuration Database if available instead of modifying TCP/IP Preferences File directly to insert Proxy module. Perform this operation at application startup before opening any endpoints since it may rebuild the TCP/IP configuration (pressing Option during startup will force the stack to rebuild).

Monitor: pause and then restart monitor if DHCP lease expires.

Monitor: recognize GURL Apple Events to start the Monitor window. If you have Internet Config installed, you can make IPNetMonitor a helper application for URLs of the form <monitor://portname>.

April 25, 1999 (2.3c4)

Trace Route: increase maximum window width.

Connection List: fix Cmd-1 Telnet to remote address.

March 16, 1999 (2.3c3)

Monitor: changed byte counter to display values over 4096M as Gigibytes (G).

Connection List: added stats for Seq# Send Next; Seq# Send Unack; Seq# Rcv Next; and Seq# Rcv Ack'd.

March 2, 1999 (2.3c2)

Monitor: write byte counter to disk once per hour if it has changed.

Fixed scrolling problem in Log Window.

February 26, 1999 (2.3c1)

Ping: fixed bug where pings from one window could be recorded by another ping window.

Monitor: increased maximum byte count from 4096M to over 99000M bytes.

Monitor: write byte counter to disk every minute to ensure it is saved.

Monitor: added port selection popup to selectively monitor a single port, or all ports.

December 28, 1998 (2.2.1)

Whois, NSLookup: fixed possible crash when threads complete out of order.

Slight change to application icon (still in progress).

December 12, 1998 (2.2)

Ping: display orange check mark to indicate response received from an IP address that doesn't match the ping target.

Monitor: changed default plot colors to be 256-color friendly.

November 22, 1998 (2.2c2)

Address Scan: display maximum received.

Address Scan: added Pause/Resume button.

Fixed scroll problem for long Whois responses.

Fixed scroll problem in Help Window.

November 5, 1998 (2.2c1)

Log when byte counters last reset.

Updated to Code Warrior 3.

Improved error checking.

Update registration data in About Box immediately after editing.

If trial period has expired, pressing accept will try to open WWW Registration Page.

August 15, 1998 (2.1)

TCP Info: Add popup to access additional IP statistics.

Address Scan: ignore ping responses from Ping tool (with same IP address).

Ping: ignore ping responses from Address Scan tool (with same IP address).

Unbundle from IPNetRouter: This version of IPNetMonitor will not accept IPNetRouter registration keys.

July 14, 1998 (2.1c1)

Monitor: added total bytes sent and received counters.

Ping: decrement lost count if a previously lost packet is later seen.

Ping: if no Limit, report any lost packets in Log Window every 10 pings.

June 24, 1998 (2.0.2)

Improved error recovery during Last Seen scan.

Renamed "Test Connectivity" window to "Ping".

Finger: allow "@" character in query name.

June 15, 1998 (2.0.1)

Fixed bug in GURL for TraceRoute.

Improved Alert text to help explain OT errors.

Fixed mailto URL in About Box.

May 18, 1998 (2.0)

Whois, Finger: fixed initial target.

Released as 2.0

April 20, 1998 (2.0c3)

Monitor: fixed bug when a long ICMP datagram is received.

Whois: increased maximum window size.

NSLookup: get column positions from resource.

April 15, 1998 (2.0c2)

Whois: added popup menu for common whois servers.

April 8, 1998 (2.0c1)

Fixed bug when copying long domain names from TraceRoute table.

Monitor: find TCP/IP Preferences file by type and creator if necessary.

April 3, 1998 (1.9)

Released as version 1.9

March 31, 1998 (1.9c3)

Connection List: fixed bug that didn't display IP address

Log Window: Added time stamps

Reset demo expiration

Patched several small leaks

March 23, 1998 (1.9c2)

NSLookup: Remember "Query Type" and "Use Server" settings.

Test Connectivity: allow GURL host name string to include Limit and Delay.

Who Is: Remember "Use Server" setting.

Address Scan: Remember scan type.

Change the way Threads abort to avoid possible memory conflict.

March 9, 1998 (1.9c1)

Connection List: Added a "Delete" button to terminate connections immediately.

Connection List: Well known protocol port names can now be customized using ResEdit.

Connection List: Remember connection parameter and monitoring state.

Monitor: Changed the running average to show the average over the last 10 seconds.

Monitor: Remember monitoring state.

TCP Info: Remember monitoring state.

Moved registration commands from Edit menu to About Box.

Fixed bug that would "select all" when the mouse button was released after selecting text in a field that is not currently active.

Fixed bug that would start drag and drop from an inactive field based on selection in the previously active field.

Fixed bug in edit fields that would sometimes erase a small section of the window background.

Improved the way threads abort.

January 3, 1998 (1.8)

Released as version 1.8

December 28, 1997 (1.8c3)

Added "Connection List" window to show TCP connection parameters.

Copied TraceRoute data now includes the resolved target.

November 28, 1997 (1.8c2)

Changed "sleep time" to reduce CPU utilization.

Changed command key for Subnet Calculator from "Cmd-S" to "Cmd-B".

Updated keyboard shortcuts in the help text for each window.

Ping and TraceRoute now default to the "Name" field for keyboard input. You can type either a Name or IP Address in the Name field.

Allow multiple Address Scan windows (Cmd-D from within an Address Scan window).

Allow multiple NSLookup windows (Cmd-L from within an NSLookup window).

November 25, 1997 (1.8c1)

Enhance Monitor to work better with IPNetRouter.

Fix bug when transfering data from Finger to other windows.

Check for OT1.1.1 or later at startup.

October 28, 1997 (1.7)

Released as version 1.7.

October 15, 1997 (1.7b5)

Fixed a small memory leak.

Reduced clutter in Log Window for Name lookups when no name is found.

October 14, 1997 (1.7b4)

Address Scan: Fixed bug that would stop DNS lookups after 30 names.

Address Scan: Expanded maximum scan range.

Address Scan: Added caption to show scan "Start Time".

Address Scan: Copy to clipboard now includes correct headings and start time.

Reverted SetupAP to an applet to help resolve a reported conflict.

October 9, 1997 (1.7b3)

Address Scan tool can now scan every minute to report the last time a host was seen.

Converted SetupAP to an INIT so it will run before any data link provider is opened if "Load only when needed" is not selected.

IPNetMonitor now accepts IPNetRouter registration data. This allows customers who purchase IPNetRouter to use IPNetMonitor without needing a separate registration key.

Modified code to avoid a "User Break" with the debug version of Open Transport.

September 26, 1997 (1.7b2)

New Address Scan tool makes it easier to scan a range of IP Addresses to check for available hosts and registered domain names.

Fixed bug that corrupted spinning cursor if starting a DNS lookup from an already open window after closing another DNS lookup window.

NSLookup: If the results of a querry are longer than 32K (such as a Zone Transfer), the entire response is saved to a text file in the application directory (NSLookupResponse). Only the first 32K are displayed in the NSLookupWindow.

NSLookup: fixed possible crash when quiting the application while a Zone Transfer is in progress.

Aug 25, 1997 (1.7b1)

Fixed bug in NSLookup that caused it misinterpret domain names that begin like IP addresses. Example: <>

Fixed bug that could prevent "WWW Registration Page" under the Edit menu from invoking MSIE.

Converted to CodeWarrior Pro using MSL.

July 31, 1997

Released as version 1.6

July 22, 1997 (1.6c8)

TCP Info window: add per second connection statistics to facilitate analyzing SYN flood attacks.

July 9, 1997 (1.6c7.1, 7/9/97)

68K TCP Info window: fixed a divide by zero bug.

July 7, 1997 (1.6c7)

Changed "TCP Info" window to show average bytes per second instead of byte totals.

July 4, 1997 (1.6c6)

Added "TCP Info" window making it easy to see retransmitted and duplicate data.

June 17, 1997 (1.6c5)

Monitor: fixed memory leak introduced with ICMP logging.

Allow multiple Whois and Finger windows.

June 10, 1997 (1.6c4)

NS Lookup: Show TTL value for resource records.

Monitor: Record incoming ICMP Echo Requests (pings) in Log Window.

June 5, 1997 (1.6c3)

Test Connectivity: Show an orange "X" and report the reason in the Log Window if an ICMP "Destination unreachable" response is received.

Trace Route: Show an orange "X" and report the reason if an ICMP "Destination unreachable" response is received that is not "Port unreachable" from the trace target.

Trace Route: You can open additional Trace Route windows by selecting Trace Route (Cmd-R) from within a Trace Route window.

June 3, 1997 (1.6c2)

Display About Box as a "splash screen" while the application is starting up.

Improved startup and GURL processing using threads.

Updated the Read Me file to clarify there are three ways to register.

May 8, 1997 (1.6c1)

Monitor: fixed bug in finding "TCP/IP Preferences" file using 'STR#' resource for localized MacOS versions.

April 23, 1997 (1.5)

Monitor: changed time display to use format specified in Date & Time control panel.

NSLookup: querries now request to use recursion if available.

NSLookup: List Domains query no longer shows SOA results.

NSLookup: changed checkbox label to "Use Server at IP Address" and updated help text.

TraceRoute: fixed bug that prevented transfering a destination from the Trace Route table to the Test Connectivity or Subnet Calculator window.

April 21, 1997 (1.5c2)

Updated documentation for IPNetMonitor on my web page. Documentation can now be downloaded in PDF format.

Monitor: expanded help text to describe small Monitor window.

Whois, Finger, NSLookup, TraceRoute: added support for PageUp and PageDown keys.

Improved how TraceRoute matches response packets so it can trace ahead through firewalls.

Test Connectivity: allow URLs of the form <ping://> or <ping:> where the last two numbers specify the Limit and Delay if present. May be used to maintain a connection by pinging a server every two minutes for example.

Test Connectivity: fixed bug that misinterpreted delays longer than several minutes.

Updated component version numbers to be more consistent.

April 16, 1997 (1.4)

Whois, Finger, NSLookup: Improved responsiveness during long TCP querries.

Whois, Finger, NSLookup: Fixed bug in Apple menu processing.

NSLookup: Added query type "List Domains" to simplify finding the domain names registerd by an organization.

NSLookup: Fixed OS display for MINFO query.

NSLookup: Display server address along side server name if provided.

NSLookup: Added support NSLookup GURL.

NSLookup: URL display now includes server name if specified.

Register Application: added "IPNetMonitor Registration Update" to allow users who register with an old version of the Register Application to pay the remainder of the new registration fee. The registration fee increased from US$10 to US$20 as of 4/13/97 (updates remain free to previously registered users).

April 10, 1997 (1.3)

NSLookup now supports Zone Transfers.

Fixed bug in time display that showed 12:00 noon as AM.

March 31, 1997 (1.3c2)

Added NSLookup client.

Added Finger client.

IPNetMonitor now supports multiple open Test Connectivity (ping) windows.

Extended support for GURL Apple Events to include "whois" and "finger" URLs.

March 21, 1997 (1.2)

Added WWW Registration Page to Edit menu.
You can now register online and receive your registration key within minutes.

Added Font and Size menus for use with the WhoIs tool to support international servers.

The URLs in the About Box are now active (requires Internet Config).

Fixed refresh bug in the Monitor display that caused grid lines to sometimes not appear.

Converted to use the new CW11 fully threaded networking classes.

February 20, 1997 (1.1.2)

Fixed a bug in copying just the first row of the trace route table.

February 14, 1997 (1.1.1)

Added elapsed time display to Trace Route window.

The Min, Ave, and Max summary times now show 3 decimal places for values less than 0.1 second.

Fixed bug where Trace Route could crash on some CPUs during asynchronous trace ahead.

IPNetMonitor now comes with an Installer to simplify installing and removing the application.

February 4, 1997 (1.0c13)

Fixed bug where Trace Route could crash if aborted while looking up names after the trace had completed.

Moved the Average bytes per second to the right side of the Monitor window so the left side could be covered without losing this information.

IPNetMonitor now restores windows to the screen they were on when last closed.

SetupAP now ignores old PPP mdev's (like MacPPP) to avoid duplicate found errors.

January 24, 1997 (1.0c11)

Trace Route no longer pauses to wait for slow or lost responses.

Who Is allows you to specify the address of a Whois Server to use for querying international domain names that are not registered by the InterNIC.

The Monitor Window now shows the average and maximum sent and received bytes per second separately.

Ping and Trace Route can now invoke Telnet to the corresponding destination by launching a <telnet://...> GURL via Internet Config. Use Cmd-1 from the Ping or Trace Route window. [Works great with Nifty Telnet.]

The Subnet Calculator now shows the number of addresses in a subnet based on the mask.

January 14, 1997

Changed the name of the preferences file from "IP NetLink Prefs" to "IPNetMonitor Prefs" to match the new product name. If you are installing this version over a previously registered copy, you will need to re-enter your registration data, or rename the old preferences file so IPNetMonitor finds your registration data.

Removed the "look down" button from the Ping and Trace Route windows. The program automatically determines whether to do a lookup or reverse lookup based on which field is empty or contains the insertion point.

Times less than 0.1 second are now displayed to three decimal places in the Trace Route window.

Changed the application icon to be more visually distinctive.

The Test Connectivity tool now supports pinging to a range of IP addresses. Enter the starting and ending IP address separated by a hyphen.

The Subnet Calculator now does conversions between classful network ranges and CIDR aggregates (network prefix/length). Fixed a bug in the original version (1.0c7).

Fixed a bug in displaying the spinning cursor during DNS lookups (introduced when printing was added).

Changed WhoIs window to not scroll when new text is added.

Fixed refresh bug in WhoIs window that caused window background to turn black.

Fixed bug that allowed Ping or TraceRoute to invalid address when lookup failed.

Fixed memory leak in opening/closing Ping and TraceRoute window.

December 12, 1996

Printing from the file menu is now supported.

Renamed tools only version from "IP NetLink" to "IPNetMonitor" to be more descriptive and unique.

IPNetMonitor now remembers the size of the Monitor window when you last quit the application. If the small Monitor window was running, it will restart automatically when you launch the application.

The Monitor tool now shows a running average in blue.

Horizontal and vertical grid lines have been added to the Monitor display.

Added 'clut' resource to specify colors for the Monitor display: background, grid, transmit, receive, average, small background, and small grid. If the background and grid color are the same, the horizontal graph scale is shown. If no 'clut' resource is found, use default colors from the standard palette.

Times less than 0.1 second are now displayed to three decimal places in the Test Connectivity window.

November 20, 1996

The Monitor tool now works with Ethernet and other data link providers.

A User Guide is now available including a tutorial on "Finding and Fixing Potholes on the Information Highway."

Added "Who Is" client. Select any destination from the Trace Route table and type Cmd-I to look up "Who Is" responsible for the corresponding top level network domain.

Invoking one tool from another transfers the corresponding data automatically. Cmd-R from the ping window will automatically start a Trace Route to the same address.

The Log Window now records each test and a summary of ping results.

Added edit fields to adjust "Limit" and "Delay" for Ping test (pings are now asynchronous).

The Monitor tool now works on 68K Macs (created ASLM version of OTModl$Proxy).

Fixed copy and paste bug in 68K version.

Fixed expiration date bug in 68K version.

October 11, 1996

Added a zoom box to the Monitor Window that shrinks the window to use less screen space.

Added a registration screen that allows you to enter registration data if you decide to buy the program. Once registered, the demo startup window will no longer appear.

The package now includes a Register application you can use to pay for the program ($10) using the Kagi Software Service.

The demo now expires 21 days after being installed.

The terms and conditions for use have been updated to reflect the programs commercial status.

A 68K version is now available (but Monitoring won't work until the OTModl$Proxy module is converted to ASLM).

September 24, 1996

Fixed a bug in the OTModl$Proxy STREAMs module that caused occaisional data corruption or crashes while monitoring.

You can select the results of a Trace Route test and copy them to the clipboard as plain text (for pasting into email messages). If you include the first row of the table in your selection, the table headings will also be copied as shown here.


Hop Sent Received Seconds IP Address Name

The line beginning "<traceroute: " is the URL for this trace. If you use Internet Config and have selected IPNetMonitor as the corresponding helper application, you can invoke a Trace Route to this address by command clicking in the URL. [Great if someone sends you email including the results of a traceroute, and you want to reproduce it.]

Fixed various cosmetic bugs.

Further testing reveals Open Transport will not autopush STREAMS modules above classic 'mdev's (MacPPP or FreePPP). To use the Monitor window, you'll need to use Apple's OT/PPP (the only OT Native PPP implementation I'm aware of at this time). I'm still investigating ways to work around this.

September 3, 1996

IPNetMonitor now remembers each window's size and location when the window is closed, and will restore windows to their previous position when opened.

IPNetMonitor remembers which windows we're open when you last quit the application, and will automatically re-open them when the application is started.

IPNetMonitor now handles the GURL Apple Event. If you use Internet Config, you can make IPNetMonitor the helper application for URLs of the form "traceroute://a.b.c/" or "ping://a.b.c/".

If the Monitor window is open when a GURL Apple Event is received, monitoring will be started before invoking the traceroute or ping.