《Python实现DNS解析查询》
来源:互联网 发布:淘客营销软件 编辑:程序博客网 时间:2024/05/17 00:55
需安装dnspython第三方库,可pip install dnspython
from dns import resolverclass QueryDNSResolver: """DNS解析,A类、MX、NS、CNAME""" def __init__(self): pass def A_query(self, domain): try: A_items = resolver.query(domain, 'A') for i in A_items.response.answer: for j in i.items: print(j.address) except resolver.NoAnswer as e: print(e) def MX_query(self, domain): try: MX_items = resolver.query(domain, 'MX') for i in MX_items: print('MX preference =', i.preference, 'main exchanger =', i.exchange) except resolver.NoAnswer as e: print(e) def NS_query(self, domain): try: self.__Base_query(domain, 'NS') except resolver.NoAnswer as e: print(e) ''' NS_items = resolver.query(domain, 'NS') for i in NS_items.response.answer: for j in i.items: print(j.to_next()) ''' def CNAME_query(self, domain): try: self.__Base_query(domain, 'CNAME') except resolver.NoAnswer as e: print(e) ''' CNAME_items = resolver.query(domain, 'CNAME') for i in CNAME_items.response.answer: for j in i.items: print(j.to_next()) ''' def __Base_query(self, domain, queryMode): try: items = resolver.query(domain, queryMode) for i in items.response.answer: for j in i.items: print(j.to_text()) except resolver.NoAnswer as e: print(e) def ALL_query(self, domain): self.__print_info('A') self.A_query(domain) self.__print_info('MX') self.MX_query(domain) self.__print_info('NS') self.NS_query(domain) self.__print_info('CNAME') self.CNAME_query(domain) def __print_info(self, queryMode): print('====%s====\n' % str(queryMode))def main(): query_ob = QueryDNSResolver() domain = input('Enter an domain:') query_ob.ALL_query(domain)if __name__ == '__main__': main()
0 0
- 《Python实现DNS解析查询》
- python实现DNS查询
- Python学习笔记--简单实现DNS查询
- dig查询dns解析
- 用python进行DNS查询--(报文解析篇)
- Python学习:DNS解析
- app实现dns解析
- 使用Python进行DNS查询
- Python:DNS客户端实现
- Python:DNS客户端实现
- Socket DNS查询之实现
- Java DNS查询内部实现
- Java DNS查询内部实现
- Java DNS查询内部实现
- C#实现DNS解析服务
- w5100实现dns解析功能
- python与域名系统(DNS)正向查询
- Python中DNS解析的几个方法
- 凡是过去,皆为序章,
- 微信小程序组件
- node.js搭建代理服务器实现跨域
- JSP内置对象
- Deeplab训练时候unexpected label
- 《Python实现DNS解析查询》
- UVA116
- SQLite--日期 & 时间
- 分页逻辑的实现
- 【JZOJ 5050】 颜色树
- android--ExpandableListView的简单运用
- 使用C++文件流库fstream,读写操作十六进制文本文件
- 【转载】序列化框架性能对比(kryo、hessian、java、protostuff)
- C++闭包,一样很简单