一个简单的DNS解析程序,可以将域名解析为IPv4或IPv6地址。
dns-shark的Python项目详细描述
DNS Shark
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
。在
要解析域名,请使用两个必需的参数调用程序:
- DNS服务器的IP地址。(域名解析过程将从这个指定的DNS服务器开始。)
- 要解析的域名。在
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)]
- 项目
标签: