reverse-dns - 域和 rDNS 数据不匹配
问题描述
当我在 google.com 上搜索某些内容时,我看到与以下 IP 地址的交互:172.217.7.132
但是当我尝试反向查找 IP 地址时,我得到iad30s08-in-f132.1e100.net.
and iad30s08-in-f4.1e100.net.
, not google.com
。
我需要做什么才能正确识别此 IP 地址是由google.com
.
编辑
澄清问题:我的问题不是特定于google.com
. 我想以编程/逻辑方式到达,google.com
因为这是我的浏览器所要求的。
在亚马逊的情况下也存在同样的问题:它解析到的 IP 地址,在 reverseDNS 上给了我:server-13-32-167-140.sea19.r.cloudfront.net.
而不是amazon.com
执行反向查找的代码:
In [1]: def reverse_lookup(ip_address):
...: from dns import reversename, resolver
...: domain_address = reversename.from_address(ip_address)
...: return [answer.to_text() for answer in resolver.query(domain_address, "PTR")]
解决方案
正如其他人所提到的,1e100.net
确实属于谷歌。他们的反向 DNS 将解析为他们想要解析的任何内容,而您对此无能为力。
根据您的要求,另一种选择可能是使用地理位置数据库来收集有关 IP 的更多信息。你可以在这里找到一个演示:
https://www.maxmind.com/en/geoip-demo (在表格中输入您的示例地址 172.217.7.132)
MaxMind 有各种产品(一些是免费的,一些是商业的),因此其中一种可能适合您以编程方式查找此信息的需求。
另一种可能的解决方案是访问 WHOIS API,例如:
示例结果:
推荐阅读
- javafx - JavaFX自定义对话框集节点布局
- html - 如何将 json 数据从 URL 拉到 vuejs 中的表或下拉列表中
- ruby-on-rails - ActiveRecord::RecordInvalid 验证失败:帐户必须存在
- javascript - 如何在菜单项中显示内联图标?
- c# - Android 4.x - 5.x:使用 Appcenter 时出现 WebException?
- python - 在 Python 中使用两个变量优化非线性函数
- jquery - 在 jQuery 中选择输入复选框的问题
- c - 查找字符串是否为混合大小写的最有效方法
- rust - 除了 Rust 标准库,还有 Sync trait 的有效实现吗?
- apache-kafka - 通过 CMD 获取启用 SSL 的 Kafka 中的最新偏移量