如果我有域列表及其 IP 地址,如何跳过 DNS 请求? scans.io 提供了域及其 IP 的列表,我想使用该列表而不是向 DNS 服务器发送查询。 如果不设置我自己的 DNS 服务器,是否可能?
编辑: 原因是我有一个包含一百万个域及其 IP 的大文件,我想尽快抓取它们而不被 DNS 服务器禁止。
最佳答案
有几种可能性。
如果您不需要将数据文件中的 DNS 查找限制为特定的 Java 进程,您可以将该列表添加到系统的“主机”文件中。在哪里可以找到该文件是特定于操作系统的,您必须考虑到如果系统上运行的所有进程使用操作系统 API 调用从主机名解析 IP,它们将从主机文件中获取匹配的 IP。
另一种选择是,如果您的 Java VM 支持,则将主机名解析器配置为使用常规 DNS 查找之外的其他数据源。 Oracle 的 Java VM 提供了这种可能性,您可以在 JNDI DNS service provider settings 部分找到配置文档。网络属性文档。也许有点过时了,但是this article还为您提供了一个关于如何使用 sun.net.spi.nameservice 中的 API 实现您自己的 NameService 的完整示例。
关于java - 如果我有 IP,则跳过 Java 的 DNS 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36721009/