有没有办法使用 python 进行反向查找,以检查共享主机中共享相同 IP 地址的网站列表。
一些网站为此提供了工具。
从技术上讲,您可以使用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'
请注意,您需要socket.herror
在使用gethostbyaddr
.
至于找出特定 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 也是如此。