簡體   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