在python中使用服务器替代的nslookup

2024-04-24 08:05:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一个python替代nslookup。

其他消息来源指出我套接字.getaddrinfo(). 但是,这似乎不允许我指定一个服务器来解析主机名,nslookup支持并且我需要它。

C:\Users\Administrator>nslookup 10.0.11.6 coolserver
Server:  coolserv.coolserver.com
Address:  10.0.1.1

Name:    the-host-name-i-want.blah.com
Address:  10.0.11.6

这是一个要求,我能够做查找通过“酷服务器”。这是socket或其他python库所能做到的吗?

我知道我可以直接通过子进程调用nslookup。

编辑:

如上所述,这不是python module for nslookup的副本

据我所知,socket.getaddrinfo()不允许您通过服务器路由请求。我需要知道“这个服务器认为我的主机名是什么”。不是“我的本地主机名是什么”。


Tags: thename服务器comserveraddresssocketusers
1条回答
网友
1楼 · 发布于 2024-04-24 08:05:44

您需要创建解析程序对象并将解析程序设置为要使用的DNS服务器:

from dns import *
resolver = resolver.Resolver()
resolver.nameservers = ['8.8.8.8']
a = resolver.query('duckduckgo.com','A')
a.rrset.items[0].address #'54.241.2.241'

要执行反向查找,请执行以下操作:

^{pr2}$

注意ec2-50-18-200-106.us-west-1.compute.amazonaws.com是一个duckduckgo.com网站网络服务器。在

您可能需要安装dnspython。在

相关问题 更多 >