gpt4 book ai didi

java - 使用 Java 处理 'nslookup -type=srv'

转载 作者:行者123 更新时间:2023-12-02 08:33:18 24 4
gpt4 key购买 nike

Java 中有没有办法对 SRV 记录进行 Nslookup 搜索?

我需要绑定(bind)到 Active Directory,并希望使用 SRV 记录来帮助确定集群中的哪些 AD 处于 Activity 状态。

在命令行中,nslookup 搜索字符串为:'nslookup -type=srv _ ldap._tcp.ActiveDirectory 域名'

谢谢。

最佳答案

正如埃里克森指出的,JNDI API 有一个 provider for DNS using JNDI ,您可以在该链接上阅读有关内容。有关查询 _ldap._.tcp.mydomain.com 记录的工作示例,请参阅 this code from Hudson .

我相信,在使用 DNS 提供程序之前,您需要使用如下内容加载它(根据上面的 Hudson 代码修改):

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);

从那里您可以通过以下方式获取 SRV 记录:

Attributes attributes = ctx.getAttributes("_ldap._tcp.mydomain.com", new String[]{"SRV"});
Attribute a = attributes.get("SRV");

我已经成功地在几个项目中使用这样的代码来实现非常直接的 AD 集成。

关于java - 使用 Java 处理 'nslookup -type=srv',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2695085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com