iPhone IPv6 Debugging Simplified with Ip6config

by James Hamilton on 9 January, 2011

With Apple’s release of iOS 4.0 in June 2010, IPv6 came to the iPhone® in full force, if very quietly. So quietly, in fact, some commentators believed that IPv6 support that was present in the 4.0 beta had been removed from the public iOS 4.0 release.  Why the confusion over support for the Internet’s next-generation protocol?  Quite simply, the Settings tool will not show you any IPv6 details, except perhaps a truncated display of IPv6 DNS servers (which can be learned from the RDNSS option in the Router Advertisement or via DHCPv6).  The solution to this problem is Ip6config, published by JHTech.us.

Interface Listing

Using Ip6config from JHTech.us, you can view full interface details on all network interfaces for IPv4, IPv6, and link-layer protocols.  Ip6config shows all of the information that you would get from ifconfig -a on the command line (if the iPhone had a command line) in an easy-to-read, tabular format. Detail cells also support copying to the phone’s clipboard for pasting in other apps (email, etc.).

Interfaces are listed, along with an optional timestamp of the last time the information was updated. Tapping a particular interface shows the various details about that interface.

IPv6 Neighbor Details

Ip6config also displays information on IPv6 Neighbors, such as would be generated from the ndp -a command. This information includes the IPv6 and MAC addresses of the neighbor, as well as the interface, current state, and time until that state expires.

As in the Interfaces tab, IPv6 Neighbors are listed by IPv6 and MAC address, along with an optional timestamp of the last time the information was updated. Tapping a particular neighbor expands the level of detail available.

IPv6 Router Advertisements

On the IPv6 Routers tab, Ip6config attempts to listen for ICMPv6 Router Advertisements. Every IPv6 router should send an ICMPv6 Router Advertisement message every 30 to 120 seconds or so, or in response to a Router Solicitation from a network host. Once you click “Start”, Ip6config will listen for these Router Advertisements and display the details of any it sees. By default, Ip6config will stop listening after one Router Advertisement has been heard, or two minutes pass, whichever comes first (configurable on the Settings tab). Unfortunately, apps running on the iPhone cannot use Raw Sockets, which are required to send ICMPv6 Router Solicitation messages. Raw Sockets require root access, which is not available to any app (unless your phone has been jailbroken).

As Router Advertisements are captured, summary information is displayed that includes the Link-Local address of the router, the time the Advertisement was received, and the checksum of the packet. Using the checksum, you can tell easily if information in the Router Advertisement has changed. Touching an individual Router Advertisement will expand the details, to include the ICMPv6 header information, as well as all options included in the Advertisement. If Ip6config doesn’t recognize a particular option type, the option data will be displayed in hex.

Future Development

Development of Ip6config v2.0 is already underway. Planned features for version 2 include displaying the route table, ping, and traceroute. Watch @jhtech_us on Twitter for updates!

Availability

Ip6config is currently available as a free download from the App Store℠. Ip6config is ad supported. For a nominal fee, ads may be permanently removed from the app. To remove ads, simply click “Remove Ads” under “Premium Features” on the Settings tab.

Apple, the Apple logo, and iPhone are trademarks of Apple Inc., registered in the US and other countries. App Store is a service mark of Apple Inc.

{ 2 comments… read them below or add one }

jim F April 5, 2011 at 19:07

How do you copy and paste the info provided by ip6config?

Reply

James Hamilton April 6, 2011 at 04:23

Great question, Jim!

To copy from Ip6config, double-tap any data field.

Let me know if you have any other questions!

Reply

Leave a Comment

 Subscribe to The IPv6 Experts .net 

Previous post:

Next post: