使用python脚本监控指定域名解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python脚本监控指定域名解析相关的知识,希望对你有一定的参考价值。

python脚本:

                                                                                                                 21,0-1        All
#!/usr/bin/python
# -*- coding: utf-8 -*-
#此脚本用于检测域名解析是否正常

import os

namelist = {‘www.51cto.com‘:‘218.11.0.91‘,‘www.51talk.com‘:‘60.205.82.82‘}

mail = [‘[email protected]‘,‘[email protected]‘]

def check_domain():
        ‘‘‘使用nslook域名解析并与字典ip对比,如果解析异常发邮件给指定收件人‘‘‘
        for i in namelist:
                address = os.popen("nslookup %s | grep -v ‘#53‘ | awk -F‘:‘ ‘/^Address/{print $2}‘" % i).read().strip()
                if (address == namelist[i]):
                        pass
                else:
                        for j in mail:
                                os.popen("echo ‘%s域名解析异常,请确认!‘| mail -s ‘%s域名解析异常‘ %s" %(i,i,j))
                                #os.popen括号中百分号后面的i,i,j分别是将python的指定变量传到shell命令中


check_domain()

小结:

上述python脚本中,需要将python中的某些变量传递给shell中引用,在此总结学习到的几种方法如下

实例1:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
var = ‘test‘
os.environ[‘var‘] = str(var)  #environ的键值必须是字符串
os.system(‘echo $var‘)

实例2:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
var = ‘test‘
os.system("echo %s" % var)

实例3:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
var = ‘test‘
output = os.popen("echo %s" % var)
print output.read().strip()


本文出自 “Just do myself” 博客,请务必保留此出处http://liubin0505star.blog.51cto.com/5550456/1884233

以上是关于使用python脚本监控指定域名解析的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记-DNS域名轮循业务监控

用python实现域名资产监控

实践:DNS域名轮循业务监控

批量解析域名IP地址的python脚本

zabbix监控DNS服务

通过python创建域名解析文件excel格式(可用来导入阿里云)