diff --git a/src/Ether.Network/Utils/NetUtils.cs b/src/Ether.Network/Utils/NetUtils.cs index bd0ac53..5c156b7 100644 --- a/src/Ether.Network/Utils/NetUtils.cs +++ b/src/Ether.Network/Utils/NetUtils.cs @@ -18,9 +18,16 @@ internal static class NetUtils /// Parsed . public static IPAddress GetIpAddress(string ipOrHost) { - string host = Dns.GetHostAddressesAsync(ipOrHost).Result.First().ToString(); - - return IPAddress.TryParse(host, out IPAddress address) ? address : null; + if (IPAddress.TryParse(ipOrHost, out IPAddress address)) + { + return address; + } + else + { + return Dns.GetHostAddressesAsync(ipOrHost).Result + .Where(x => x.AddressFamily == AddressFamily.InterNetwork) + .FirstOrDefault(); + } } ///