Re: /etc/hosts
On Fri, 8 Feb 2002 23:51:21 +0100
Juerg Schneider <jusch@gmx.ch> wrote:
> $ strace hostbyname localhost 2>&1 | grep open
> was gibt das bei Dir?
> Wie weit kommst Du mit Auflösen?
./gethostbyname localhost
Host name : localhost
IP Address : 127.0.0.1
./gethostbyname artus.vvd.lan
Host name : artus.vvd.lan
IP Address : 192.168.1.1
strace ./gethostbyname localhost 2>&1 | grep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory) open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY) = 3
open("/etc/resolv.conf", O_RDONLY) = 3
open("/etc/nsswitch.conf", O_RDONLY) = 3
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libnss_files.so.2", O_RDONLY) = 3
open("/etc/host.conf", O_RDONLY) = 3
open("/etc/hosts", O_RDONLY) = 3
Komisch. Jetzt wird nicht rausgewählt! Aber ein `telnet artus' führt immer
noch einen DNS Zugriff durch. Genauso wie der Aufruf von Xemacs. Der
strace liefert vor dem DNS lookup folgendes:
open("/etc/hosts", O_RDONLY) = 3
read(3, "127.0.0.1\tlocalhost\n192.168.1.1\t"..., 4096) = 446
# hier sieht man, daß 192.168.1.1 (=artus.vvd.lan) gelesen wird.
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/libnss_dns.so.2", O_RDONLY) = 3
open("/lib/libresolv.so.2", O_RDONLY) = 3
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sin_family=AF_INET, sin_port=htons(53),
sin_addr=inet_addr("212.7.128.165")}}, 28) = 0
# und hier ist der DNS server.....
send(3, "\343c\1\0\0\1\0\0\0\0\0\0\5artus\3vvd\3lan\0\0\34\0\1", 31, 0)
= 31
# und hier die Anfrage nach eben diesem artus.vvd.lan
gettimeofday({1013417802, 272836}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 5000) = 0
--
Dipl.Ing. Joerg Desch <jd@voelker-web.de> Abt. Entwicklung
Völker Video- und Datentechnik -=*=- http://www.voelker-web.de
Key fingerprint = C734 AB05 ED98 9497 499C 5CB5 8911 D9B1 9F71 E853
Reply to: