AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 105061
Accepted
warren
warren
Asked: 2010-01-22 08:23:17 +0800 CST2010-01-22 08:23:17 +0800 CST 2010-01-22 08:23:17 +0800 CST

如何在连接到一个 IP 的 DNS 中查找所有主机名?

  • 772

如果我在一台机器上配置了多个主机(la apache 的 VirtualHosts),我如何查找 IP 并找到所有配置为访问它的域?

例如,我有几个 Web 和电子邮件域连接到我的服务器。如何找到指向它的所有域?

甚至可能吗?

我拥有所有域的 DNS A 条目,而且我知道一些朋友的域指向我的服务器。我想看看我不认识的人是否也指向那里。(或者如果有人将他们的域重新指向其他地方,我可以从我的服务器中删除他们的“旧”网站。)

domain-name-system virtualhost domain nslookup
  • 5 5 个回答
  • 108798 Views

5 个回答

  • Voted
  1. Best Answer
    user1804
    2010-01-22T08:28:30+08:002010-01-22T08:28:30+08:00

    不是真的,不。这就是正向和反向 DNS 查找之间的区别。

    正向查找是标准名称->IP 查找。所以,你必须提前知道所有的名字。

    您想要的是进行 IP-> 名称查找,但以某种方式将您在 Apache 配置和 DNS 中应用的所有名称作为 A 记录(或 CNAMES 或其他)。

    您可能会发现,进行反向查找(例如 dig @nameserver $ip -x)将返回拥有该网络块的人(可能是您的 ISP)提供给该 IP 的主机名。它可能有一个类似 45-23-45-231.big-isp.com 的名称,这对您来说意义不大。至关重要的是,只有一个反向记录,但可能有许多正向记录。

    我想这归结为一个问题——反向区域如何知道正向区域中的任何记录?在大多数设置中,前向区域可供客户进行更改,但反向区域由网络块的所有者维护。这两个系统无需了解彼此的任何信息即可运行。

    • 33
  2. Alnitak
    2010-01-22T14:50:02+08:002010-01-22T14:50:02+08:00

    使用 DNS 协议本身是不可能的,因为通常PTR每个 IP 地址只有一个记录,即使可能有许多A记录指向该 IP 地址。

    然而,一些公司(例如http://www.ip-adress.com/)已经设法编译包含您所追求的数据库,方法是存储整个 DNS 查找负载的结果,然后提供反向查询到他们自己的数据库。

    但是,这些数据库不能确定,它们不能保证知道可能碰巧指向该 IP 的每个可能的域——它们只能记录他们实际查找的域名的 DNS 详细信息。

    • 13
  3. profy
    2010-01-22T09:57:58+08:002010-01-22T09:57:58+08:00

    这样做的唯一方法是拥有要检查的域名的内容数据。

    使用此内容,您可以开发一个递归脚本来搜索相对于您的 IP 的主机名(由于最终要检查的 CNAME 而递归)。

    要获取某些域名合作伙伴的数据,您可以请求辅助并使用 dig -t axfr 获取 DATA。

    • 4
  4. Jason Antman
    2010-01-26T12:31:12+08:002010-01-26T12:31:12+08:00

    我认为你是从错误的方向来的。除了 a) 为每个可能的域名查询现有的每个 DNS 服务器,然后存储结果或 b) 从您感兴趣的 DNS 服务器获取区域传输之外,DNS 无法做到这一点。

    好吧,如果您正在运行基于名称的 Apache 虚拟主机,那么您已经有了一个可以访问您的服务器的域列表。除了默认的虚拟主机外,基于名称的虚拟主机只会回答其名称。因此,如果我将 foobar.com 指向我的盒子,并且没有 foobar.com 虚拟主机,它要么默认提供服务,要么没有得到应答(如果您没有默认服务器)。

    Apache 有一些非常强大的日志功能。使用您想要的请求行定义自定义日志格式应该不是问题。此外,总是有引用者字段。

    另一方面,邮件更让人痛苦。关于我能想到的最好的事情是从服务器日志中挑选你能做的事情,如果你真的需要知道,为 SMTP 设置一个数据包捕获。

    • 3
  5. Bonswouar
    2013-09-25T01:20:18+08:002013-09-25T01:20:18+08:00

    您应该检查RobTex 不是最好的网页设计,但非常有用!您可以找出与 IP 关联的所有 DNS。

    当然,正如 Alnitak 所解释的,

    使用 DNS 协议本身是不可能的

    这意味着该网站只是一个包含大多数 DNS/IP 服务器的庞大数据库。这非常有效,但不是 100% 详尽无遗。

    • 2

相关问题

  • 如何使用 Windows Server 解析 http 域名

  • 动态更新 /etc/resolv.conf 中列出的解析器

  • 带有 VPN 的小型 Windows 域的最佳单服务器配置

  • 内部名称解析

  • 什么时候域比工作组更适合网络?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve