public static string GetArpaFromIp(IPAddress ip)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
StringBuilder sb = new StringBuilder();
sb.Append("in-addr.arpa.");
foreach (byte b in ip.GetAddressBytes())
{
sb.Insert(0, string.Format("{0}.", b));
}
return sb.ToString();
}
if (ip.AddressFamily == AddressFamily.InterNetworkV6)
{
StringBuilder sb = new StringBuilder();
sb.Append("ip6.arpa.");
foreach (byte b in ip.GetAddressBytes())
{
sb.Insert(0, string.Format("{0:x}.", (b >> 4) & 0xf));
sb.Insert(0, string.Format("{0:x}.", (b >> 0) & 0xf));
}
return sb.ToString();
}
return "?";
}