现在的位置: 首页 > 综合 > 正文

linux 环境下 用gethostbyname函数获取 DNS的服务器列表 名称 IP

2014年02月14日 ⁄ 综合 ⁄ 共 764字 ⁄ 字号 评论关闭

#include <stdio.h>

#include <netdb.h>//gethostbyname
//#include <cygwin/in.h>//struct in_addr(<linux/in.h>)
#include <netinet/in.h>

void getHostName()
{
 struct hostent *myhost;
 char ** pp;
 struct in_addr addr;
 myhost = gethostbyname("www.sohu.com");
 
 printf("host name is %s/n",myhost->h_name);
// pp = myhost->h_aliases;
// while(*pp!=NULL)
// {
//  printf("%s/n",*pp);
//  pp++;
// }
 for (pp = myhost->h_aliases;*pp!=NULL;pp++)
  printf("%02X is %s/n",*pp,*pp);
 pp = myhost->h_addr_list;
 while(*pp!=NULL)
 {
  addr.s_addr = *((unsigned int *)*pp);
  printf("address is %s/n",inet_ntoa(addr));
  pp++;
 }

 

结果:

host name is cachesh1.a.sohu.com
6B1508 is www.sohu.com
6B1518 is d7.a.sohu.com
address is 61.152.234.72
address is 61.152.234.73
address is 61.152.234.75
address is 61.152.234.76
address is 61.152.234.77
address is 61.152.234.71

抱歉!评论已关闭.