Odd IP address when pinging my own computer

When I ping a the computer I am using on my home network the response I get looks odd:

Reply from fe80::8150:b519:d5da:8a00%9: time<1ms

Yet I ping another computer on my home network and I get a normal IP address.

The results of ipconfig look like this:

Link-local IPv6 Address . . . . . : fe80::8150:b519:d5da:8a00%9
IPv4 Address. . . . . . . . . . . : 10.10.10.104

Is there anyway to get the ping results to display as IPv4? And do the IPv6 results look normal?


Solution 1:

When you have IPv6 active, ping and a few other commands may default to IPv6. To force ping to use ipv4 add -4 as an argument:

ping localhost -4

Incidentally, you an also force IPv6 with -6

ping localhost -6

Solution 2:

Since others have gotten to the "get me back to IPv4" part of this question, I'll tackle the other bit. I can't say I've seen many ipv6 addresses in the wild, so "look normal" ? uh... let's google, shall we?

Here's a nice link on "normal" IPv6 addresses:

IPv6 addresses consist of eight hexadecimal groups. Each hexadecimal group, separated by a colon (:), consists of a 16-bit hexadecimal value. The following is an example of the IPv6 format:

xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx

..and from What Does an IPv6 Address Look Like?:

Colons separate 16-bit fields. Leading zeros can be omitted in each field as can be seen above where the field :0003: is written :3:. In addition, a double colon (::) can be used once in an address to replace multiple fields of zeros. For example:

fe80:0:0:0:200:f8ff:fe21:67cf

can be written

fe80::200:f8ff:fe21:67cf

So your example is this:

fe80::8150:b519:d5da:8a00%9

According to A Dwarf, the %9 is a "zone index", "an identifier that helps transmitting packets across link-local addresses (when a host has more than one interface)". So it's identifying the interface (NIC) received this packet, but not actually part of the IPv6 address.

The "::" means :0:, or :0:0:, or maybe more zeroes. We don't know how many. If we discard the %9, then we're looking at:

fe80::8150:b519:d5da:8a00

Since we know there's 8 groups of 4 hex digits, and we see only 5 groups above, we know there are three groups that the "::" needs to fill. So the actual address is:

fe80:0000:0000:0000:8150:b519:d5da:8a00