![]() |
Neste artigo veremos como converter um endereço IP para seu hostname e vice-versa. |
O que você faz quando precisa saber o endereço IP de uma máquina na sua rede local ?
|
Abre um prompt de comandos e executa o comando ipconfig:
Podemos também usar a classe estática Dns do namespace System.Net para resolver um DNS.
DNS ou Domain Name System, traduz os endereços IPs para nomes de domínios, assim para acessar uma página na web você digita a sua URL e o DNS traduz o nome de domínio para o endereço IP do servidor onde a página esta hospedada. |
Assim, o método GetHostEntry da classe Dns retorna um tipo IPHostEntry que pode ser usado para acessar o nome do host usando sua propriedade HostName.
Crie um projeto do tipo Console App (.NET Framework) no VS 2017 Community.
1- Resolvendo o Endereço IP para nome do host
Inclua o código abaixo na classe Program.cs :
Executando o projeto:
2- Resolvendo o nome do host para o endereço IP
Executando o projeto teremos:
Um
IPHostEntry pode associar vários endereços IP a um
único nome de host por meio da
propriedade AddressList que é um array de objetos
IPAddress, cada um dos quais
detém um único endereço IP.
Depois que o IPHostEntry é resolvido, a AddressList pode ser iterada usando um laço foreach para criar uma string que mostra todos os endereços IP para o nome de host. Se a entrada não puder ser resolvida, uma exceção SocketException será lançada.
Também existem os métodos GetHostByAddress e GetHostByName que podemos usar conforme mostra o exemplo a seguir, mas essas API estão obsoletas:
using System;
using System.Net;
using static System.Console;
namespace CshpWeb.HostByName
{
class Program
{
static void Main(string[] args)
{
while (true)
{
WriteLine("Informe o nome do HOST :");
string nomeHost = ReadLine();
try
{
IPHostEntry hostInfo = Dns.GetHostByName(nomeHost);
Console.WriteLine("Nome do Host : " + hostInfo.HostName);
Console.WriteLine("Lista de Endereços IPs : ");
for (int index = 0; index < hostInfo.AddressList.Length; index++)
{
Console.WriteLine(hostInfo.AddressList[index]);
}
}
catch (System.Exception ex)
{
WriteLine($"Não foi possível resolver o host : {nomeHost} - " + ex.Message);
}
}
}
}
}
|
Pegue o código completo
aqui:
CShp_Web.zip
(disse Jesus) - "E a vida
eterna é esta: que te conheçam, a ti só, por único Deus
verdadeiro, e a Jesus Cristo, a quem enviaste."
João 17:3
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
VB.NET - Obtendo o endereço IP e o nome do Host - Macoratti
C# - Obtendo o endereço MAC - Macoratti
VB .NET - Obtendo informações das interfaces de rede local - Macoratti
C# - Compartilhando arquivos - Cliente/Servicor (socket) - Macoratti
C # - Criando um Chat - Parte 2 - O Servidor - Macoratti