Esempio n. 1
0
        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");
            }
        }
Esempio n. 2
0
        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}");
            }
        }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 public async Task A_Fail_Test()
 {
     var query = new DnsQuery("does-not-exist.themostobscure.com", DnsRecordType.A);
     await query.Resolve();
 }