系统默认服务器,如何解决只能用系统默认DNS服务器?

编译:$gcc -o dns dns。c

运行:$。/dns www。avnads。cn

$。/dns 192。168。0。8(我的内网IP)

程序:

#include

#include

#include

#include

#include

#include

#include

#include

int main(int argc ,char *argv[])

{

struct sockaddr_in addr;

struct hostent *host;

char **alias;

if(argc!=2)

{

fprintf(stderr,"Usage:%s hostname|ip。

。\n\a",argv[0]);

exit

(1);

}

/* 这里我们假设是IP,通过IP获得主机信息*/

if(inet_aton(argv[1],&(addr。sin_addr))!=0)

{

host=gethostbyaddr((char *)&(addr。

sin_addr),4,AF_INET);

printf("Address information of Ip %s\n",argv[1]);

}

else

{

/* 否则用户应该输入的是域名,通过域名找主机信息*/

host=gethostbyname(argv[1]);

printf("Address information of host %s\n",argv[1]);

}

if(host==NULL)

{

/* 都不是,算了不找了*/

printf("No Information found");

exit

(1);

}

/*打印主机正式名称*/

printf("Official host name:\n%s\n\n",host->h_name);

/*打印主机其他名称*/

printf("Name aliases:\n");

for(alias=host->h_aliases;*alias!=NULL;alias++)

printf("%s\n",*alias);

/*打印主机系列IP*/

printf("\nIp address:\n");

for(alias=host->h_addr_list;*alias!=NULL;alias++)

printf("%s\n",inet_ntoa(*(struct in_addr *)(*alias)));

}。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值