使用dig和python列出所有主机
我是python和编程的新手,只是找不到编写所需代码的方法。因此,请帮助: 背景: 我将检查多个不同的linux环境,以便从resolv.conf获取名称服务器ns和域信息,并将这些值传递给dig 多亏了这个论坛和谷歌,我才能够获得ns和域名信息,但仍在努力将信息传递给dig Python版本是2.7。 Linux是rhel6.x 问题: 如何使用ns和domain的返回值格式化dig命令,并提供几个参数:使用dig和python列出所有主机,python,linux,dns,dig,Python,Linux,Dns,Dig,我是python和编程的新手,只是找不到编写所需代码的方法。因此,请帮助: 背景: 我将检查多个不同的linux环境,以便从resolv.conf获取名称服务器ns和域信息,并将这些值传递给dig 多亏了这个论坛和谷歌,我才能够获得ns和域名信息,但仍在努力将信息传递给dig Python版本是2.7。 Linux是rhel6.x 问题: 如何使用ns和domain的返回值格式化dig命令,并提供几个参数: dig +search <domain>. axfr @<ns>
dig +search <domain>. axfr @<ns> +noall +answer
任何帮助都将不胜感激 你试过使用os.systemcommand吗?好的,但现在我可以用了。我编辑了这个问题。但是如何获取格式,使其只打印按ip排序的ip和主机名?请检查
# -*- coding: utf-8 -*-
### Functions start ###
def get_ns():
with open("/etc/resolv.conf","r") as readFile:
#print [line.split(" ")[1].strip() for line in readFile.readlines() if line.startswith("nameserver")][0]
x = [line.split(" ")[1].strip() for line in readFile.readlines() if line.startswith("nameserver")][0]
readFile.close()
return x
def get_domain():
with open("/etc/resolv.conf","r") as readFile:
#print [line.split(" ")[1].strip() for line in readFile.readlines() if line.startswith("search")][0]
y = [line.split(" ")[1].strip() for line in readFile.readlines() if line.startswith("search")][0]
readFile.close()
return y
### Functions end ###
# just to test all is working:
ns = get_ns()
# to get the dig command:
domain = get_domain()
domain1 = domain + '.'
ns1 = '@' + ns
print ns1
print domain1
list = os.system("dig +search " + domain1 + " axfr " + ns1 + " +noall +answer")
print list