December 19, 2001 (2.5.2)
NSLookup: add support for displaying TXT records.
TraceRoute, PortScan: log any errors during copy and paste from
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
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
History Popup: fix bug when deleting last item in menu.
History Popup: fix possible crash when closing and re-opening n'th
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,
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
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
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
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
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
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
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
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 "whois.networksolutions.com" 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
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
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
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
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
Monitor: write byte counter to disk every minute to ensure it is
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
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
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
Ping: ignore ping responses from Address Scan tool (with same IP
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
Ping: if no Limit, report any lost packets in Log Window every
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 0.0.0.0
Log Window: Added time stamps
Reset demo expiration
Patched several small leaks
March 23, 1998 (1.9c2)
NSLookup: Remember "Query Type" and "Use Server"
Test Connectivity: allow GURL host name string to include Limit
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
Connection List: Well known protocol port names can now be customized
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
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
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"
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
Allow multiple Address Scan windows (Cmd-D from within an Address
Allow multiple NSLookup windows (Cmd-L from within an NSLookup
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
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
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: <0.0.1.4.5.1.f.5.IP6.int/NS>
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
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
Improved how TraceRoute matches response packets so it can trace
ahead through firewalls.
Test Connectivity: allow URLs of the form <ping://www.sustworks.com/>
or <ping:184.108.40.206/0/120> 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
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)
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
Added Font and Size menus for use with the WhoIs tool to support
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
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
SetupAP now ignores old PPP mdev's (like MacPPP) to avoid duplicate
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
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
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
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
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
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
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.