14

スクリプト、具体的には Python スクリプトを使用してドメインの所有権を確認しようとしており、DNS TXT エントリの値を検索する方法を知りたいです。このためのサービスや Web サイトがあることは知っていますが、スクリプトを使用して実行したいと考えています。

4

4 に答える 4

22

これはdnspythonを使用すると簡単です。次に例を示します。

import dns.resolver
print dns.resolver.query("aaa.asdflkjsadf.notatallsuspicio.us","TXT").response.answer[0][-1].strings[0]

これにより、次の出力が得られます。

PnCcKpPiGlLfApDbDoEcBbPjIfBnLpFaAaObAaAaMhNgNbIfPbHkMiEfPpGgJfOcPnLdDjBeHkOjFjIbPbIoKhIjHfJlAhAhFgGbGgNlMgKmFkLgNfBjMbCoBeNbGeOnAeHgLmKoFlLhLmDcKlEdEbDpFeHkFaBlGnHiOnChIoMlIhBgOnFfKoEhDnFkKfDaMgHbJhMgPgMjGiAoJpKjKkPaIcAdGiMbIbBbAfEiKjNbCeFoElKgOePmGjJaImL

別のオプションはdig、サブプロセスで使用することです:

import subprocess

print subprocess.Popen(["dig","-t","txt","aaa.asdflkjsadf.notatallsuspicio.us","+short"], stdout=subprocess.PIPE).communicate()[0] 
于 2012-07-29T03:17:37.650 に答える
6

これは非常に単純化されている可能性がありますが、TXT レコードをすばやく読み取るだけで、結果を個別に解析することを気にしない場合は、次のようにします。

nslookup -q=txt somedomain.com

私はこれが私が必要としていた、短くて甘いことを発見しました。

于 2014-05-15T13:46:21.320 に答える
-7

このようなものは、少なくとも URL の値を取得するために機能するはずです。例として google.com を使用しました。

import pycurl
import StringIO
url = "whatsmyip.us/dns_txt.php?host=google.com"
c = pycurl.Curl()
c.setopt(pycurl.URL, url)
c.setopt(pycurl.HTTPHEADER, ["Accept:"])
txtcurl = StringIO.StringIO()
c.setopt(pycurl.WRITEFUNCTION, txtcurl.write)
c.perform

data = txtcurl.getvalue()
data = data.replace("Done!", "")
print data

私はこれをテストしませんでしたが、以前のプロジェクトから引き出しました。

頑張ってください!

于 2012-07-29T01:52:56.997 に答える