作者dendrobium (石斛兰)
看板LinuxDev
标题[问题] gethostbyname得到不正确的ip
时间Mon Nov 30 00:34:43 2009
我有两台机器
分别是在
60.198.35.85
140.117.37.129
两台分别利用gethostbyname查ip却得到不一样的结果
部份程式码如下
char fromhost[] = "60-198-35-85.dynamic.tfn.ent.tw";
char user_ip[512];
if (he = gethostbyname(fromhost))
strcpy(user_ip, inet_ntoa(*(struct in_addr *) he->h_addr_list[0]));
printf("%s\n",user_ip);
其中 60.198.35.85主机得到的是正确的, 也就是自己的ip
而 140.117.37.129主机却得到 220.128.96.184 这个不正确的ip
( 220.128.96.184是 hinet的ip 似乎是www.twbbs.org)
我在网路上有查到 通常会透过/etc/resolv.conf 里面的nameserver 查询
以下是 140.117.37.129主机的/etc/resolv.conf
search twbbs.org #=> 主机的domain name 是 xxxx.twbbs.org
nameserver 140.117.11.1 #=> nsysu的 nameserver
会不会是search twbbs.org 这行设错了呢?
但是我把他注销掉後用 service network restart还是得到一样的结果
请问问题是出在哪呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.198.35.85