来自IP的dnsPython查找主机名,超时时间为1秒

如何查找给定IP地址的主机名? 此外,如果不存在这样的反向DNS条目,我该如何指定超时? 试图保持最快的速度。 或者,还有更好的方法? 谢谢!

ensnare asked 2020-02-13T23:23:03Z
2个解决方案
81 votes
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])

为了在函数上实现超时,该stackoverflow线程对此有答案。

ChristopheD answered 2020-02-13T23:23:18Z
17 votes

您要完成的工作称为反向DNS查找。

socket.gethostbyaddr("IP") 
# => (hostname, alias-list, IP)

[http://docs.python.org/library/socket.html?highlight=gethostbyaddr#socket.gethostbyaddr]

但是,对于超时部分,我已经读到有人遇到此问题。 我会检查PyDNS或此解决方案以进行更高级的处理。

adamse answered 2020-02-13T23:23:47Z
translate from https://stackoverflow.com:/questions/2575760/python-lookup-hostname-from-ip-with-1-second-timeout