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




IPNetMonitorX Release Notes

Paid Software Upgrade (if you registered more than 2 years ago)

Mar 27, 2021 - IPNetMonitorX 2.8c1
• Build and notarize with Xcode 12.4 on Big Sur.
• Native on Apple Silicon.
• Monitor tool temporarily disabled on Big Sur (System Extension still under test).
• Upgrade price is $20 (free if registered within last 2-years).

Mar 17, 2019 - IPNetMonitorX 2.7.3
• Address Scan - update Ethernet OUI (Organization Unique Identifiers).
• Build with Xcode 10 on Mojave.
• IPNetMonitorX is now notarized by Apple to work with Gatekeeper in next release of MacOS X.
• Upgrade price reduced to $20 (free if registered within last 2-years).

Jan 6, 2018 - IPNetMonitorX 2.7.2
• Trace Route tool now supports IPv6.
• IPv6 Addressing - compress leading zeros.
• DNS Lookup - return all addresses including IPv6.

Nov 14, 2017 - IPNetMonitorX 2.7.1
• Fix to automatically install updated helper tools.

Nov 12, 2017 - IPNetMonitorX 2.7.0
• Ping tool now supports IPv6.
• Re-conceptualize IPv6 Subnet Calculator as "IPv6 Address Info" to be simpler by removing IPv4 features.
• Add IPv4 address "Pattern" to Subnet Calculator to help recognize common IP address types.
• Automatically open corresponding IPv4 or IPv6 Address Info when other type of IP address is entered.
• Fix possible crashing bug when attempting to access a previously closed window.
• Fix inconsistencies in IPv6 address compression.
• Add support for opening IPv6 raw sockets.

Oct 19, 2017 - IPNetMonitorX 2.6.9
• Update for MacOS X High Sierra
• Address Scan - Update Ethernet OUI list (Organization Unique Identifier)
• Address Scan - Add support for medium and small OUI subblocks.
• TCP Info - Update to work with MacOS High Sierra.
• TCP Flow - Update to work with MacOS High Sierra.
• Monitor - Ask user to authorize NKE in System Preferences if needed for High Sierra.
• Monitor - Allow monitoring all traffic on interface, IPv4 only, or IPv6 only.
• Monitor - Allow two NKE probes per interface ([0] and [1])
- to allow monitoring IPv4 and IPv6 traffic in two side-by-side windows.
• Improve authorization and startup sequence to be more consistent
- even when no network connection is available.
• Convert app to 64-bits.
• Update to use secure 64-bit version of Sparkle so check for updates works again.
• Build with MacOS 10.12 SDK.
• Minimum deploy target is now MacOS 10.9
• AirPort Signal tool - Removed because it is not available in MacOS 10.9 SDK or later.

Oct 21, 2016 - IPNetMonitorX 2.6.8
• Update for Mac OS X Sierra
This update required reverse engineering security enhancements for configuring SUID root tools.
1. (geteuid() != 0) when SUID is set;
2. Calling chown() after chmod resets SUID;
3. Default permission when creating new folders is owner only (no read or execute group).
Sorry for the long wait.

Nov 2, 2015 - IPNetMonitorX 2.6.7
• Build for El Capitan using Xcode 7.1 on El Capitan

Aug 24, 2015 - IPNetMonitorX 2.6.6
• Connection List - fix "Process" column for 10.9 and beyond.

Apr 28, 2015 - IPNetMonitorX 2.6.5
• Update Ethernet OUI list used by Address Scan tool.
• Add IP address column in Port Scan window.

Nov 9, 2014 - IPNetMonitorX 2.6.4
• Update NKE code signing to be Yosemite compatible. [Please drop me a note if this isn't working for you.]

If you have trouble getting the NKE to work on Yosemite, as a temporary workaround you can type this command in your terminal: sudo nvram boot-args="kext-dev-mode=1" and restart your computer. It basically tells your machine to ignore invalid signatures on kexts.

Sep 7, 2014 - IPNetMonitorX 2.6.3
• Update to be Yosemite compatible.
• Fix code signing for tcpflow components.
• Fix SUID root test to verify helper tools were successfully installed.
• Update Ethernet OUI list used by Address Scan tools.

Aug 28, 2013 - IPNetMonitorX 2.6.2
• Port Scan - show corresponding addresses.
• Server Scan - remember any changed settings when Apply is pressed.
• Server Scan - move log to ~/Library/Logs/
• Updated the Name Query and Whois tools to use Monoco 10 point.

Nov 6, 2012 - IPNetMonitorX 2.6.1
• Added Bonjour Scan tool.

Oct 26, 2012 - IPNetMonitorX 2.6
• Build with Xcode 4.5 under Mountain Lion.
• Address Scan: Update Ethernet OUI list.
• Improve file permissions for upgrade registrations.
• Release as version 2.6

July 5, 2012 - IPNetMonitorX 2.6c6
• Sign code with Apple Developer ID and update helper tools for Mountain Lion.
• IPNetMonitorX will ask for an admin password to repeat the first run install process as needed.

Feb 19, 2012 - IPNetMonitorX 2.6c5
• Address Scan: Update Ethernet OUI list.
• Address Scan: Do not include IPv6 services in scan results.

Oct 21, 2011 - IPNetMonitorX 2.6c4
• Fix possible authentication conflict when loading a signed NKE.

Jan 11, 2011 - IPNetMonitorX 2.6c3
• Notice this update may require an upgrade fee based on when you last registered.
• Stability bug fixes.

Jan 3, 2011 - IPNetMonitorX 2.6c2
• Address Scan (Look Around): Browse to find all service types and then use the types found to scan for all registered services. This can identify Apple TVs by name, and will show other iOS devices if they are running any service that registers a Bonjour name. For example, if "Air Sharing" is running on your iPad, your iPad will appear by name in the scan results.
• Address Scan (Look Around): Remember any device names previosly found.
• Address Scan (Look Around): Show IPv6 addresses of any services found.
• Address Scan: update the Ethernet OUI (Organization Unique Identifier) list to the latest published version. This will identify more device manufacturers by the Ethernet MAC address.
• Avoid Spinning Pizza of Death (Spod) during ARP when network is not available.
• DHCP Test: support more than 255 unique MAC addresses.

May 27, 2010 - IPNetMonitorX 2.6c1
• Server Scan: use Scripting Bridge to send Email notifications using .
• Server Scan: added "Shell Sript" action with parameters (location, result).
• DHCP Test: log timed out responses.
• Port Scan: update stealth scan (SYN, FIN,...) for Snow Leopard.
• Build monitor NKE as 32/64-bit Universal.

Apr 20, 2010 - IPNetMonitorX 2.5
• Startup: wait for network to become available when launched as login item.
• Startup: restore multiple instance fields correctly when tools are running.
• DNS Query: added query type SPF;
• Fix bug: Server Scan Export changing visible action.
• Fix screen drawing bug in Interface Info tool.

Oct 15, 2009 - IPNetMonitorX 2.5c4
• Build as 32-bit Universal pending further testing.

Oct 14, 2009 - IPNetMonitorX 2.5c3
• Remove old registration data from /L/AS/Sustainable Softworks/IPNetMonitorKey when writing new data.
• Connection List: improve update when host is slow to respond.
• DHCP Test: allow selecting UDP broadcast for VMWare compatibility.
"defaults write com.sustworks.IPNetMonitorX udpBroadcast 1"
• Prepare Disk Image on 10.5 to preserve background image.
• Change system requirements to Mac OS X 10.5 or later.
• Build as 32/64-bit Universal.

Sep 29, 2009 - IPNetMonitorX 2.5c2
• Fixed AirPort Signal tool to work on Snow Leopard.
• DHCP Test - allow setting client hardware address.
• Remove old registration data from ~/L/AS/Sustainable Softworks/IPNetMonitorKey when writing new data.

Sep 25, 2009 - IPNetMonitorX 2.5c1
• Fix Connection List to work on Snow Leopard.

Jun 17, 2009 - IPNetMonitorX 2.4.2
• Service Info: added DNS tab to request BIND version.
• SNMP Tool MIB Table - read MIBs using NSMacOSRomanStringEncoding when needed.
• Ignore descriptive text in target field more consistently.
• Convert all source files to UTF8 encoding.
• Update "localizable.strings" file.
• Display help in web browser by default. Use Option-Help for Apple's Help Viewer.

Jun 3, 2009 - IPNetMonitorX 2.4.1
• Show Demo Startup when trial has expired.
• Update license text in Demo Startup.
• Address Scan: added tcp port 3389 RDP to list of well known protocol ports.
• Fix splash window.
• Restore Help button on First Run athorization alert.
• Ask for authorization only once from non-admin account.

May 28, 2009 - IPNetMonitorX 2.4
• Server Scan: fix to handle 10 retries correctly.
• Restructure project files to use Subversion based revision control.
• Release as version 2.4

May 21, 2009 - IPNetMonitorX 2.4c4
• SNMP Tool MIB Table - when loading MIB files, scan file to use correct module name.
• SNMP Tool MIB Table - dim load checkbox for pre-loaded MIBs and remove "Pre-load" column.
• SNMP Tool MIB Table - allow option-click to check "load" for all MIBs in table.
• SNMP Tool MIB Tree - allow finding non-numeric OIDs in MIB tree.
• SNMP Tool MIB Tree - allow selecting what is displayed in upper right text view.

May 19, 2009 - IPNetMonitorX 2.4c3
• SNMP Tool - Allow adding MIB folders under "Loaded MIBs" tab.
• SNMP Tool - Search for MIB name in added MIB files.
• SNMP Tool - Support finding non-numeric OIDs in MIB Tree.
• SNMP Tool - MIB Tree added detailed node descriptions.
• SNMP Tool - Write settings to ~/.snmp/snmp.conf .

May 14, 2009 - IPNetMonitorX 2.4c2
• SNMP Tool - added SNMP MIB browser.
• Updated various help files.
• Port Scan - fixed bug in adding and removing connection refused records when scan is interupted.

May 7, 2009 - IPNetMonitorX 2.4c1
• Added SNMP Tool for doing simple queries and managing MIB files.
• Service Info: moved SNMP query to SNMP Tool.
• Fixed bug in Email notification from Server Scan.
• Port Scan: added orange check mark and red X next to the check boxes in the UI for "Show Connection Refused" and "Show No Response".
• Help menu: added "Feedback" menu item and fixed "ReadMe" to point to the correct file.
• About box: make Email address and web URL clickable.

Apr 16, 2009 - IPNetMonitorX 2.3.01
• Application launch - skip asking for upgrade if there is a valid upgrade key in the pasteboard.
• Upgrade - ask user to authenticate to remove old key if necessary when upgrading, so upgrade will override any previous key even if not writable by the currently logged in user.

Apr 2, 2009 - IPNetMonitorX 2.3
• Release as version 2.3
Note this version may require a paid upgrade.
See <>

Mar 31, 2009 - IPNetMonitorX 2.3c8
• Added SNMPd Config tool.
• Added Service Info tool.

Mar 19, 2009 - IPNetMonitorX 2.3c7
• Drag and Drop: allow dropped text to replace field contents instead of being inserted.
• Address Scan - LookAround: allow editing "Name" and "Comment" column to display user info.
[similar to editing file filenames in Finder, click, pause, and click again]
• Consolidate related tools into submenus in Tool menu and Launcher pallet (to make room for more).
• Ping: avoid lookup delay when dotted quad was specified.
• Check for keys in /L/AS/Sustainable Softworks/ before application folder.

Mar 6, 2009 - IPNetMonitorX 2.3c6
• Rewrote Connection List tool to work more consistently accross OS X versions and include IPv6 information.
• Server Scan: cosmetic fixes to table cells.
• Server Scan: translate numeric entries to make export data easier to read.
• Subnet Calculator: re-organize input section to be more intuitive.
• Reorganized demo startup to be more consistent and support paid upgrades.
• System Requirements are now 10.4 or later.
Note this version may require a paid upgrade.

Feb 12, 2009 - IPNetMonitorX 2.3c5
• Fix URL access to tools by working around possible bug in initializing NSScriptCommand.
• Added "-r sender" option to set the address envelope for reports from server scan.
• Added Sparkle support for automated updates.
• DHCP Test: added giaddr field to simulate requests from a Relay Agent.
• Lookup: allow scrolling of Result and Verification fields.

Oct 16, 2008 - IPNetMonitorX 2.3c4
• Avoid repeated first run install alerts by not trying to install admin only tools when run from non-admin account.

Oct 2, 2008 - IPNetMonitorX 2.3c3
• Fix possible timing conflict when replacing and authorizing helper tools.
• Accept upgrade key only.
• Fixed crash in DNS RBL tool.

Aug 5, 2008 - IPNetMonitorX 2.3c2
• First Run Install: pause after copy phase to allow time for file system to stabilize.
• Ping: allow vertical resizing.
• Ping: adjust lost count if a ping that previously timed out becomes "destination unreachable".
• ICMP: self repair ICMP server connection if it dies unexpectedly.

July 23, 2008 - IPNetMonitorX 2.3c1
• Changed first run install to work the same for non-admin accounts.
• Fixed obscure memory leaks found using Apple's Clang tool.
• Ping and TraceRoute: stop underlying server explicitly when window is closed.
• Name Server Query: added "Enable debug option".
• Name Server Query: allow drag and drop of selected text from result to the query name field.
• Connection List: update lsof process name information every 30 seconds.

Note V2.0 or later (Leopard compatible) is a $30 upgrade for customers who registered before 1-Jan-2005.

May 20, 2008 - IPNetMonitorX 2.2
• Subnet Calculator: redesigned as "IPv4 IPv6 Subnet Calculator."
• NS Query: add "IPv6 Address (AAAA)" query type.
• NS Query: add support for IPv6 address to name lookup (query type PTR).
• Lookup: add support for IPv6 and display any IPv6 addresses returned.
• Tool history: keep 10 entries in addition to any suggested local configuration values.
• Lookup: added "Show DNS" button.
• Trace Route: allow specifying UDP trace port explicitly for tracing firewall conflicts.

Mar 14, 2008 - IPNetMonitorX 2.1.9
• Monitor: fix build setting to prevent NKE Failure on 10.4 systems.

Feb 21, 2008 - IPNetMonitorX 2.1.8
• Server Scan: use UNIX sendmail in place of Message.framework.
• Center splash screen at application launch.

Feb 6, 2008 - IPNetMonitorX 2.1.7
- Lookup: update "Flush Cache" button to use "dscacheutil -flushcache" on Leopard instead of lookupd.

Jan 3, 2008 - IPNetMonitorX 2.1.6
• Fixed tcpflow by relocating image with other helper tools.
• Confirm identity of signed IPNetMonitorX app.
• Use ~/L/AS/IPNetMonitorX consistently when /L/AS/IPNetMonitorX is not writable.

Dec 26, 2007 - IPNetMonitorX 2.1.5
• Relocate helper tools to "/Library/Application Support/IPNetMonitorX/HelperTools".
• Move other modifiable resources out of Application bundle.
• Sign each helper tool using Leopard Code Signing.
• Sign IPNetMonitorX app.
• Remove "Unauthorize Tools..." from application menu since app can be moved and copied freely.
• Use standard help button from latest Interface Builder.
• Help: search only the localized help book for the page requested.
• AirPort Signal: fix character used in plot column.
• Link Rate: improve RTT calculation by ignoring second response of each pair.
• Link Rate: reduce probe size for improved compatibility.
• Link Rate: fixed bug in One Second Window Size calculation.
• Incorporate refactoring from IPNetRouterX.

Nov 11, 2007 - IPNetMonitorX 2.1.4
• Build with Xcode 3.0 under Leopard.
• Catch NSInternalConsistencyError and print stack trace.
• Check for interrupted system call on read().

Sep 27, 2007 - IPNetMonitorX 2.1.3
• Added DNS RBL tool (DNS real time black list check).
• DHCP Test: send Client FQDN (option 81) if requested to ask server to update DNS record.
• DHCP Test: show length and content of unrecognized DHCP options.
• Whois: update to repeat query when an ARIN "ReferralServer:" is specified.
• Incorporate latest DO client/server fixes from IPNRx.
• Open help files in Apple Help Viewer by default, or the users default web browser if the Option key is down when help is selected.

Apr 16, 2007 - IPNetMonitorX 2.1.2
• Ping: click on table row to show time of probe.
• DHCP Test: allow empty Client ID to use MAC address for testing.
• DHCP Test: added "Clear" button to clear previous test results.
• Fixed leaking socket pair (stream pipe) when opening a raw socket.

Mar 12, 2007 - IPNetMonitorX 2.1.1
• Fixed possible exception if PPP interface with no user name is encountered.
• Unauthorize tools: unauthorize PCAPServer if needed,

February 28, 2007 - IPNetMonitorX 2.1
• Address Scan: add log drawer to remember on going scan results.
• Ping: add ping to Ethernet MAC address to support some older printers.
• Monitor: clear previous plot when starting monitor.
• Subnet Calculator: allow x.x.x.x - y.y.y.y (with spaces) for address range.

November 19, 2006 - IPNetMonitorX 2.0.8
• Fixed loss of ICMP (ping) responses from thread layering conflict uncovered by terminating threads explicitly (v2.0.7).

November 14, 2006 - IPNetMonitorX 2.0.7
• Terminate threads explicitely to gaurd against APE's.
• Server Scan: allow scan intervals of 15 and 30 seconds.

November 8, 2006 - IPNetMonitorX 2.0.6
• Online help: update keyboard shortcuts.
• Port Scan: allow scanning a range of IP addresses.
• Port Scan: fix copy when "show refused" or "show no response" selected.
• Enable File->Save to save tool URL as double-clickable ".ipnm" document.
• Fixed to work on Leopard Preview (Mac OS X 10.5).

September 15, 2006 - IPNetMonitorX 2.0.5
• Fix NKE authorization process for better compatibility.
• Server Scan: add "Seconds" column to display response time when probe succeeds.
• Fixed bug in opening help file from Menu.
• DHCP Test: improve Intel compatibility.
• DHCP Test: Minor UI tweaks.

August 15, 2006 - IPNetMonitorX 2.0.4
• TCP Flow: add support for tcpflow on Intel and repackage as part of the application bundle (no separate installer).
• Verify all helper tools build as Unversal Binaries.

August 2, 2006 - IPNetMonitorX 2.0.3
• Port Scan: add options for "Show Connection Refused" and "Show No Response" along with updated help to simplify firewal testing.
• Port Scan: allow changing "view" options after port scan completes.
• Open help files in default web browser more consistently.

July 13, 2006 - IPNetMonitorX 2.0.2
• Lookup: allow IP addresses in hex (0x51.0x39.0x88.0xd2) or decimal (1141664005) format.
• Lookup: fix bug in resolving names with multiple IP addresses.
• Whois: allow /<option> in the query name for use with .

June 23, 2006 - IPNetMonitorX 2.0.1
• Remove last vestiges of MoreSCF.
• Add default whois servers:;;;
• Convert Lookup server to use CFHost instead of NSHost for more complete name resolution.
• Address Scan: check "/etc/hosts" for locally defined names during Look Around scan.

May 16, 2006 - IPNetMonitorX 2.0
• Address Scan: fix scan range when launched from a URL.
• Address Scan: prevent beep from re-stopping server when already terminated.
• Server Scan: change log messages to report retries more consistently.
• Server Scan: synchronize log entries with file date. Save new entries immediately.
• Release as v2.0

May 11, 2006 - IPNetMonitorX 2.0c5
• Ping, Address Scan, Port Scan, Trace Route: resolve synchronization issues.
• ServerScan: added 5 second scan interval.

May 3, 2006 - IPNetMonitorX 2.0c4
• Name Server Query - ignore identifying information following a server address.
• Address Scan: separate MAC address from comment field when pasting.
• Address Scan: update OUI listing from <>.
• Link Rate: update help to cover measuring upstream and downstream separately.
• Monitor: recognize alternate KEV_DL_LINK_ON and KEV_DL_LINK_OFF events.
• Remove last vestiges of MoreSCF.

Mar 27, 2006 - IPNetMonitorX 2.0c3
• DHCP Lease Tool: fix byte ordering on Intel for DHCP option information.
• Change system requirements to Mac OS X 10.3.9 or later to simplify building as Universal Binary.
• Streamline ICMP listener thread to improve robustness.
• Fixed AirPort Signal and DHCP Test cleanup based on new threading model to avoid unnecessary log messages.

Mar 14, 2006 - IPNetMonitorX 2.0c2
• Name Server Query - add option to show command line.
• Resolve incompatible library on Mac OS X 10.2.8 .

Feb 14, 2006 - IPNetMonitorX 2.0c1
• Convert to Intel compatible Universal Binary.
• Restructure threading in TraceRoute.
• ServerScan: improve error checking for AppleScript field.
• ServerScan: fix bug in failover.
• Test with previous ICMP listener

Note this version is a $15 paid upgrade for customers who registered before 1-Jan-2005.

Dec 27, 2005 - IPNetMonitorX 1.6.6
Threading model: configure NSConnection to enableMultipleThreads.
Address Scan, Port Scan: restructure server to avoid round trips and allow on the fly parameter changes.

Dec 7, 2005 - IPNetMonitorX 1.6.5
• Server Scan: fix bug in displaying Last Time.
• Server Scan: apply settings automatically when starting a test.
• Address Scan: restructure server to avoid possible thread contention.

Oct 20, 2005 - IPNetMonitorX 1.6.4
• Server Scan: fix bug in using Email To field if no address is specified in table.
• Address Scan: fix hiding controls on Mac OS X 10.2.8 systems.

Oct 7, 2005 - IPNetMonitorX 1.6.3
• Address Scan, Ping, TraceRoute: improve robustness on multiprocessor systems.
• Address Scan: fix obscure release conflict for dictionary passed via Distributed Objects.
• Address Scan: add retry limit to ping look around scan.
• Address Scan: add "continuous" option to ping look around scan.

Sep 27, 2005 - IPNetMonitorX 1.6.2
• Server Scan: add option to display last transition time in table (up or down since).
• Server Scan: move failover settings to a separate area with a master on/off setting.

Sep 19, 2005 - IPNetMonitorX 1.6.1
• Address Scan: fix an obscure crash if a thread dies while processing a synchronous notification from another thread.
• Interface Info: fix bug in parsing and displaying public IP address.

Sep 1, 2005 - IPNetMonitorX 1.6.04
• Address Scan: work around bug in NSScanner.

Aug 24, 2005 - IPNetMonitorX 1.6.03
• Monitor: fix possible panic when interface is detached abrubtly.
• DHCP Test: use BPF tap to broadcast raw packets.
• TCP Dump: limit history to 256K characters.
• Lookup - verify that IP address strings end in a digit even if a valid dotted quad is found.
• Connection List - call UNIX lsof in the background to get process names for ports.

May 26, 2005 - IPNetMonitorX 1.6.02
• Monitor: fix bug in restoring byte counts for interfaces other than first listed.
• Add "Check for Updates..." item under application menu.
• Add support for BSD interfaces not specified in the System Configuration Framework.
• Fix to handle ping counts larger than 16-bits.
• DHCP Test: log option "0" as the empty option.

May 3, 2005 - IPNetMonitorX 1.6.01
• Fix NKE to ignore unknown ioctls correctly on Tiger.

April 27, 2005 - IPNetMonitorX 1.6
• Info: add IP stats.
• Info: update stats automatically.
• Use separate mbuf tags for input and output to detect recycled mbufs.
• Release as v1.6 for use with Mac OS X 10.4 (Tiger).

March 23, 2005 - IPNetMonitorX 1.6c5
• Monitor: updated NKE to work on Mac OS X 10.4 (Tiger).
• NKE: privatize names to avoid possible NKE name collision.

February 2, 2005 - IPNetMonitorX 1.5.1
• Release as version 1.5.1 .
• Include target information in window title.
• Fix bug in launching application by opening a URL.
• Link Rate: improve visual layout.

January 27, 2005 - IPNetMonitorX 1.6c4
• Added preferences dialog to configure Email settings used by Server Scan tool.
• Added support for Mac OS X application services.
• DHCP Test: fixed update bug in starting and stopping first test.
• Updated to work on Mac OS X Tiger (except for Monitor tool). Notice that in some seed releases libpcap was marked as an internal library and striped from the external distribution thus preventing IPNetMonitorX from launching. This has been fixed as bug rdar://2916606 and seeds after 8A356 should behave correctly. You can work around this problem by copying libpcap.A.dylib in /usr/lib to the correspoding directory in Tiger.
• DHCP Lease tool: show routers.
• Server Scan: restructure to allow running without window.
• Server Scan: fix possible bug in aborting scan.

December 27, 2004 - IPNetMonitorX 1.6c3
• Server Scan: add automatic failover support.
• Refactor thread to controller updates for better performance and robustness.
• Optimize check for abort in receive threads for better performance.
• Optimize display of dates in tables for better performance.

December 9, 2004 - IPNetMonitorX 1.6c2
• Refactor thread controller classes to isolate exceptions and simplify abort and re-initialize.
• Configure NSConnections with explicit time out and queueing options.
• Remove delegate retain loops.
• Ping: increase maximum ping count from 16 to 32-bits.
• Ping: limit display table to last 1000 entries.
• ServerScan: resume scanning automatically between application launches.
• ServerScan: Include probe results in Email subject line.
• Catch DO execeptions in server requests to improve stability.
• Fix bug in restoring window positions.
• DHCP Test: add DHCP Options List to test parameters.
• NKE: add OSBundleProductName and OSBundleSupportURL KEXT properties for Mac OS X Tiger.

November 3, 2004 - IPNetMonitorX 1.6c1
• System Configuration: fix bug in finding active PPP information.

Oct 20, 2004 - IPNetMonitorX 1.5
• Update documentation.
• Release as version 1.5 .

Oct 19, 2004 - IPNetMonitorX 1.5c10x
• Update documentation to reflect new price.
• Fix registration input, read key, and write key to handle international characters consistently.
• TCP Trace: fixed bug that caused some traces to terminate prematurely.
• History Menu: fixed "Clear Favorites" to restore suggested targets.

Oct 15, 2004 - IPNetMonitorX 1.5c10
• Trace Route: add TCP Trace option to identify where ports are blocked.
• Trace Route: UDP trace improved end of trace detection.
• History Menu: change menu selections to "Add Favorite", and "Clear Favorites" to separate erasing history from favorites. List favorites on top, next any default entries, and then history entries.
• Link Rate: improved reporting and logging with "verbose" button and sent/received counters.
• Price will increase to $60 starting October 18th, 2004.

Oct 1, 2004 - IPNetMonitorX 1.5c9
• Server Scan: add Apply button, allow editing table while test is running and applying changes.
• DHCP Test: fixed receiving DHCP responses that was accidently broken in 1.5c8 .
• DHCP Test: reset PCAP server for each test in case network port changes.
• Authorization: authorize tools when application is run from root account.

Sept 24, 2004 - IPNetMonitorX 1.5c8
• Added Server Scan tool.
• DHCP Test: optimize for better performance.
• Port Scan: set ending port to zero for URL with no ending port specified.
• Price will increase to $60 starting October 18th, 2004.

Aug 18, 2004 - IPNetMonitorX 1.5c7
• Ping, Port Scan, AirPort Signal: fixed table data that was accidently disconnected.

Aug 16, 2004 - IPNetMonitorX 1.5c6
• DHCP Test: optimize for better performance.
• Fix possible crash in converting IP address strings.
• TraceRoute: add option to turn off DNS name resolution.
• Whois: replace "" with "" and "".

Jul 8, 2004 - IPNetMonitorX 1.4.1
• Release as 1.4.1

Jul 6, 2004 - IPNetMonitorX 1.5c5
• AirPort Signal: show noise for associated base station.
• AirPort Signal: include Tx Rate and Base Station ID (hardware address) in Notes field.
• AirPort Signal: remove "best channel".
• Help Button and Disclosure Triangle: use 10.2.8 compatible controls.
• Preferences: remove "Preferences..." menu item, use "settings" button in windows.
• Registration: look for registration data in clipboard so there's no need to paste.
• Address Scan: update select service popup to match target field when a scan is invoked.
• Port Scan: use starting and ending port fields in preference to any ports specified in target field.
• Port Scan: display "Target does not appear to be resonding" if no responses were received.
• Port Scan: log any other TCP connection error and refresh the table when scan completes.

Jun 22, 2004 - IPNetMonitorX 1.5c4
• Address Scan: changed to report "Sent/Received/Lost" more consistently for TCP and UDP scans.
• Port Scan: changed to report "Sent/Received/Lost" more consistently for TCP and UDP scans.
• Port Scan: fixed entry bug when tabbing out of starting port field.
• Link Rate: add save log button.
• DHCP Test: add save log button.
• List PPP interfaces by PPP sub type.
• List tools in alphabetical order.
• Update help pages.

Jun 4, 2004 - IPNetMonitorX 1.5c3
• DHCP Test: fix bug in terminating test before all lost responses were accounted for.
• DHCP Test: terminate previous PCAPServer process if application was interrupted.
• AirPort Signal: interpret "signal" and "noise" reported by AirPort API as logarithmic and update help text.

May 26, 2004 - IPNetMonitorX 1.5c2
• DHCP Test: changed to use raw IP for sending and libpcap for receive so it is no longer necessary to modify the users normal network configuration in the Network Preferneces panel.
• DHCP Test: added log drawer in place of separate log window.
• DHCP Test: automatically save log in /Library/Logs/IPNetMonitorX/dhcp test log %Y-%m-%d.txt
• Improved access to System Configuration Framework.
• Add Help button to "First Run" dialog and more complete error reporting when authorization is cancelled.
• History: load default targets for each tool.
• Subnet Calculator: add history support.
• Link Rate: record test failures in the log.
• Link Rate: automatically save log in /Library/Logs/IPNetMonitorX/link rate log %Y-%m-%d.txt

May 13, 2004 - IPNetMonitorX 1.5c1
• Added DHCP Test tool.
• Link Rate: remember any text in target field as part of history.
• Link Rate: added history drawer to keep a text log of recent results.

Apr 16, 2004 - IPNetMonitorX 1.4
• Reformat help text to match website.
• Added tutorial to online help.
• Include free IPNetMonitorX Lite consisting of Ping, Monitor, and AirPort Signal.
• Release as version 1.4

Apr 12, 2004 - IPNetMonitorX 1.4c2
• Launcher: update names to better match tools.
• Ping, TraceRoute, Whois: convert tool preferences to use a window drawer.
• Complete any field editing in progress when invoking tools.
• Identify interfaces by unique ID of the form en0:x when needed.
• NS Query: fixed anti-spam link in help text.
• Lookup: added elapsed time and flushcache button.
• DHCP Lease, Info: select first active interface upon opening window.
• Interface Info: restore open state upon application launch.
• AirPort Signal: fixed duplicate column.

Feb 12, 2004 IPNetMonitorX 1.4c1
- Added free AirPort Signal Tool that does not expire.
- Allow application to run with functions disabled as an interactive tour after initial trial period.
- TCP Dump: work around possible crash.

Jan 19, 2004 IPNetMonitorX 1.3.2
- History Menu: include "Add Permanent" item to create entries that don't roll off the recent targets popup.
- Recent Targets: remember configuration info as temporary entries that are not saved and restored.
- Address Scan: show Ethernet address and Organization name for localhost.
- Address Scan: fixed domain name lookup in Domain Name scan.
- DNS, Whois: add "Top-append" option to preference pane for collecting output from several queries.
- Ping, Trace Route, Whois, DNS: add "Preferences" button.
- DNS: add "Tool" popup to select between: nslookup, dig, or host.
- Ping: include router and name server info in recent targets.
- Subnet Calculator: don't reset prefix length when address changes unless it previously matched the address class.
- Added context sensitive help buttons to most tools.

Jan 8, 2004 IPNetMonitorX 1.3.1
- Ping, Trace Route: fixed bug that mistook names for IP address .
- Address Scan: fixed stability problem in Look Around scan finding Rendezvous names.
- Address Scan: add separate "tab delimited" columns for name and MAC address.

Jan 5, 2004 IPNetMonitorX 1.3
- Address Scan (Look Around): show Rendezvous host name for afp or http servers if found.
- Address Scan (Look Around): use ":" separator for MAC addresses.
- Address Scan: convert ARP calls to use subroutine in place of launching arp command via NSTask.
- Release as version 1.3

Dec 23, 2003 IPNetMonitorX 1.3c4
- Ping, Trace Route, etc - fix timing synchronization bug between NSDate and UNIX gettimeofday() under 10.3.2 .
- DHCP - use SCF callback to update lease address any time it changes.

Dec 9, 2003 IPNetMonitorX 1.3c3
- Scrolling Views: do not scroll for updates unless bottom of view is visible.
- Who Is: fallback to ASCII Encoding if response contains invalid UTF8 characters.
- Trace Route: add Hop Limit setting in Trace Route preferences sheet.
- Ping: add "Play Sound" option to Ping preferences sheet.

Sep 25, 2003 IPNetMonitorX 1.3c2
- Info: update public IP address to work with new response from .
- Lookup: use UNIX gethostbyaddress instead of NSHost to handle RFC-2317 reverse delegation.
- PortScan: correct invalid starting port of zero.
- Fixed to handle exception for user who does not belong to admin group.

Aug 7, 2003 IPNetMonitorX 1.3c1
- Fixed to work with Panther preview (Mac OS X 10.3).
- Ping: fixed to wrap around correctly at 65535 pings.

July 30, 2003 IPNetMonitorX 1.2.1
- Improved security for privileged tools.
- Launcher: make panel ignore Cmd-W.
- Use default browser to view IPNetMonitorX help.

July 2, 2003 IPNetMonitorX 1.2
- Distribute as Internet Enabled Disk Image.
- Launcher: fixed bug that closed launcher palette when bringing app to front from Dock.
- Ping: allow odd number ping size.
- Release as version 1.2

April 30, 2003 IPNetMonitorX 1.2c5
- Resume monitoring PPP automatically when PPP connects.
- Name Server Query: fixed to not block for long output (AXFR).
- TCPDump: remove extra space between read segments.
- Update client/server interface to follow IPNetSentryX.

April 24, 2003 IPNetMonitorX 1.2c4
- Add Interface Info tool including externally visible public IP address.
- Whois: add Preference setting for "Standard text to omit from responses".
- Ping: add preference setting to send raw ping with IP header DF bit set.
- Monitor, TCPDump: support loopback port "lo0".
- Port Scan: detect and adjust invalid port range.
- Port Scan: default to not show blocked ports, add corresponding setting.
- Name Server Query: use dig for query type "AXFR" or "ANY" since
nslookup doesn't recognize these.

January 16, 2003, IPNetMonitorX 1.1.2
- Show alert if authentication fails explaining installation requirements.
- Ignore invalid System Configuration objects.
- Added support for 'GURL' AppleEvent to handle URL of the form: linkrate://target.
- Release as 1.1.2

December 12, 2002, IPNetMonitorX 1.2c3
- Link Rate: redesigned link rate calculation to be more consistent (see help for details).
- TCPDump: use a Pseudo TTY for tcpflow to show each output line immediately.
- Added support for 'GURL' AppleEvent to handle URL of the form: lookup://target.
- Address Scan: improve scanning speed by sending multiple probes each time thread awakes.
- Address Scan, Trace Route: Cache DNS lookups for faster display on subsequent tests.
- Connection List: allow sampling interval to be specified.

November 25, 2002, IPNetMonitorX 1.1.1
- Subnet Calculator: fixed CIDR network numbers for address range.
- DHCP Lease: fixed Release & Rebind for Mac OS X 10.2
- Demo Startup: don't quit if a valid key is entered after trial has expired.
- Add TCP Flow Read Me.
- Release as 1.1.1

November 13, 2002 IPNetMonitorX 1.2c2
- Fixed restore window positions for DHCP Lease and TCP Info.
- Fixed version strings.

November 5, 2002 IPNetMonitorX 1.2c1
- TCP Dump: add "use TCP Flow" checkbox to capture TCP traffic flows.
- Include tcpflow package in distribution.
- Connection List: ignore left over data at end of PCB list.

October 15, 2002 IPNetMonitorX 1.1
- Use IPv4 address when lookup returns both IPv4 and IPv6 addresses.
- Generate Localizable.strings file in English.lproj
- Release as version 1.1

October 7, 2002 IPNetMonitorX 1.1c7
- Add launcher available under Window menu.
- Add font menu to make text size and language configurable for Whois, Name Query, and TCP Dump.
- Whois: lookup 2nd level domain when transfering name from other tools.
- Whois: if, try IP address first.
- Address Scan: fixed bug trying to scan empty target.
- Connection List: remove ":<port>" from data passed to other tools.
- Lookup: transfer selected field to other tools.

September 30, 2002 IPNetMonitorX 1.1c6
- Select target when window becomes active to save clicking in field.
- Bypass splash screen at application launch if command key is down. Overlap with other initialization.
- Streamline data transfer between tools. Do not transfer empty fields.
Collect data when test invoked or added to history.
- Remember window state and position for multiple instances of same tool.
- Monitor, TCP Info, Connection List: restart tool if previously running.
- Lookup: add verification field to show reverse lookup. List all names found.
- Lookup: transfer lookup target to other tools (instead of result).
- Lookup: if verification returns a CNAME of the form "", continue looking, if no name found indicate "RFC 2317 reverse delegation".
- Localization: move resources to English.lproj and strings file.

September 19, 2002 IPNetMonitorX 1.1c5
- Added support for 'GURL' AppleEvent to handle URLs of the form:


- Who Is: if the response specifies a "Whois Server:", copy to "Using server" field so you can just press Query again.
- TCP Dump: allow options to include comments and keep history of recent options pre-loaded with common examples.
- Catch errors when restoring settings that are no longer available.

September 16, 2002 IPNetMonitorX 1.1c4
- Build NKE with "August 2002 Dev Tools 10.2 Update" as recommended by Apple.
- Replaced all use of "cString" with "UTF8".
- Trace Route: include target IP address in first line when copying entire table.
- Trace Route: show IP address in name column for "No name found".
- Address Scan: add "List All Addresses" button as option for Look Around and Domain Name scan.
- Address Scan: list responses in numerical address order instead of order received.
- Port Scan: use simultaneous connections to improve TCP scanning performance.
- Port Scan: add support for TCP Stealth Scanning.

August 27, 2002 IPNetMonitorX 1.1c3
- Link Rate: redesigned link rate calculation to be more consistent and added "asymetric" button.

August 5, 2002 - IPNetMonitorX 1.1c2
- Build with Jaguar (Mac OS X 10.2) tools.
- Add "Unauthorize Tools" to allow copying application bundle.
- Set NKE owner and privileges to root:wheel 755 so it will load under 10.2 .

July 29, 2002 - IPNetMonitorX 1.0.3
- Name Server Query: fix query type for "dig"

July 16, 2002 - IPNetMonitor 1.0.3
- Address Scan: show organization name for Ethernet OUI in ping Look Around scan.
- Address Scan: check for abort no more than every .5 seconds.
- Trace Route: open new ping window for double click in table row.
- Link Rate: Add router and name server addresses to history list.
- Link Rate: increase time out to 3 seconds.
- Registration: Display existing registration data from any location in Registration dialog.
- Fix memory leaks in Monitor and Trace Route.

May 2, 2002 - IPNetMonitorX 1.0.2
- Trace Route: fix crash when copying empty rows from trace route table.
- Trace Route: use correct table size for Select All.
- Ping, Trace Route: include time stamp in copy and paste table header.
- Address Scan: show Ethernet hardware address for ping Look Around scan.

April 29, 2002 - IPNetMonitorX 1.0.1
- First Run: encode tool paths using UTF8 to accomodate extended characters in path names.
- Released as 1.0.1 .

April 25, 2002 - IPNetMonitorX 1.1c1
- Address Scan: add TCP and UDP service scan.
- Monitor: fix memory leaks. Notice mini-dock monitor still leaks from within AppKit (need Apple to help fix this).
- Self Repair: copy file attributes when restoring tools.
- Check alternate registration key locations: IPNetMonitorKey; registrationKey; /library/application support/Sustainable Softworks/IPNetMonitorKey; /library/application support/Sustainable Softworks/registrationKey;
- Lookup: change result field to not wrap.
- Change expiration to be more forgiving: use earliest date found.

April 17, 2002 - IPNetMonitorX 1.0
- Released as version 1.0

April 16, 2002 - IPNetMonitorX 1.0c2
- Status field: make field outline transparent in all windows.
- Interface List: skip devices that do not supply a "DeviceName".
- Monitor, TCP Info: add checkbox to select between linear or log plot scale.
- Monitor, TCP Info, Ping: make windows smaller.
- Change keyboard shortcuts to make them easier to remember.
- TraceRoute - add Record Route option.
- Remember which tools were open between launches.

April 10, 2002 - IPNetMonitorX 1.0c1
- Monitor, TCP Info: show plot in miniaturized Dock window.
- Monitor: include bsd name of interface in title while monitoring.
- Monitor: restore previously selected interface by name.
- Monitor: remember byte counts for each interface separately.
- Monitor: reset byte counts using History->Clear.
- TCP Info - plot connection behavior.
- Ping: show percent lost.
- Trace Route: send first few traces out of order to see results sooner.
- Help: update "Authentication and Privileges" to include "Copying IPNetMonitorX" and "Running IPNetMonitorX from other Volumes."
- Update protocol port to names dictionary.
- Open Monitor window by default when application is launched.

April 4, 2002 - IPNetMonitorX 1.0b1
- Added Monitor Tool using Network Kernel Extension.
- Added custom application icon.
- TCP Info - changed to use log scale.
- TCP Info removed percent fields to make window smaller and simpler.
- Link Rate - add RTT, Bandwidth-Delay Product, and One Second Window Size.
- Fix crash when checking empty IP address string.
- Include new beta test registration key to extend public beta until April 10, 2002. After this, the normal 21-day trial period and expiration will apply.

March 20, 2002 - IPNetMonitorX 0.9b1
- Added TCP Info tool.
- Added Connection List tool including UDP listeners and process names.
- Added Link Rate tool.
- Name Server Query: add List Domains (LS) query type.
- Fix memory leak when aborting tools.
- Fix possible crash when quitting with active tools open.
- include new beta test registration key to extend expiration.

March 4, 2002 - IPNetMonitorX 0.6b2
- Fix Name Server Query (NSLookup) to use default server to resolve specified server.
- Use kernel timestamps to improve ping and trace route accuracy.
- Use Apple's NSHost to access the local domain name resolver to leverage future improvements.
- Abort any pending select() when threads are killed in response to close or quit.
- Fix bug in comparing expiration dates across time zones.
- Include new beta test registration key to extend expiration.

February 24, 2002 - IPNetMonitorX 0.6b1
- Added Port Scan tool.
- Address Scan: show local addresses with prefix length in popup.
- Address Scan: skip subnet and broadcast address when prefix length is given.
- Address Scan: indicate "localhost" address for Look Around scan.
- Address Scan: add double-click action to initiate port scan to corresponding address in table.
- Trace Route: add double-click action to initiate ping to corresponding address in table.
- Whois: fix possible crash when loading whois history.
- Fix transparency of "green check" and "red x" images.
- Windows: offset successive windows of same tool.
- Added Registration window for updating registration data.
- Check any new registration data before writing to registrationKey file.
- include new beta test registration key to extend expiration.

February 4, 2002 - IPNetMonitorX 0.5b4
- DHCP Lease: show any Domain Name Servers received.
- DHCP Lease, TCP Dump: Fix possible crash when reading interface names.
- Added Address Scan tool including "Look Around" feature.
- include new beta test registration key to extend expiration.

January 24, 2002 - IPNetMonitorX 0.5b3
- Name Server Query: updated to handle address queries like IPNetMonitor Classic.
- Added DHCP Lease tool.
- TCP Dump: show User Device Names as defined by System Configuration file.
- Changed authorization to use self repairing unix tools. IPNetMonitorX is no longer suid root.
- Include beta test registration key to extend expiration.

January 4, 2002 - IPNetMonitorX 0.5b2
- Update application menu, help text.
- Update registration algorithm to match online server

January 3, 2002 - IPNetMonitorX 0.5b1
First publicly posted beta test version of IPNetMonitorX.
Developed in Cocoa using native BSD networking.

Each tool runs in a separate thread which communicates with the corresponding AppKit window via Distributed Objects (can be extended for remote control). A single shared ICMP listener minimizes the latency of waking multiple threads when ICMP traffic is received.

Please send questions, comments, suggestions or bug reports to: