>>2864 68user > 名前解決ができない。 nslookup,host,digは動作OKです。 > → これは dig は名前解決できないという意味? nslookup と host が OK で、 > dig が NG ならば、ちょっと理解できません。 strace digについては、dig自体は正常に動作し名前解決しているが、 ご指摘のsend()のコールが見つからないという意味です。 かわりにwrite()のコールがあるので、sendではなくwriteを使っているのでは と想像していますが、straceで表示されるwriteで送っている文字列(?)は 内容が意味不明で、writeがsendの代わりに使っていると断言する自信は ありません(dnsライブラリのソースや解説を見たわけではないので)。 実際には次のようになります。 % strace dig www.jp.freebsd.org >& strace-dig.txt % grep 'write(' strace-dig.txt write(4, "\t\0\0\0\5\0\0\0\2\0\377\277\266\3066\1\0\240\5\10\340"..., 148) = 148 write(4, "\200-(@\0\0\0\0\0\372\377\277\200T$@\10P<@\3@\0\200\0\0"..., 148) = 148 write(4, "\200-(@\0\0\0\0\20\372\377\277\220q$@XP<@\3@\0\200\0\0"..., 148) = 148 write(4, "\200-(@\0\0\0\0\0\372\377\277 \365$@\350\"\6\10\3@\0\200"..., 148) = 148 write(4, "\200-(@\1\0\0\0\2\4\0\0Ho\26@\320\371\377\2771\220\0@\334"..., 148) = 148 write(6, "\377\377\377\377", 4) = 4 write(4, "\200-(@\1\0\0\0\4\f\0\0\30V(@\260\214\'@\240\224;@\310"..., 148) = 148 write(4, "\200-(@\1\0\0\0\3\10\0\0\376\274\'@\340\"\6\10\260\230"..., 148) = 148 write(4, "\200-(@\2\0\0\0\0\0\0\0*\22:@t\241;@@0<@8\372\377\277\372"..., 148) = 148 > → perl (から呼ばれる libc の resolver) は正常動作していると思う。 確かに正常動作しているように見えます(想像ですが)。 ここで気づいたことがあるのですが、dnsを直接操作するコマンドと gethostbynameを呼んでいると思われるコマンドで互いのstraceの結果を見比べると、 dns処理のためにオープンしているライブラリが異なっているようです。 またネットを検索していて気づいたのですが、glib2.1.??あたりにバグが あるらしいです(情報自体は古いですが)。 もしかしたらバグのあるバージョンかもしれないので調べてみます (今回の名前解決とは関係のないバグかもしれませんが…)。 > netstat -s については、2〜3ヵ月以内の UNIX USER に詳しく説明されていましたので 見つけたら是非読んでみようと思います(書泉行き?)。 > あと、本当にお困りなら linux.or.jp あたりのメーリングリストで > 質問した方が早いと思うですよ (もちろん解決しなくてもいいなら > こっちで続けても構いません)。 解決しなくていいわけではないですが、まだねばりたいです。 いつまでも同じ話題でいいかげん飽きている、という気もしますが、 もう少しお付き合いくだせい。 |