微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何验证两个主机名或IP地址是否指向C ++中的同一台计算机

如何解决如何验证两个主机名或IP地址是否指向C ++中的同一台计算机

我有一些机器,并且为它们定义了主机名。我想编写一个c ++程序,检查两个主机名是否都指向不同的计算机并执行一些步骤。如果它们都指向同一机器程序,则应终止。 strcmp不能用于比较,因为一台机器可以有多个主机名。

解决方法

首先,您需要了解“机器”的含义。
主机可以具有多个IP地址(例如,两个网卡/ NIC)。

如果您只想测试“相同的IP”,则可以使用
gethostbyname()调用以将不同的名称解析为实际IP。

即使这不是防火的,因为它依赖于本地资源(DNS)进行操作
翻译,如果翻译不正确会导致不同的结果。

一种确定的方法是在远程计算机上设置一个代理(或使用telnet或ping之类的代理),该代理实际上尝试访问名称/地址并查看它们是否到达相同的目的地。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。