Foxtable(狐表)用户栏目专家坐堂 → [求助] 局域网中如何从IP得到到HostName


  共有2647人关注过本帖树形打印复制链接

主题:[求助] 局域网中如何从IP得到到HostName

帅哥哟,离线,有人找我吗?
15986720145
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
[求助] 局域网中如何从IP得到到HostName  发帖心情 Post By:2015/10/18 9:44:00 [只看该作者]

Dim IPAdress As System.Net.IPAddress
Dim HostName As String
HostName = System.Net.Dns.GetHostName '获得本机的机器名
IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) '获得本机IP地址

有没有类似 HostName = System.Net.Dns.GetHostByAddr(IPAdress)  '自己虚构的方法,不知道存不存在
               可以从IP得到电脑名的方法。

求指点!!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/18 10:16:00 [只看该作者]

Dim str As String = System.Net.Dns.Resolve("192.168.1.101").HostName
msgbox(str)

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/18 10:18:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
15986720145
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
  发帖心情 Post By:2015/10/19 11:01:00 [只看该作者]

追问:如何获取局域网内所有在线(已经开机)的电脑名字和IP;
我的做法 
1.获取本机IP,然后分析IP段,
2.用 TryConnectHost("192.168.1.X")  'X = 0 to 255,
   如果能连上,就获取该IP的电脑名,这样会很慢,效率很低
有比较好点的方法吗。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 11:06:00 [只看该作者]

看3楼

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 11:09:00 [只看该作者]

用arp也行

 

Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False '关闭Shell的使用
p.StartInfo.RedirectStandardInput = True '重定向标准输入
p.StartInfo.RedirectStandardOutput = True '重定向标准输出
p.StartInfo.RedirectStandardError = True '重定向错误输出
p.StartInfo.CreateNoWindow = True '设置不显示窗口
p.Start()
p.StandardInput.WriteLine("arp -a")
p.StandardInput.WriteLine("exit")
Dim strRst As String = p.StandardOutput.ReadToEnd()

msgbox(strRst)


 回到顶部