API 等价于 etc/hosts?
Posted
技术标签:
【中文标题】API 等价于 etc/hosts?【英文标题】:API equivalent to etc/hosts? 【发布时间】:2021-10-16 01:03:27 【问题描述】:是否有相当于编辑 etc/hosts 文件的 Windows(或 Windows 设备驱动程序)API,即覆盖或更改主机名到 IP 地址的映射?
我想要一个 LAN 上可能不存在 DNS,或者 DNS 不知道相关主机但我知道主机名和 IP 地址的情况。
如果不是,那么我认为以编程方式编辑 etc/hosts 是唯一的方法吗?
对 etc/hosts 的编辑多久或多久生效一次 - 即,如果我对其进行编辑,那么我对给定主机名的下一个网络连接请求将使用新的 IP 地址,还是缓存在某处的陈旧值?
【问题讨论】:
轶事不是一个真正的答案:根据我的经验,手动编辑对于新流程总是立即生效。一些已经在运行的进程可能会自行缓存 DNS 响应(如果这样做的话)并使用原始 IP,但我还没有看到。 【参考方案1】:Windows 有文件 %WINDIR%\System32\drivers\etc\hosts
,它与 *nix /etc/hosts
文件完全相同。
【讨论】:
是的,我的问题是是否有一个 Windows API 等效于(即代替)编辑该文件。 我当然不知道有任何 API 方法可以这样做。我怀疑如果有的话,它会被发现埋在 WMI 的某个地方。以上是关于API 等价于 etc/hosts?的主要内容,如果未能解决你的问题,请参考以下文章