My Android Apps

These apps are available for free through the Google Play Store. Let me know if you encounter problems, or have suggestions for improvements.

If any of my software has been helpful to you -or your company-, and you feel like expressing your gratitude beyond saying "Thank you" -which is also appreciated-, please note that I have an Amazon Wish List containing several inexpensive items.

Ping & Net (formerly Ping & DNS)

This app combines numerous network diagnostics and troubleshooting tools:
  • ping a server (via ICMP over IPv4 or IPv6, or TCP),
  • look up DNS records,
  • reverse DNS lookup,
  • Dig queries,
  • perform traceroutes,
  • inspect HTTP response headers,
  • query WHOIS records,
  • perform SSL scans,
  • show various network information,
  • wake up machines via Wake on LAN,
  • determine the geographical location of a host, and whether it's reachable from the public internet,
  • check whether particular ports (or port ranges) are open,
  • scan a subnet for available hosts and display information about them.
  Play Store

The available DNS record types are A, AAAA, CNAME, DNAME, LOC, HINFO, MX, NAPTR, NS, NSAP, PTR, SOA, SPF, SRV, TXT and WKS; more options are available for most menu items. The results are displayed on the screen, and can be sent via email. The most recently used server names are remembered for auto-completion, thus hopefully keeping the amount of typing required to a minimum. It's possible to set an alternate nameserver (like Google's instead of the default one. Previous results are kept in separate tabs, making it possible to browse through old results by swiping left and right.

  Google+ community

Version history

1.2 adds a setting for Ping TTL and fixes Android 1.5 compatibility
1.2.1 fixes all reported issues and adds more settings (like an adjustable font size)
1.2.2 improves auto-complete for partial host names (it matches the input anywhere, not just at the beginning of the host name)
1.2.5 fixed crashing exceptions; new app icon by lynk
1.2.6 shows the IP address of the DNS server being used
1.2.7 improved selection of DNS server; longer Ping and DNS timeout intervals for 3G; no longer caches DNS results; better handles switching between 3G and WiFi
1.2.8 added option to use HEAD instead of GET, thereby decreasing data traffic; fixed crashing exceptions
1.3 adds a home screen Live Folder that lists the 20 most recently used servers/IPs (with an option to list them alphabetically); fixed crashing exception; explicitly shut down connections to avoid leaks
1.4 adds WHOIS queries
1.4.1 fixes a crashing exception
1.5 reorganizes the way options work for Ping, DNS and HTTP: through a long-click on the "Go" button. That way it's easier to change them for individual requests. It also adds HTTPS, port number and redirect options to the HTTP header lookup.
1.5.1 adds an option for broadcast pings. Remember to use the broadcast address (which ends in 255).
1.5.2 fixes two issues in landscape mode (an invisible "Go" button and a messed up Ping options dialog), and the HTTP Show Long Headers option.
1.5.3 adds an option for a wait period ("-i") between pings
1.5.4 fixes a bug that caused the font size selection not to be stored correctly
1.5.5 adds an option to set the packet size ("-s"), and integrates the DNS record type selection into the DNS options dialog (some folks seem not to have noticed it where it was).
1.6 adds reverse DNS lookups, and fixes a problem with the menu selection
1.7 adds Traceroute
1.7.1 enables App2SD and makes several smallish UI improvements
1.7.3 adds an option to keep the display scrolling as new results come in; this is useful particularly for Ping and Traceroute. Also new is an option to display ping times for each hop of a traceroute.
1.7.4 better supports long-running pings (they can be stopped by putting the app temporarily in the background), and adds an option to display a running average of the last 10 ping times
1.7.6 uses a numeric soft keypad for numerical input fields. Host names are no longer looked up during traceroutes if the corresponding option is unchecked; previously this would just suppress the output of the host name. This saves on roundtrips to the DNS server.
1.7.7 better supports large screens (like tablets).
1.7.8 can copy the results to the clipboard upon a long-click, and has an option to stop long-running Pings if the screen goes dark.
1.7.9 restores Android 1.5 compatibility, better handles IP geo lookups containing umlauts, shows the complete Ping options dialog on small screens, and has an option to track the location during long-running Pings.
1.7.10 removes the requirement for the network location permission, automatically attaches the latest KMZ file to emails if one exists, and uses different-color pins in KMZ files for different ping times.
1.7.11 fixes an issue with malfunctioning Live Folders and added a nicer-looking icon for Live Folders.
1.8 adds checking of open ports (NOT a port scanner).
1.8.1 fixes a problem with using alternate name servers for DNS lookups.
1.8.3 adds an option to use white text in the input field, because a few people have reported seeing black text on black background, making text input just about impossible. It also slightly rearranges the Ping options dialog, thereby better accommodating small-sized screens.
1.8.5 allows HTTP headers to be retrieved for any URL, not just for the root URL of a server (as was the case until now).
1.8.6 makes IP addresses in traceroutes clickable in order to obtain the estimated geo location of the server, just like the DNS lookup does. (Note that you can display the ping time of each traceroute step via an option setting when long-clicking the "Go" button.)
1.8.7 allows to check a range of ports instead of just a single port, addresses a couple of crashing exceptions, and checks for the presence of the 'ping' command - if it's not available, the ping and traceroute functionalities are disabled.
1.9.0 splits the main screen into tabs, one for the input elements, and one or more for the result tabs. Swipe left/right to switch between them. Previous results are pushed to the right, so a history of operations is available. (Individual tabs can also be removed via the options menu.) The "clear display" option has been removed, as each new operation now starts on a new tab. The result tabs (either single ones or all of them together) can now be saved, either as text files or PDF, in addition to being sent by email. Further changes: The app no longer tries to look up the geo location of private IP addresses (like 10.x.y.z and 192.168.x.y), shows host names when doing a traceroute to an IP address, and cancels the currently running task if a new one is started (thus ensuring that the screen output doesn't get messed up). If voluminous results are sent by email (like from a long-running Ping), the results are now sent as an attachment, not in the body of the email. The previous approach was unreliable for lengthy data. The minimum required Android version is now 1.6 (instead of 1.5 up to now).
1.9.2 fixes the crashing exception at app launch, and allows PDF files to be stored in either A4 or US Letter size.
1.9.3 can handle server names in the reverse DNS (by first doing an DNS A lookup on them) and has an option to copy clickable IP addresses to the input field. It also adds properly named tab titles, hopefully making it clearer that the way to navigate between tabs is by swiping left and right.
1.10.0 adds the 'Network Info' menu. It doesn't require a server name or IP address, and shows some information about all available network interfaces as well as some basic IP information about the currently active connection.
1.10.1 fixes a crashing exception when trying to bring up options for menu items that don't have any (Whois and Network Info).
1.10.2 hides the soft keyboard while output tabs are displayed. It allows individual tabs to be closed via the close icon in the top left hand corner, and the options menu item now closes ALL output tabs.
1.11.0 adds the SSL Scan option, prevents a crashing exception, adds preferences for whether or not to force open or closed the soft keyboard on the start and result tabs, and adds experimental support for rooted devices where Ping does not work. The minimum required Android version is now 2.3.3 (instead of 1.6 up to now).
1.11.1 displays the MAC address in Network Info, and fixes a Whois problem with some country TLDs.
1.12.0 adds an extensive built-in help menu that explains all major operations and their options.
1.12.1 fixes a crashing exception when displaying a KMZ file, works around another crashing exception at startup, and adds an option to use a monospaced font on the results tabs. Network Info now shows incoming and outgoing network traffic statistics.
1.12.2 fixes a problem where individual tabs can't be closed, as well as a rare app crash.
2.0 introduces a new look with an option to choose a light theme or a dark theme. The big new feature is a home screen widget for long-running pings that can chart and save its results. It also fixes a problem with the IP geo lookup, another one that caused some of the preferences not to be saved correctly, and the result tabs now stay formatted/linked even if you navigate away from them. The minimum required Android version is now 4.0.3 (instead of 2.3.3 up to now).
2.0.1 applies the selected light/dark theme to the ping chart display (which so far ignored themes), has new option icons, and provides better feedback to user in case of invalid inputs. And I'm cautiously optimistic that I've squashed the last major cause of app crashes (fingers crossed).
2.0.2 allows to change the port number used for the SSL scan, and there's a new menu for working with recently used server names and IP addresses; specifically, they can be copied to the Start tab, or deleted from the list altogether.
2.0.3 improves input field validation, adds a couple new options for the ping widget, and allows ping charts to be toggled between displaying data for a single widget or all of them.
2.0.4 fixes an app crash due to low memory when creating PDFs from ping charts on some devices.
2.0.5 avoids an app crash due to low memory by setting an upper limit to the number of pings.
2.0.6 prevents an app crash when trying to display KMZ (Google Earth) files, stores those files properly with a "*.kmz" extension, and removes the option to install the app on SD cards (because that can break the ping widget in a non-obvious way).
1.13.0 is a backport of some of the new features of version 2.1 (which is available on Android 4 only) to Android 2.2 and 2.3: The result tabs now stay formatted/linked even if you navigate away from them. The port number to be used for the SSL scan can now be changed (in case it's not 443). Optionally, only open ports are shown during a port range check. There's a new menu for copying recently used server names (or IP addresses) to the Start tab, or for removing them from the list altogether. Input values are checked right in the option dialogs. Better support for long-running operations (especially pings, but others as well) via a new option to keep the display turned on (a related option just fo r pings was removed, as it did not work properly). Various bug fixes, some of which caused the app to crash.
2.1 has better support for long-running operations (especially pings, but others as well) via a new option to keep the display turned on. A related option just for pings was removed, as it did not work properly. Fixed a bug that caused some pages in saved PDF files to be truncated.
2.1.1 & 1.13.1 use more noticeable (and colorful) alerts, and fix some bugs and crashes.
2.1.2 & 1.13.2 fix a problem where the input cursor was invisible when using the dark theme (on Android 4), properly save all HTTP Header option settings, and fix a couple of bugs and crashes.
2.1.3 fixes a crashing exception when showing some of the dialogs.
2.1.4 The fix in version 2.1.3 didn't work too well; the problem should now be squashed for good.
2.2 The options menu is now a drawer on the left, a progress bar at the top of the screen indicates whether an operation is currently running (particularly useful for longer-running pings, trace routes, port checks and SSL scans), the ping charts look better than before, they can be sent via email, and ping widgets can be reconfigured after they have been created, and the root prefix workaround is now used for Traceroute as well as for Ping.
2.3 TCP Pings are now available for Android versions that do not support ICMP Pings (like on numerous Samsung devices), or if the host in question does not respond to ICMP pings. Ping widgets also support TCP pings, they can now be individually paused, and they can be resized if you're cramped for screen space. During a Traceroute it's now possible to send ping counts other than 3 per hop, and the average ping time and the loss rate are reported.
2.4 gives the GUI an overhaul including Android's new Material Design, supports IPv6 pings, optionally uses HTTP pings in widgets, shows netstat info in Network Info and can perform UDP traceroutes.
2.4.1 and 2.4.2 address a few bugs and app crashes.
2.4.3 supports IPv6 for HTTP Header and Traceroute, caches the MAC manufacturer in Network Info, and uses the standard Android copy/paste mechanism for the result tabs (amongst some other GUI cleanup). It also fixes a bug with input validation in the options dialogs that prevented feedback on invalid inputs from being shown (and IPv6 addresses to be used for alternate DNS servers).
2.5 sports a new icon. It also fixes app crashes and other misbehavior when the device is rotated, a Whois bug that broke lookups of IP addresses, and an HTTP Headers bug when following redirects. Network Info now shows the external IP address and the WLAN name (if applicable) and has IP addresses linked, Geo Lookup has been given its own button on the start page, and HTTP Headers can optionally save the URL for later use. Also new is IDN ↔ ACE for converting between host names containing Unicode characters and their ASCII equivalents.
2.6 introduces the Wake on Lan and Is it up? operations, and has lots of improvements and bug fixes for Ping, DNS and reverse DNS, Ping widgets and charts, SSL Scan, Network Info, HTTP Headers, and the user interface in general.
2.6.1 fixes a crashing exception, reorganizes the release history as its own menu rather than as part of the help system, and makes it possible to set the User-Agent header for HTTP.
2.6.2 fixes bugs and crashes in the Ping, HTTP Headers and Whois operations, as well as the server list and DNS server list menus.
2.6.3 supports the new permission model on Android 6, follows redirects between HTTP and HTTPS in HTTP Headers, shows IP route and IP neighbour info -and better handles low memory conditions- in Network Info, correctly handles device rotation in the built-in help, and has further improvements throughout the app.
2.6.5 has numerous fixes and improvements throughout the app, and some new features for DNS (non-recursive lookups, authority information, more record types) and Reverse DNS lookups (listing of other hosts on the same IP).
2.6.6 has a new timeout option for Ping, Ping widgets can now use IPv6 in addition to IPv4, TCP and HTTP, it better supports Android 6 -especially permission handling-, and has further small fixes and improvements throughout the app.
2.7 adds Dig functionality, can use IPv6 as well as IPv4 for Traceroute, TCP Ping displays the overall number of drops as well as the drop rate, and HTTP Headers can use all HTTP methods, not just GET and HEAD.
2.7.1 is a fix for an app crash in the DNS record selection dialog.
2.8 has as new functionality Subnet Scan for determining which hosts are located on a particular subnet, and displaying various information about them (on Android 4.1 and up). Also, SSL Scan now supports SNI (Server Name Indication).
2.8.1 fixes a bug that prevented the app from being opened on some devices.
2.8.2 fixes an app crash in the Subnet Scan.
2.9 introduces NetSentry functionality, and makes improvements to Subnet Scan, HTTP Headers, Whois Lookup and the List of DNS servers.
2.9.2 and 2.9.3 fix and improve NetSentry.
2.9.4 has fixes for NetSentry, Subnet Scan (notably its errant NSD process), and further bug fixes, especially on Android 4.
2.9.5 makes the alternative DNS server select-only in options dialogs.
2.9.6 fixes an app crash in the Dig and Reverse DNS options dialogs.
3.0 supports Android 8 and makes some UI improvements. Android 4 is no longer supported, alas.

Home Page