web-dev-qa-db-ja.com

Python 1秒のタイムアウトでIPからホスト名を検索

IPアドレスを指定してホスト名を検索するにはどうすればよいですか?さらに、そのような逆DNSエントリが存在しない場合にタイムアウトを指定するにはどうすればよいですか?できるだけ速く物事を維持しようとしています。または、より良い方法がありますか?ありがとうございました!

48
ensnare
>>> import socket
>>> socket.gethostbyaddr("69.59.196.211")
('stackoverflow.com', ['211.196.59.69.in-addr.arpa'], ['69.59.196.211'])

関数のタイムアウトを実装するために、 this stackoverflow thread に答えがあります。

81
ChristopheD

達成しようとしていることは、逆DNSルックアップと呼ばれます。

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

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

ただし、タイムアウトの部分については、これで問題が発生する人々について読みました。 PyDNS または this より高度な治療のためのソリューションをチェックアウトします。

17
adamse