java - LLMNR (Link-Local Multicast Name Resolution) Java响应器

标签 java dns mdns

您知道是否存在用于 LLMNR 响应器的 Java 库吗?我寻找 jmDns 库,但它似乎专为 Bonjour 服务设计。

如果不是,我可以制作一个 UDP 响应器,但是否存在用于解析/写入 DNS 记录的库?

最佳答案

我不知道 Java LLMNR 响应程序 (*),但是对于您的第二个问题,关于库解析/写入 DNS 记录的问题,有 dnsjava .

Record[] records = new Lookup("stackoverflow.com", Type.A).run();
for (Record record : records) {
    ARecord a = (ARecord) record;
    System.out.println("Host " + a.getName() + " has address " + a.getAddress().getHostAddress());
}
byte[] ip = {(byte)192, (byte)168, (byte)0, (byte)10};
Name zone = Name.fromString("dyn.test.example.");
Name host = Name.fromString("host", zone);
InetAddress address = InetAddress.getByAddress(ip);
ARecord r = new ARecord(host, DClass.IN, 3600, address);
System.out.println(new sun.misc.HexDumpEncoder().encode(r.toWireCanonical()));

(是的,我正在使用 Sun 私有(private) API 来打印十六进制转储,请告我)

结果:

Host stackoverflow.com. has address 151.101.193.69
Host stackoverflow.com. has address 151.101.129.69
Host stackoverflow.com. has address 151.101.1.69
Host stackoverflow.com. has address 151.101.65.69
0000: 04 68 6F 73 74 03 64 79   6E 04 74 65 73 74 07 65  .host.dyn.test.e
0010: 78 61 6D 70 6C 65 00 00   01 00 01 00 00 0E 10 00  xample..........
0020: 04 C0 A8 00 0A 

(*) 或者可能是 mdnsjava ? (使用 dnsjava)。无论如何,您可能希望在接受之前等待赏金到期,以防有人给出完整的答案。另外,通常图书馆推荐的请求被认为是题外话,但这是一个罕见的话题,我觉得这很有趣,我希望这不会被关闭。

关于java - LLMNR (Link-Local Multicast Name Resolution) Java响应器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40448613/

相关文章:

azure - 如何在azure中创建自定义通配符域

Java protected 方法的歧义类型

linux - 将域名映射到 Tomcat 应用程序

java - 使用诸如等待之类的低级原语是否被认为是不好的?

node.js - Node 服务器上的间歇性 EAI_AGAIN 错误

c# - 如何在 C# 中获取完整的主机名?

docker - 如何从Docker容器中``avahi浏览''?

routes - 将 mDNS 查询从 WSL 子网重新路由到 Windows 主机子网

java - 在 Netbeans 中使用位图字体

java - 优化夜间模式系统