簡體   English   中英

Python:共享主機中的反向 DNS 查找

[英]Python: Reverse DNS Lookup in a shared hosting

有什么方法可以使用 python 進行反向查找,以檢查共享主機中共享相同 IP 地址的網站列表。

一些網站為此提供了一種工具。

DNSPython

從技術上講,您可以使用DNSPython進行反向查找。

點安裝它

$ pip install dnspython

然后做你的反向查詢:

>>> from dns import resolver
>>> from dns import reversename
>>> addr = reversename.from_address("74.125.227.114")
>>> resolver.query(addr, "PTR")[0]
<DNS IN PTR rdata: dfw06s16-in-f18.1e100.net.>

socket.gethostbyaddr

您也可以使用socket.gethostbyaddr

>>> import socket
>>> name, alias, addresslist = socket.gethostbyaddr('192.30.252.130')
>>> name
'ip1c-lb3-prd.iad.github.com'

請注意,在使用gethostbyaddr時,您需要檢查socket.herror異常。

進行反向查找的問題

至於找出哪些站點托管在特定 IP 上,這可能無法在共享托管環境中獲得最佳結果。 它可能會告訴您有關提供商的信息,而不是網站:

14:38:43 ~/code/tmp$ ping mozeyondown.com
PING mozeyondown.com (173.203.99.161): 56 data bytes
64 bytes from 173.203.99.161: icmp_seq=0 ttl=56 time=40.924 ms

我們現在查一下那個地址

14:38:54 ~/code/tmp$ dig +noall +answer -x 173.203.99.161
161.99.203.173.in-addr.arpa. 86053 IN   PTR 173-203-99-161.static.cloud-ips.com.

通過 Python 查找

>>> import socket
>>> name, alias, addresslist = socket.gethostbyaddr('173.203.99.161')
>>> name
'173-203-99-161.static.cloud-ips.com'

使用 DNSPython 也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM