[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: