python - 在 python 中使用 dig 命令

标签 python dns cname dig

只是一个警告,我的 Python 技能几乎不存在,但我正在努力学习。

我在周末通过我们的 DNS 控制面板对大约 58 个 CNAMES 进行了一些更改(只是更改了目标)

与其检查每个单独记录的更改是否已经生效,我想知道是否有一种方法可以为 python 中的每个 CNAME 编写一个挖掘列表?

我使用的 dig 命令是这样的

dig @ns1.netnames.net www.rac.co.uk CNAME

我希望看到 rac-secure.gslb2.rac.co.uk 返回。

我尝试了类似的方法:

import os
os.system( 'dig<exampledomain.com>'CNAME )

但这似乎不起作用(正如我提到的我缺乏 python 技能),我是在正确的道路上,还是应该使用类似 dnspython 的东西?我之前在堆栈溢出社区的(很多)帮助下使用过 dnspython 模块,但我发现文档真的很困惑。

任何正确方向的指针将不胜感激。

问候

克里斯。

最佳答案

很可能从 python 调用 dig,它可能会节省你的工作,只使用 python 库。看看dnspython这可能会让一切变得更容易——而且您不必解析输出格式。

import socket
import dns.resolver

# Basic query
for rdata in dns.resolver.query('www.yahoo.com', 'CNAME') :
    print rdata.target

# Set the DNS Server
resolver = dns.resolver.Resolver()
resolver.nameservers=[socket.gethostbyname('ns1.cisco.com')]
for rdata in resolver.query('www.yahoo.com', 'CNAME') :
    print rdata.target

关于python - 在 python 中使用 dig 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235569/

相关文章:

python - 将带有 unicode 字符的 XML 解析为 ElementTree

ruby-on-rails - Heroku ACM 不工作

redirect - Heroku/GoDaddy : send naked domain to www

python - 从 Python 将 TFRecord 输出到 Google Cloud Storage

python - 使用 OpenCV Camera Capture 在 PyQt4 中显示网络摄像头流

python - 作为键的单词词典和作为值出现的句子

dns - Kubernetes DNS/端点

google-app-engine - 为具有自定义域 DNS 的 Google App Engine 应用程序配置 SSL 证书

azure - 如何将我的 GoDaddy 域连接到 Azure VM 服务器?

ssl - 使用 SSL 的 Azure 云服务无法正常工作