zkat’s diary

技術ブログ

dnspythonで非再帰問い合わせする

dnspythonのサンプルコードをさらします。 dnspythonで非再帰問い合わせをしつつ、ついでにNSIDも取得してます。

NSIDは、EDNSオプションで使うことのできるもので、実際に応答をした権威DNSサーバー(IP Anycastなどで負荷分散されているDNSサーバーへの問い合わせはどこに吸い込まれたか容易には分からないので)を特定することができます。
但し、NSIDは全ての権威DNSサーバーが対応しているオプションではありません。

以下、MルートサーバーにルートゾーンのSOAを問い合わせるサンプルです。

自分の環境では以下のような結果になりました。

$ ./sample.py
M-NRT-JPNAP-3
a.root-servers.net.
nstld.verisign-grs.com.
2019111100