在VB.Net中获取没有DNS条目的远程客户端的IP地址

时间:2008-11-11 19:10:46

标签: vb.net dns ip-address remote-client

我在终端服务器上运行了一个Windows窗体应用程序。我需要确定每台客户端计算机的IP地址。

我找到了一种方法来检索具有DNS条目的计算机的IP地址(例如下面的例子),但是我的一些瘦客户端设置了静态IP并且没有DNS名称。有没有办法在没有DNS名称的情况下确定远程客户端的IP地址?

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()

1 个答案:

答案 0 :(得分:1)

要获取主IP地址,您可以使用:

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

这可能会返回IP6地址,在这种情况下,您可以尝试使用以下命令查找IP4:

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