由伺服器名字 Host name 獲得IP位址

2021-08-23 11:44:29 字數 1370 閱讀 5675

#include

#include

#include

#include

#include

intmain(intargc,char**argv)

/*printofficialhostname*/

printf("offialhostname:%s/n",hptr->h_name);

/*printallthealiasesofthehost*/

for(pptr=hptr->h_aliases;*pptr!=null;pptr++)

printf("alias:%s/n",*pptr);

/*printipaddress*/

switch(hptr->h_addrtype)

else

default:

printf("unknownaddresstype%d/n",hptr->h_addrtype);

return(null);

}return0; }

struct hostent *gethostbyname(const char *name);

這個函式的傳入值是網域名稱或者主機名,例如"

www.google.com","wpc

"等等。

傳出值,是乙個hostent的結構(如下)。如果函式呼叫失敗,將返回null。

struct hostent ;

解釋一下這個結構:

其中,char *h_name 表示的是主機的規範名。例如

www.google.com

的規範名其實是

www.l.google.com

。char **h_aliases 表示的是主機的別名。

www.google.com

就是google他自己的別名。有的時候,有的主機可能有好幾個別名,這些,其實都是為了易於使用者記憶而為自己的**多取的名字。

int h_addrtype 表示的是主機ip位址的型別,到底是ipv4(af_inet),還是ipv6(af_inet6)

int h_length 表示的是主機ip位址的長度

int **h_addr_lisst 表示的是主機的ip位址,注意,這個是以網路位元組序儲存的。千萬不要直接用printf帶%s引數來打這個東西,會有問題的哇。所以到真正需要列印出這個ip的話,需要呼叫inet_ntop()。

const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt) :

這個函式,是將型別為af的網路位址結構src,轉換成主機序的字串形式,存放在長度為cnt的字串中。

這個函式,其實就是返回指向dst的乙個指標。如果函式呼叫錯誤,返回值是null。

伺服器hostname命名規範彙總

目前,小組伺服器的hostname沒有乙個標準,通常情況是沿用雲機id。若遇到hostname都是localhost,則修改hostname會比較困惑。特別注意,hostname修改操作只針對新機器,不能動生產的伺服器。因calico依賴hostname,故hostname變更會引起三層虛擬網路斷開...

Linux名字伺服器 named 簡單配置

今天要搭乙個網域名稱解析系統的測試環境,看了一下named的使用手冊,就能利用named搭出來乙個簡單的dns伺服器。一 命令和引數 named是乙個命令列程式,是linux的dns伺服器,基於rfcs 1033,1034和1035設計,命令列的引數如下 named c config file d ...

伺服器效能由哪些方面決定

伺服器的重要對於站長來說是不言而喻的,伺服器的選擇當然也要看所處的機房了,選擇價效比高的伺服器是每個站長所追求的,對於影響伺服器效能的因素,站長們是否了解呢?面對市場多如牛毛的伺服器託管商家,我們該如何擦亮雙眸呢?專職優化 網域名稱註冊 空間 虛擬主機 伺服器託管 vps主機 伺服器租用的3a網路小...