一个简单的DNS解析程序,可以将域名解析为IPv4或IPv6地址。

dns-shark的Python项目详细描述


DNS Shark

made-with-pythonBuild Statuscodecov

dnshark是一个简单的域名解析程序。在

目前,DNS-Shark能够将域名解析为IPv4或IPv6地址。此外,如果需要,dnshark可以提供详细的跟踪输出。在

DNS Shark当前只能处理A、AAAA、NS和CNAME资源记录类型。因此,当前不支持任何涉及其他资源记录类型的名称解析过程,尽管我希望在将来添加对所有资源记录类型的完整处理。在

dnshark是用MyPy开发的,因此,它努力为所有代码提供完整的静态类型注释。在

与Travis CI持续整合。使用Codecov进行代码覆盖跟踪。在

安装

您可以从PyPI安装DNS Shark:

pip install dns_shark

Python3.6及更高版本支持DNS Shark。在

如何使用

dnshark是一个命令行应用程序,名为dns_shark。在

要解析域名,请使用两个必需的参数调用程序:

  1. DNS服务器的IP地址。(域名解析过程将从这个指定的DNS服务器开始。)
  2. 要解析的域名。在

www.google.com的简单域名解析。在

^{pr2}$

如果要将域名解析为IPv6地址,而不是IPv4地址,请指定--ipv6 1选项。在

$ dns_shark 199.7.83.42 www.google.com --ipv6 1

Answers:
  www.google.com 300   AAAA 2607:f8b0:400a:809::2004

如果需要名称解析过程的详细跟踪信息,请指定--verbose 1选项。在

$ dns_shark 199.7.83.42 www.google.com --verbose 1


Query ID:    25408 www.google.com  A --> 199.7.83.42
Response ID: 25408 Authoritative = False
  Answers (0)
  Name Servers (13)
      com                            172800     NS   a.gtld-servers.net
      com                            172800     NS   b.gtld-servers.net
      com                            172800     NS   c.gtld-servers.net
      com                            172800     NS   d.gtld-servers.net
      com                            172800     NS   e.gtld-servers.net
      com                            172800     NS   f.gtld-servers.net
      com                            172800     NS   g.gtld-servers.net
      com                            172800     NS   h.gtld-servers.net
      com                            172800     NS   i.gtld-servers.net
      com                            172800     NS   j.gtld-servers.net
      com                            172800     NS   k.gtld-servers.net
      com                            172800     NS   l.gtld-servers.net
      com                            172800     NS   m.gtld-servers.net
  Additional Information (14)
      a.gtld-servers.net             172800     A    192.5.6.30
      b.gtld-servers.net             172800     A    192.33.14.30
      c.gtld-servers.net             172800     A    192.26.92.30
      d.gtld-servers.net             172800     A    192.31.80.30
      e.gtld-servers.net             172800     A    192.12.94.30
      f.gtld-servers.net             172800     A    192.35.51.30
      g.gtld-servers.net             172800     A    192.42.93.30
      h.gtld-servers.net             172800     A    192.54.112.30
      i.gtld-servers.net             172800     A    192.43.172.30
      j.gtld-servers.net             172800     A    192.48.79.30
      k.gtld-servers.net             172800     A    192.52.178.30
      l.gtld-servers.net             172800     A    192.41.162.30
      m.gtld-servers.net             172800     A    192.55.83.30
      a.gtld-servers.net             172800     AAAA 2001:503:a83e::2:30


Query ID:    50458 www.google.com  A --> 192.5.6.30
Response ID: 50458 Authoritative = False
  Answers (0)
  Name Servers (4)
      google.com                     172800     NS   ns2.google.com
      google.com                     172800     NS   ns1.google.com
      google.com                     172800     NS   ns3.google.com
      google.com                     172800     NS   ns4.google.com
  Additional Information (8)
      ns2.google.com                 172800     AAAA 2001:4860:4802:34::a
      ns2.google.com                 172800     A    216.239.34.10
      ns1.google.com                 172800     AAAA 2001:4860:4802:32::a
      ns1.google.com                 172800     A    216.239.32.10
      ns3.google.com                 172800     AAAA 2001:4860:4802:36::a
      ns3.google.com                 172800     A    216.239.36.10
      ns4.google.com                 172800     AAAA 2001:4860:4802:38::a
      ns4.google.com                 172800     A    216.239.38.10


Query ID:    46368 www.google.com  A --> 216.239.34.10
Response ID: 46368 Authoritative = True
  Answers (1)
      www.google.com                 300        A    172.217.3.196
  Name Servers (0)
  Additional Information (0)

Answers:
  www.google.com 300   A 172.217.3.196

这些选项也可以一起指定。在

$ dns_shark 199.7.83.42 www.google.com --verbose 1 --ipv6 1


Query ID:    18404 www.google.com  AAAA --> 199.7.83.42
Response ID: 18404 Authoritative = False
  Answers (0)
  Name Servers (13)
      com                            172800     NS   a.gtld-servers.net
      com                            172800     NS   b.gtld-servers.net
      com                            172800     NS   c.gtld-servers.net
      com                            172800     NS   d.gtld-servers.net
      com                            172800     NS   e.gtld-servers.net
      com                            172800     NS   f.gtld-servers.net
      com                            172800     NS   g.gtld-servers.net
      com                            172800     NS   h.gtld-servers.net
      com                            172800     NS   i.gtld-servers.net
      com                            172800     NS   j.gtld-servers.net
      com                            172800     NS   k.gtld-servers.net
      com                            172800     NS   l.gtld-servers.net
      com                            172800     NS   m.gtld-servers.net
  Additional Information (14)
      a.gtld-servers.net             172800     A    192.5.6.30
      b.gtld-servers.net             172800     A    192.33.14.30
      c.gtld-servers.net             172800     A    192.26.92.30
      d.gtld-servers.net             172800     A    192.31.80.30
      e.gtld-servers.net             172800     A    192.12.94.30
      f.gtld-servers.net             172800     A    192.35.51.30
      g.gtld-servers.net             172800     A    192.42.93.30
      h.gtld-servers.net             172800     A    192.54.112.30
      i.gtld-servers.net             172800     A    192.43.172.30
      j.gtld-servers.net             172800     A    192.48.79.30
      k.gtld-servers.net             172800     A    192.52.178.30
      l.gtld-servers.net             172800     A    192.41.162.30
      m.gtld-servers.net             172800     A    192.55.83.30
      a.gtld-servers.net             172800     AAAA 2001:503:a83e::2:30


Query ID:    36919 www.google.com  AAAA --> 192.5.6.30
Response ID: 36919 Authoritative = False
  Answers (0)
  Name Servers (4)
      google.com                     172800     NS   ns2.google.com
      google.com                     172800     NS   ns1.google.com
      google.com                     172800     NS   ns3.google.com
      google.com                     172800     NS   ns4.google.com
  Additional Information (8)
      ns2.google.com                 172800     AAAA 2001:4860:4802:34::a
      ns2.google.com                 172800     A    216.239.34.10
      ns1.google.com                 172800     AAAA 2001:4860:4802:32::a
      ns1.google.com                 172800     A    216.239.32.10
      ns3.google.com                 172800     AAAA 2001:4860:4802:36::a
      ns3.google.com                 172800     A    216.239.36.10
      ns4.google.com                 172800     AAAA 2001:4860:4802:38::a
      ns4.google.com                 172800     A    216.239.38.10


Query ID:    35735 www.google.com  AAAA --> 216.239.34.10
Response ID: 35735 Authoritative = True
  Answers (1)
      www.google.com                 300        AAAA 2607:f8b0:400a:809::2004
  Name Servers (0)
  Additional Information (0)

Answers:
  www.google.com 300   AAAA 2607:f8b0:400a:809::2004

也可以通过从DNS_resolver包导入,在自己的Python代码中调用DNS Shark:

>>> from dns_shark.dns_resolver import Resolver
>>> records = Resolver.ask('www.google.com', '199.7.83.42')
>>> print(records)
[ResourceRecord(name: www.google.com, type: 1, class: 1, ttl: 300, rdlength: 4, rdata: 172.217.3.196)]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我们可以使用java for loop with switch语句。。?   java如何从具有循环关系的数据集生成树?   使用s:mvcUrl标记时java Spring启动问题   javascript Wicket调色板水平滚动条在firefox中不显示   java如何清理Maven插件绑定?   java将文件从设备发送到计算机不起作用(文件被破坏)   Java GPU编程的性能   java字符串标记器问题   连接Java LDAP断开连接   java Android GridView将无法确定正确的位置   java AlarmManager在指定时间未显示toast消息   MVC中的java测试外观|断言返回类型   logcat上的java Android运行时错误   java Building Workspace在Eclipse中遇到错误   堆栈溢出尾部递归遗传算法抛出“awteventque0”java。StackOverflowerr语言   java ArrayOutOfBounds测试代码不工作   java有没有像Moodle这样流行的课程管理系统?   java如何从jsp获取xml文件作为响应