繁体   English   中英

从IP获取域名

[英]Get domain Name from IP

如何从IP地址获取域名。 可能吗? 我必须使用哪些功能?

enter code herestruct sockaddr_in saGNI;
char hostname[NI_MAXHOST];
char servInfo[NI_MAXSERV];
u_short port = 443;

saGNI.sin_family = AF_INET;
saGNI.sin_addr.s_addr = inet_addr("74.125.87.9");
saGNI.sin_port = htons(443);

// Call getnameinfo
int ok = getnameinfo((struct sockaddr *) &saGNI,
             sizeof (struct sockaddr),
             hostname,
             NI_MAXHOST, servInfo, NI_MAXSERV, 0);

return hostname;

ok = 0,主机名= 74.125.87.9

我真的不知道。

您可以使用GetHostByAddr() (已弃用)或更新的GetNameInfo() 它们可与IPv4和IPv6一起使用。

我认为这是不可能的,因为多个域/子域可以指向同一IP地址。

例如,在我的站点上,我有一个专用IP,但是我使用具有该IP的同一服务器来托管多个网站以及子域,因此,如果您尝试获取域名,它将如何知道要使用哪个域返回?

如果我错了,请纠正我。

您可以使用以下链接 -内部的一些有用信息。 他们使用

int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen,
       char *restrict node, socklen_t nodelen, char *restrict service,
       socklen_t servicelen, int flags);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM