2008-11-11 3 views
0

J'ai une application Windows Forms qui s'exécute sur un serveur Terminal Server. J'ai besoin de déterminer les adresses IP de chaque machine client.Obtenir l'adresse IP du client distant sans entrée DNS dans VB.Net

J'ai trouvé un moyen de récupérer l'adresse IP pour les ordinateurs avec des entrées DNS (exemple ci-dessous), mais plusieurs de mes clients légers ont été configurés avec des adresses IP statiques et n'ont pas de nom DNS. Est-il possible de déterminer l'adresse IP d'un client distant sans avoir de nom DNS?

Dim clientName As String = My.Computer.Network.ClientName 
Dim IPHost As Net.IPHostEntry = Net.Dns.Resolve(clientName & "domain.com") 
Dim addresses As Net.IPAddress() = IPHost.AddressList 
fullIP = addresses(0).ToString() 
+0

Comment le feriez-vous de toute façon, êtes-vous capable d'interroger son adresse MAC? –

Répondre

1

Pour obtenir l'adresse IP principale, vous pouvez utiliser:

System.Net.Dns.GetHostEntry("").AddressList(0).ToString 

Cela peut retourner une adresse IP6, dans ce cas, vous pouvez essayer de trouver l'IP4 en utilisant:

Dim ipentry As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry("") 

For i As Integer = 0 To ipentry.AddressList.Count - 1 
    MsgBox(System.Net.Dns.GetHostEntry("").AddressList(i).ToString) 
Next 
+0

Ce code revient avec l'adresse IP du serveur. J'ai besoin de l'adresse IP du client distant. – Jeff

Questions connexes