Here are some great Windows command line entries you can make to examine and configure IPv6 (assuming your version of windows does so). We will discuss use of the "netsh" and "netstat" commands below. For details on "netsh" click here. For more info on the "netstat" command click here.
You will see below that I am showing the older version of Windows output first, and the newer version of Windows output second.
Let's start with some simple ones.
First, let's check the IPCONFIG from the Start>Run>CMD in Windows:
You can see my machine, in both cases, is running "Dual Stack" since it has both IPv4 and IPv6. Furthermore, you can see that my machine supports multiple IPv6 addresses per interface as the Tunnel Adapter interface has a Link Local and Global Unicast IPv6 address assigned. In the newer example, you can see the new support for temporary IPv6 addresses.
To view details use the following command:
You can see from this snipped portion of the output, that DHCPv6 and DNS information is included:
The following command displays the routing table in your computer:
Older version first:
We can clearly see the IPv6 Routing table with the Link Local addresses and the IPv6 Multicast groups. Ouput has changed little between the older and newer versions.
Let's see if there has been any general IPv6 traffic on the interfaces. You can do this with the following command:
netstat -ps IPv6
Again little change between the older and newer versions of Windows.
OK, now let's be more specific. What about ICMPv6? Try the following command:
netstat -ps ICMPv6
Pretty cool. Similarly, we can use netstat to view the TCP and UDP packet counts for IPv6:
Older version (both commands shown):
Newer version (each command was done separately):
The main difference is that in the newer snapshot for TCP, there were active connections present when I performed the command. Else they are essentially no different.
Another way to see the IPv6 Route Table is by using the "route" command. The command-line Route tool enables entries in the local IPv4 and IPv6 routing tables; such routes can direct network traffic to local, WAN, and internet network map.
route print -6
Here is an IPv6 route test example in the older version of Windows:
C:\Users\Andrew>route print -6
14...00 24 d6 2f 04 df ......Microsoft Virtual WiFi Miniport Adapter
11...00 24 d6 2f 04 de ......Intel(R) WiFi Link 5100 AGN
10...00 26 9e 71 9d 33 ......Realtek PCIe GBE Family Controller
1...........................Software Loopback Interface 1
25...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter
31...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
27...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
30...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
44...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
IPv6 Route Table
If Metric Network Destination Gateway
31 58 ::/0 On-link
1 306 ::1/128 On-link
31 58 2001::/32 On-link
31 306 2001:0:4137:9e76:3456:2b68:3f57:fef6/128
10 276 fe80::/64 On-link
31 306 fe80::/64 On-link
10 276 fe80::2dea:c409:e0e:102b/128
31 306 fe80::3456:2b68:3f57:fef6/128
1 306 ff00::/8 On-link
31 306 ff00::/8 On-link
10 276 ff00::/8 On-link
Here is an IPv6 route test example in the newer version of Windows:
- route PRINT - Prints out all network route information.
- route PRINT -4 - Prints out only IPv4 network route information.
- route PRINT -6 - Prints out only IPv6 network route information.
Another great tool for looking at your IPv6 configuration is the "netsh" scripting tool. We have a separate article on netsh here.
Let's first look at the IPv6 addresses, this time through the netsh command:
netsh interface ipv6 show addresses
The main differences now are the inclusion of Temporary IPv6 addresses.
Here are some other netsh commands to try:
netsh int ipv6 show ?
- Netsh interface ipv6 show interfaceM
- This command displays the list of IPv6 interfaces. By default, the interface names containing an asterisk (*) are tunneling interfaces.
- Netsh interface ipv6 show address
- This command displays the list of IPv6 addresses for each interface.
- Netsh interface ipv6 show route
- This command displays the list of routes in the IPv6 routing table.
- Netsh interface ipv6 show neighbors
- This command displays the contents of the neighbor cache, sorted by interface. The neighbor cache stores the link-layer addresses of recently resolved next-hop addresses. I have a separate article on this command here.
- Netsh interface ipv6 set teredo client AND Netsh interface ipv6 show teredo
- These commands displays and configure Windows XP.
- Netsh interface ipv6 show destinationcache
- This command displays the contents of the destination cache, sorted by interface. The destination cache stores the next-hop addresses for destination addresses.
Try this one to see the Windows IPv6 global parameters:
netsh int ipv6 show global
How about PING and TRACE ROUTE for IPv6? Sure. Here is how you Ping in IPv6:
Here are the Ping options:
- -i HopLimit Sets the Hop Limit field in the IPv6 header. The default value is 128. Ues –i option to set the value of the Time-to-Live (TTL) field in the IPv4 header.
- -R Forces Ping to trace the round-trip path by sending the ICMPv6 Echo Request message to the destination and to include an IPv6 Routing extension header with the sending node as the next destination.
- -S SourceAddr Forces Ping to use a specified IPv6 source address.
- -4 Ping Forced to use an IPv4 address when the DNS name query for a host name returns both IPv4 and IPv6 addresses.
- -6 Ping Forced to use an IPv6 address when the DNS name query for a host name returns both IPv4 and IPv6 addresses.
- -t ttl Specify the IPv4 time to live, or IPv6 hop limit, for unicast and multicast packets. The default time to live (hop limit) for unicast packets can be set with ndd(1M) using the icmp_ipv4_ttl variable for IPv4 and the icmp_ipv6_ttl variable for IPv6. The default time to live (hop limit) for multicast is one hop.
And here is the Trace route command (we are tracing to the
Here are the Tracert options:
- -R Forces Tracert to trace the round-trip path by sending the ICMPv6 Echo Request message to the destination and to include an IPv6 Routing extension header with the sending node as the next destination.
- -S SourceAddr Tracert Forced to use a specified IPv6 source address.
- -4 Tracert Forced to use an IPv4 address when the DNS name query for a host name returns both IPv4 and IPv6 addresses.
- -6 Tracert Forced to use an IPv6 address when the DNS name query for a host name returns both IPv4 and IPv6 addresses.
Pathping is a Windows based command-line tool used to provide IPv6 information.The Pathping tool provides details about network latency and network loss at intermediate hops between source and a destination. The Pathping command works like a combination of ping and tracert.
- IPv4, Pathping sends multiple ICMPv4 Echo messages to each router between a source and destination over a period of time, and then it computes results based on the packets returned from each router.
- IPv6, Pathping sends ICMPv6 Echo Request messages.
Because Pathping displays the degree of packet loss at any given router or link, you can determine which routers or subnets might be having network problems. It provides more detailed network troubleshooting information as it performs the equivalent of the Tracert tool by identifying which routers are in the path. The program sends messages periodically to all the routers over a specified time period and computes statistics based on the number returned from each node.
Here are the IPv6 pathping options:
- -4 - Forces Pathping to use an IPv4 address when the DNS name query for a host name returns both IPv4 and IPv6 addresses
- -6 - Forces Pathping to use an IPv6 address when the DNS name query for a host name returns both IPv4 and IPv6 addresses
If you cannot reach out via IPv6, you may want to see if your DNS is returning an IPv6 address.
To do this use 'nslookup', set the type to be quad-A, and then run a query:
We can clearly see that we are getting IPv6 addresses for Facebook and CellStream!
You can also look at Path MPT or PMTU - but I have written a separate article on that command here.
We hope this helps you get started on IPv6 on your local Windows machine.
Did I miss any commands? Let me hear your comments below....