public static List <ReverseDns> PraseReverseDns(string PTRText) { List <ReverseDns> result = new List <ReverseDns>(); if (!string.IsNullOrWhiteSpace(PTRText)) { var sep = ";,".ToCharArray(); var splited = PTRText.Split(sep, StringSplitOptions.RemoveEmptyEntries); foreach (var item in splited) { if (item.IndexOf(":") != -1) { var index = item.IndexOf(":"); var ip = item.Substring(0, index); var domain = item.Substring(index + 1); ReverseDns record = new ReverseDns() { IP = ip.Trim(), HostName = domain.Trim() }; result.Add(record); } } } return(result); }
public async Task should_get_reverse_dns_data() { var rd = new ReverseDns(); var actual = await rd.DoLookUp("69.109.161.49", AddressType.Ip); Assert.IsNotNull(actual.Data); Assert.AreEqual(ServiceStatus.Ok, actual.Status); }
public async Task should_have_reverse_dns_user_error() { var rd = new ReverseDns(); var actual = await rd.DoLookUp("calebukle.com", AddressType.DomainName); Assert.IsNull(actual.Data); Assert.IsNotNull(actual.ErrorMessage); Assert.AreEqual(ServiceStatus.Bad, actual.Status); }
public async Task should_handle_reverse_dns_format_error() { var rd = new ReverseDns(); var actual = await rd.DoLookUp("blahg.bad.ip", AddressType.Ip); Assert.IsNull(actual.Data); Assert.IsNotNull(actual.ErrorMessage); Assert.AreEqual(ServiceStatus.Bad, actual.Status); }
public async Task should_handle_reverse_dns_socket_error() { var rd = new ReverseDns(); // ip address that shouldn't resolve. var actual = await rd.DoLookUp("18.45.89.54", AddressType.Ip); Assert.IsNull(actual.Data); Assert.IsNotNull(actual.ErrorMessage); Assert.AreEqual(ServiceStatus.Error, actual.Status); }