using System.Linq; using System.Net; using System.Net.NetworkInformation; using System.Net.Sockets; namespace Hncore.Infrastructure.Common { public class NetworkHelper { public static string GetPublicIp() { return NetworkInterface .GetAllNetworkInterfaces() .Select(p => p.GetIPProperties()) .SelectMany(p => p.UnicastAddresses) .FirstOrDefault(p => p.Address.AddressFamily == AddressFamily.InterNetwork && !IPAddress.IsLoopback(p.Address))?.Address .ToString(); } } }