Ping: IPv6 support

In order to ping an IPv6 address with the Ping component from the IPWorks toolkit you'll need to use the IPv6 address of the remote host you want to Ping.

You must also set the UseIPv6 configuration setting.

In Windows XP and Windows Server 2003 this value must also include the ZoneId of your local interface. For example:

Ping1.Config("UseIPv6=true"); Ping1.LocalHost = "fe80::21a:a0ff:fe7b:4d22"; Ping1.PingHost("fe80::cc64:9f01:5890:85e4%6"); In the above example fe80::cc64:9f01:5890:85e4 is the IPv6 address of the remote host and %6 is the ZoneId of the local interface. You can find your ZoneId by running "ipconfig /all" from the Windows command prompt.

You will also note in the above example that the LocalHost property is set. This must be set to the IPv6 address of the interface on your machine that you want to use. However, the .NET edition does not require this step.

If you are using Windows Vista or Windows Server 2008 you must also configure the firewall settings on the machine to allow for ICMP request as this is disabled by default. You can do this from the Firewall's Advanced Settings section or via the command prompt with this command: netsh firewall set icmpsetting 8 enable

We appreciate your feedback.  If you have any questions, comments, or suggestions about this article please contact our support team at kb@nsoftware.com.