Get IPv4 addresses from Dns.GetHostEntry()
.net, c#, dns, ipv4, ipv6
Solution
Have you looked at all the addresses in the return, discard the ones of family InterNetworkV6 and retain only the IPv4 ones?
Problem
I've got some code here that works great on IPv4 machines, but on our build server (an IPv6) it fails. In a nutshell: ``` IPHostEntry ipHostEntry = Dns.GetHostEntry(string.Empty); ``` The documentation for GetHostEntry says that passing in string.Empty will get you the IPv4 address of the localhost. This is what I want. The problem is that it's returning the string "::1:" on our IPv6 machine, which I believe is the IPv6 address. Pinging the machine from any other IPv4 machine gives a good IPv4 address... and doing a "ping -4 machinename" from itself gives the correct IPv4 address.... but pinging it regularly from itself gives "::1:". How can I get the IPv4 for this machine, from itself?