Exemplo n.º 1
0
        public async Task <string> GetHostname(string target)
        {
            // Example 54.172.75.131 / ec2-54-172-75-131.compute-1.amazonaws.com
            NetworkIpResolver resolver = new NetworkIpResolver();

            resolver = await this.IPResolver(target);

            return(resolver.HostName);
        }
Exemplo n.º 2
0
        public async Task <NetworkIpResolver> IPResolver(string target)
        {
            NetworkIpResolver resolver = new NetworkIpResolver();

            try
            {
                if (!IPAddress.TryParse(target, out IPAddress ipAddress))
                {
                    throw new Exception("Invalid IP address");
                }

                resolver = await this._pingReplyService.ExecuteIPAddressResolver(target);
            }
            catch (Exception ex)
            {
                resolver.Message    = ex.InnerException.Message;
                resolver.StackTrace = ex.InnerException.StackTrace;
            }

            return(resolver);
        }
        public async Task <NetworkIpResolver> ExecuteIPAddressResolver(string ipAddress)
        {
            NetworkIpResolver resolver = new NetworkIpResolver();

            resolver.IP = ipAddress;

            await Task.Run(() =>
            {
                try
                {
                    // Example "54.172.75.131"
                    IPHostEntry ipToDomain = Dns.GetHostEntry(ipAddress);
                    resolver.HostName      = ipToDomain.HostName;
                }
                catch (Exception ex)
                {
                    resolver.HostName   = "Unknown";
                    resolver.Message    = ex?.Message;
                    resolver.StackTrace = ex?.StackTrace;
                }
            });

            return(resolver);
        }