【发布时间】:2017-06-25 04:53:09
【问题描述】:
我的电脑连接到网关为 80.0.0.1 的 LAN 当我使用此代码时:
IPHostEntry hostEntry = Dns.GetHostEntry("80.0.0.1");
Var name = hostEntry.HostName;
它给了我一个全球 Internet 域的名称 (hari-core-2a-xe-800-0.network.virginmedia.net),而不是我的本地主机的名称。 如何获得本地主机的正确名称。 我知道有像 10.0.x.x 这样的保留域可以与 LAN 一起使用,但我不想更改 LAN 网关。如果我可以在我的 LAN 中更改它,那么如果我的应用程序的所有用户有类似的冲突,我就不能强制他们更改他们的用户。 有什么解决办法吗?
编辑: 我将 LAN 更改为 9.0.0.1 进行测试。 Dns.GetHostEntry 抛出“No such host is known”异常。它无法获取 AP 的名称。和连接到局域网的安卓设备。有什么解决办法吗? 注意:Advanced IP Scanner 也无法获取设备的名称。它将每个设备的 IP 显示为名称。
【问题讨论】:
-
您的公司网络中似乎正在使用组策略。本地主机在 windows 主机文件中定义:C:\Windows\System32\Drivers\etc\hosts。主机表是一个数组,因此您通常使用: IPAddress ipAddress = hostEntry.AddressList[0];
-
我不这么认为。我将 LAN 更改为 9.0.0.1 进行测试。 Dns.GetHostEntry 抛出“No such host is known”异常。它无法获取 AP 的名称。和连接到局域网的安卓设备。有什么解决办法吗?注意:Advanced IP Scanner 也无法获取设备的名称。它将每个设备的 IP 显示为名称。 .
-
在 Dns.GetHostEntry() 方法中使用计算机名而不是 IP。您网络中的组策略未设置为按 IP 查找设备。 IP 需要正确设置 PC 中的路由表,包括掩码。按名称将 DCHP 服务器路由到正确设置的设备的连接。
-
我认为 TL-WR840N 可能是问题所在。它如何阻止 DNS 获得正确的名称。
-
找到手册:static.tp-link.com/res/down/doc/TL-WR840N_V2_UG.pdf。我有 5 年的工作来配置 Intranet 网络。了解所有问题、术语和规范。仍然无法弄清楚如何配置这些路由器将所有选项。最好与供应商支持联系。请参阅手册:附录 A:FAQ 第 89 页启用的 AP 隔离第 42-43 页 DHCP 设置第 45 页 ARP 列表第 75 页
标签: c# dns network-programming