如何检查两个主机是否相同

时间:2010-05-25 16:05:02

标签: networking dns ip

我刚遇到一个问题,我必须检查路径是否指向Windows共享。此问题的一部分是检查主机A是否与主机B相同。其中主机A和主机B可以是以下之一{IPv4-Address,IPv6-Address,Hostname,FQDN}。因为我不需要确切,所以在我的案例中解析和比较IP地址就足够了。

但理论上,是否存在检查主机是否相同的方法?

2 个答案:

答案 0 :(得分:2)

不,没有通用的方法来查看两个标识符(名称或地址)是否转到同一主机。一个例子:192.0.2.12001:db8::bad:dcaf。它们是一样的吗? (答:不能说)

互联网中没有主机身份的一般概念。某些协议具有这样的概念,例如SSH(连接到主机,查看指纹是否匹配)或HIP(测试密钥),但您依赖于为这些特定计算机激活的此协议。

某些启发式方法可能有所帮助(例如fingerprinting机器),但它将远远不是100%。

答案 1 :(得分:0)

将两个地址传递到getaddrinfo()函数,并比较所有匹配项的结果列表。

gethostbyname()不同,此函数将很乐意解析IPv6文字,并且还将返回与主机名相关联的任何相关AAAAA条记录。