public async Task SRV_Query_Speed_Test() { for (int i = 0; i < 20; i++) { DateTime start = DateTime.UtcNow; var query = new DnsQuery("_ldap._tcp.imprezzio.org", DnsRecordType.SRV); await query.Resolve(); double ms = DateTime.UtcNow.Subtract(start).TotalMilliseconds; Console.WriteLine($"[{i}] = {ms}ms"); } }
private async Task Query_Internal(string queryStr, DnsRecordType type) { var query = new DnsQuery(queryStr, type); DnsEntry[] records = await query.Resolve(); Assert.IsTrue(records.Length > 0); Assert.AreEqual(DnsQueryStatus.Found, query.QueryStatus); foreach (DnsEntry rec in records) { Console.WriteLine($"({rec.Type}) {rec}"); } }
public async Task SRV_Query_Test_Hosts() { var query = new DnsQuery("_ldap._tcp.imprezzio.org", DnsRecordType.SRV); DnsEntry[] records = await query.Resolve(); Assert.IsTrue(records.Length > 0); Assert.AreEqual(DnsQueryStatus.Found, query.QueryStatus); foreach (DnsEntry rec in records) { Console.WriteLine($"*** {rec} ***"); foreach (DnsHostEntry host in query.GetHostEntries((DnsServiceEntry)rec)) { Console.WriteLine($"({host.Type}) {host}"); } Console.WriteLine(); } }
static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: ue.exe <grpc|http|sql|mongodb|dns|tcp|udp> <service-idenitifier> [dns-type]"); Console.WriteLine(" OR"); Console.WriteLine(" ue.exe <enc|dec> <string> [pepper]"); return; } try { Console.WriteLine("Service Domain = '{0}'", _generic.ServiceDomain); switch (args[0].ToLowerInvariant()) { case "enc": case "dec": var aes = new AesCrypto(); if (args.Length > 2) { aes.KeyPhrase = args[2]; } Console.WriteLine("Pepper = '{0}'", aes.KeyPhrase); if (args[0].ToLowerInvariant() == "enc") { Console.WriteLine("\nEncrypted = \"{aes:" + aes.Encrypt(args[1]) + "}\""); } else { string cipherText = args[1].Replace("{aes:", "").Replace("}", ""); Console.WriteLine("\nDecrypted = \"" + aes.Decrypt(cipherText) + "\""); } break; case "dns": if (Enum.TryParse(args[2], out DnsRecordType recordType)) { var query = new DnsQuery(args[1], recordType); DnsEntry[] records = query.Resolve().Result; foreach (DnsEntry rec in query.AllRecords) { Console.WriteLine($"({rec.Type}) {rec}"); } } break; case "grpc": var g = _grpc.Locate(args[1]).Result; foreach (GrpcEndpoint ep in g.Endpoints) { Console.WriteLine(ep.ToString()); } break; case "http": var w = _webapi.Locate(args[1]).Result; foreach (Uri u in w.Uris) { Console.WriteLine(u.ToString()); } break; case "sql": var sql = _database.Locate(args[1], DatabaseProtocol.Sql).Result; foreach (string sqlConnectionString in sql.ConnectionStrings) { Console.WriteLine(sqlConnectionString); } break; case "mongodb": var mongo = _database.Locate(args[1], DatabaseProtocol.MongoDb).Result; foreach (string mConnectionString in mongo.ConnectionStrings) { Console.WriteLine(mConnectionString); } break; case "tcp": var tcp = _generic.Locate(args[1], IpProtocol.TCP).Result; foreach (ServiceEndpoint ep in tcp.Endpoints) { Console.WriteLine(ep.ToString()); } break; case "udp": var udp = _generic.Locate(args[1], IpProtocol.UDP).Result; foreach (ServiceEndpoint ep in udp.Endpoints) { Console.WriteLine(ep.ToString()); } break; case "long-test": LongTest.RunTest(args[1]); break; } } catch (Exception ex) { BreakdownExcception(ex); } }
public async Task A_Fail_Test() { var query = new DnsQuery("does-not-exist.themostobscure.com", DnsRecordType.A); await query.Resolve(); }