• dnspython


    dnspython

    一个Python实现的一个DNS工具包,利用其查询功能来实现dns的服务监控及解析结果的校验。

    安装

    pip install dnspython

    解析域名为IP

    from dns import resolver
    
    
    f = open('ddd.log', 'w')
    
    with open('urls.txt', 'r') as fp:
        for line in fp:
            try:
                url = line[7:].strip()
                ans = resolver.query(url, 'A')	# A记录,将主机名转换为IP地址;
                
                # for x in ans.response.answer:	# 获取结果
        			# for y in x.items:
            			# print(y)
                t = url + '||Successful!'
            except Exception as e:
                t = url + '||' + str(e)
                print('resolver error!')
            finally:
                f.write(t + '
    ')
    f.close()
    

    urls.txt

    http://www.lyskjqbyjs.cn
    http://www.haict.edu.cn
    http://news.kf.cn
    http://www.henanjubao.com
    http://huixiangtan.smx.net.cn
    http://www.hnjnjc.gov.cn
    ...
    

    ddd.log

    www.lyskjqbyjs.cn||Successful!
    www.haict.edu.cn||None of DNS query names exist: www.haict.edu.cn., www.haict.edu.cn.
    news.kf.cn||Successful!
    www.henanjubao.com||Successful!
    huixiangtan.smx.net.cn||Successful!
    www.xcxnmj.gov.cn||None of DNS query names exist: www.xcxnmj.gov.cn., wx.hazz-l-
    www.yhgq.gov.cn||Successful!
    www.zzdangshi.com||Successful!
    smx.hnwzj.gov.cn||Successful!
    wfxy.ayit.edu.cn||Successful!
    www.sqsglj.com||All nameservers failed to answer the query www.sqsglj.com. IN A: Server 127.0.0.53 UDP port 53 answered The DNS operation timed out.; Server 127.0.0.53 UDP port 53 answered The DNS operation timed out.; Server 127.0.0.53 UDP port 53 answered The DNS operation timed out.; Server 127.0.0.53 UDP port 53 answered The DNS operation timed out.; Server 127.0.0.53 UDP port 53 answered The DNS operation timed out.; Server 127.0.0.53 UDP port 53 answered The DNS operation timed out.; Server 127.0.0.53 UDP port 53 answered SERVFAIL
    www.yyxsjj.gov.cn||Successful!
    ...
    

    socket包的gethostbyname(URL)也能解析IP地址,jd不推荐用socket,推荐dnspython。

  • 相关阅读:
    The user specified as a definer (”@’%') does not exist解决方法
    mongodb下载地址
    镜像系统,超好用
    部署mysql后,无法设置用户远程登陆(%只所有用户,不可以,只能给指定的ip?)
    Libcap的简介及安装
    GCC命令基础
    gcc安装(centos)
    React Native 踩坑
    webpack 和 babel
    React 开发笔记
  • 原文地址:https://www.cnblogs.com/ldy-miss/p/10521895.html
Copyright © 2020-2023  润新知