Dns 有没有办法阻止getaddrinfo显示主机名的真实IP地址?
假设有一个程序打开HOSTS文件以确保它没有被重新路由到某个地方。(它想连接到www.example.com,但它确保您在HOSTS文件中没有相应的条目) 因此,您决定添加一个DNS条目,以便www.example.com真正指向123.123.1.123。这样就行了 但是程序会变得更智能,并调用getaddrinfo来确定是否将其重新路由到123.123.1.123。是否有任何方法隐藏此信息,或者有任何其他方法更改给定主机名的IP地址 有没有办法使www.example.com的正常IP指向123.123.1.123 我能想到的只是可能,但我想知道是否有更好的办法。也许有办法保护Windows主机文件不被读取 或者有没有办法欺骗数据包,使其看起来好像来自“www.example.com”?(假设我完全控制软件发送/接收数据包)Dns 有没有办法阻止getaddrinfo显示主机名的真实IP地址?,dns,hosts,getaddrinfo,Dns,Hosts,Getaddrinfo,假设有一个程序打开HOSTS文件以确保它没有被重新路由到某个地方。(它想连接到www.example.com,但它确保您在HOSTS文件中没有相应的条目) 因此,您决定添加一个DNS条目,以便www.example.com真正指向123.123.1.123。这样就行了 但是程序会变得更智能,并调用getaddrinfo来确定是否将其重新路由到123.123.1.123。是否有任何方法隐藏此信息,或者有任何其他方法更改给定主机名的IP地址 有没有办法使www.example.com的正常IP指向1
getaddrinfo()
查找来自不同来源的网络名称解析。让我们简单地说,它只是先在HOSTS文件中查找,然后在DNS服务器中查找。以下是一些方法,您可以尝试欺骗您的智能程序,使其认为“www.example.com”是合法的123.123.1.123(复杂性越来越高):
getaddrinfo()
的范围内),您可能还必须对根服务器配置进行一些更改,只是为了避免程序重复检查某些根服务器或“com”TLD服务器(我知道所有这些配置都可以在bind中完成,我不知道其他DNS服务器)。即使如此,该程序可能会争辩说它不会信任本地DNS服务器。即使您使用的不是“127.0.0.1”,而是您的网络IP,它也可能检测到DNS地址属于本地计算机。让我们更进一步对不起,我不明白。您是说您已将
www.example.com 123.123.1.123
的条目添加到您的主机文件中,程序调用getaddrinfo(“www.example.com”)
并得到与123.123.1.123不同的结果?或者程序是否明确检查了特定的IP地址123.123.1.123?@Frank抱歉,我应该澄清一下。该程序实际上打开HOSTS文件并搜索其中包含“www.example.com”的条目。如果它发现了,它会抱怨。不如设置一个本地DNS服务器,将www.example.com解析为123.123.1.123,并将所有其他内容转发到您的“真实”DNS服务器?getaddrinfo(“www.example.com”)
会检测到它解析为123.123.1.123。有什么办法可以隐瞒吗?你确定会这样吗?如果有人在事后检查正确的IP,为什么要首先使用DNS?此外,修补DLL是否是一个选项?如果正在使用DNSSEC,则下一步是使用QUANTUMINSERT.:-D如果没有通过TLS访问目标服务器,那么更改通信量就很容易了。如果它使用TLS,那么除非程序使用证书固定,否则很容易使用受损的证书颁发机构来欺骗服务器。;-)@克里斯·杰斯特·杨:你说得对,我对那件事并不在意(我不是真正的安全专家)。天哪,在国家安全局/GCHQ的生活不是更轻松吗。