问题标签 [dnsjava]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何更改java DNS服务提供者
我正在构建一个快速的网络爬虫,我需要多线程 DNS 解析,所以我选择了一个名为dnsjava的多线程 DNS 服务提供商。不幸的是,我不知道如何替换默认的 DNS 服务提供商。
我查看了 dnsjava 的README文件,但说明不是很完整。
替换标准 Java DNS 功能:
从 Java 1.4 开始,服务提供者可以在运行时加载。要加载 dnsjava 服务提供者,请按照上述说明构建它并设置系统属性:
sun.net.spi.nameservice.provider.1=dns,dnsjava
这指示 JVM 以最高优先级使用为 DNS 提供的 dnsjava 服务。
有几件事我不清楚:
- 我在哪里放置 dnsjava.jar?
- 应该在哪里设置系统属性(是程序化的还是某种类型的文件更改)?
我在 Windows 7 机器上运行,我不确定我需要做什么来查找/修改系统属性...帮助!?
更新:
明白了:System.setProperty("sun.net.spi.nameservice.provider.1","dns,dnsjava");
java - java.lang.NoClassDefFoundError 为静态方法抛出但不为静态成员
使用dnsjava库时,我遇到了一个令人沮丧和令人困惑的问题,我可以Type.A
正确调用但调用Type.value(str)
会抛出java.lang.NoClassDefFoundError
.
此代码正在从 jar 中执行,jar
并且 jar 中的其他类正确使用该库。
为什么以及如何会发生这种情况?我该如何进一步调试呢?
谢谢!
编辑
乔恩斯基特是正确的。一位朋友向我展示了如何使用javap -c
,我将值更改为更独特的类型,Type.AAAA,其值为 28:
java - 使用 dnsjava 在绑定 dns 服务器区域中添加/删除 dns 条目
我搜索了很多,但没有找到明确的答案。我的目标是制作可以从 dns 服务器添加和删除 dns 条目的 java 方法。我在 debian VM 上安装并配置了 bind9 dns 服务器。我正在使用 dnsjava 库。我可以从 dns 服务器读取区域和记录以及所有这些,我还可以发送正在接收的更新,但响应是 SERVFAIL。因此,我无法更改 dns 服务器的区域,例如添加和删除记录,尽管我通过允许更新来配置它们。谁能帮我继续?
java - 请求DNS服务器记录并检查权威性
我如何询问 google.com 域的 DNS 服务器,例如 8.8.8.8?在这个http://www.xbill.org/dnsjava/dnsjava-current/examples.html页面上是示例如何发送指定域的请求,但如何询问具体服务器并检查答案是否权威?我可以使用 dnsjava 或其他 Java lib
java - 可以以编程方式将特定 IP 地址解析为负载平衡域名吗?
我们的环境设置有多个 apache httpd,它们充当各种后端 java 服务器(主要是 tomcat 服务器)的反向代理。
我们想编写一个脚本来访问每个单独的 IP 地址并检查有效的 http 响应。
httpd 设置为使用虚拟主机,因此为了验证完整的 http/html 响应,我们需要向域名发送 http 请求。换句话说,直接向特定 IP 地址发送 http 请求会导致 apache 的 html http 响应不正确。
所以,总而言之,我们有多个 httpd 监听多个 IP 地址。例如:
my.domain.com 负载平衡:
192.168.11.1 192.168.11.2
我们可以以编程方式更新每个 IP 地址的主机文件,然后向域名发出请求并以这种方式检查每个单独的 IP 地址。
但是,有没有办法在不使用主机文件的情况下向域发出 http 请求并将其解析为特定的 IP 地址?也许有一个java lib可以以编程方式做这种事情?
android - Proguard 使用 DNSJava 库混淆 Android 代码
我有一个在项目的 /libs/ 目录中有 dnsjava.jar 的 android 应用程序。一切都很好,可以打包成APK(没有proguard)。
但是,当我将 proguard 引入 project.properties(在 eclipse 中)时,我收到以下警告:
使用 -keep class org.xbill.** { *; proguard-project.txt 中的 } 似乎没有解决这个问题。
java - 如何为单个 IP 获取多个域?
方法如下——
这是对上述方法的调用-
在大多数情况下都可以正常工作,但是当 IP 映射到多个域时会失败 (???)
这是示例-
- 从这里获取securonix.com的 IP ,它是 198.154.218.168
- 如果我将此 IP 传递给上述方法,则会出现错误
- 但如果我在这里尝试相同的 IP ,它会列出 4 个域
是否可以使用DNSJava做到这一点?
java - dnsjava 无法解析 Linux 机器上的“localhost”
在我将dnsjava 注册为默认 Java DNS 提供程序后,我遇到了一个问题。它无法解析我的 Linux 机器上 /etc/hosts 文件中描述的本地地址。这个文件看起来像这样:
因此,如果我尝试解决其中一个这样的名称 UnknownHostException 发生:
当您将 dnsjava 与默认 dns 提供程序一起使用时,这不是问题。作为唯一的提供者,dnsjava 会在默认库中导致大量错误,结果证明这些错误高度依赖于 localhost 解析能力。所以,问题是:如何改变 dnsjava 的行为来解析本地主机名?
编辑。下一个代码工作正常:
但是java.net.InetAddress.getLocalHost()方法抛出:
java - 查找域的名称服务器
如何使用 Java 找到像 google.com 这样的域名的名称服务器?
我正在使用“dnsjava”库来查找主机详细信息、MX 记录、绑定版本和区域传输。但是我找不到使用 Java 查找域的名称服务器的方法。
dns - 使用 DNSJava 在私有云中实现 DNS 自动化
我正在尝试创建一个 DNS 服务(各种 DNS 操作的自动化)来服务于我们现有的私有云。我正在寻找选项和想法来做到这一点。是否有任何现有的 Java API 可以做到这一点?请建议。
我对可能的解决方案进行了研究。我发现DNSJava是一个很好的解决方案。但我没有找到太多的文档/示例。以下是一些问题,回答后可以解决我当前的问题:
- 如何将 NS 或 A 记录添加到区域文件?
- 如何打印出区域文件的内容?
我创建了一个本地 DNS 服务器用于测试目的。如果这些示例是针对 localhost 给出的,那将非常有帮助。
谢谢!