当前位置: 首页 > 面试题库 >

查询DNS服务记录以查找主机名和TCP / IP

欧阳博文
2023-03-14
问题内容

Roderic DM Page博士在有关 生命科学标识符的论文 (请参阅LSID
Tester,该工具用于测试生命科学标识符解析服务
)中说:

鉴于LSID瓮:LSID ubio.org:namebank:11815,查询该SRV记录的DNS __lsid.tcp
**ubio.org** 返回animalia.ubio.org:80作为ubio.org LSID服务的位置。

我了解到可以使用unix上的 host 命令将_lsid._tcp.ubio.org链接到animalia.ubio.org:80 :

host -t srv _lsid._tcp.ubio.org
_lsid._tcp.ubio.org has SRV record 1 0 80 ANIMALIA.ubio.org

如何使用Java J2SE API(没有任何外部Java库,我想要一个轻量级的解决方案)来完成“ DNS”操作?

谢谢


问题答案:

JNDI DNS提供程序可以查找SRV记录。您需要执行以下操作:

Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);
Attributes attrs = ctx.getAttributes("_lsid._tcp.ubio.org", new String[] { "SRV" });

返回的属性是一个字符串枚举,看起来像“ 1 0 80 ANIMALIA.ubio.org”。以空格分隔的字段按顺序排列:

  1. 优先
  2. 重量
  3. 港口
  4. 服务器


 类似资料:
  • 我如何向DNS服务器如8.8.8.8查询Google.com域名?在这个http://www.xbill.org/dnsjava/dnsjava-current/examples.html页面上是如何向指定域发送请求的示例,但是如何询问具体的服务器并检查答案是否权威?我可以使用dnsjava或其他Java库

  • 在下面的java代码中,我正在进行DNS SRV记录查找,以解析给定域名的目标域名和相关端口,例如root@1000000000.blubluzone.com.用/HERE/below表示的查找函数以某种方式返回null,我无法获得查询结果(即记录数组为null)。因此,当在for循环中访问记录数组时,将引发空指针异常。 你认为我缺少什么来让下面的代码工作。我正在使用dnsjava,相关的API

  • 这些查询有什么问题?我想获取当前日期的所有记录,得到异常 组织。springframework。道。InvalidDataAccessApiUsageException:org。冬眠QueryException:JPA风格的位置参数不是整数序号;嵌套的异常是java。lang.IllegalArgumentException:org。冬眠QueryException:JPA样式的位置参数不是整数序

  • 我想为service registry和erueka客户机设置Eureka服务器,这些客户机将使用service registry从Eureka服务器访问rest api。但是我们使用mesos作为我们的容器管理系统,当我们启动Eureka服务器时,我们将不知道它运行在哪个主机和端口上。因此,我们可以使用一个api,它提供了Eureka服务器将运行的完整url。现在,我看到的Eureka客户端的所

  • 问题内容: 我有一个学生列表: 我想随机获得总计5名学生3名A科学生和2名B科学生 完成一次“建议简单的SQL查询” 示例:我想随机合并以下查询 问题答案: 您非常接近: 子查询用于获取每个年级的随机学生。外部将五个学生随机分组。 注意:这是完成所需内容的最简单方法。如果表的大小适中,而性能是一个问题,则可以选择其他解决方案。

  • 问题内容: 我需要查询以在Bigquery中查找表(表元数据)的列名,例如SQL中的以下查询: 问题答案: 更新 :现在可以!请参阅下面的文档和答案。 回答,大约在2012年: 尽管这不是第一次请求,但当前无法通过查询检索表元数据(即列名和类型)。 您有理由将其作为查询吗?表格元数据可通过表格API获得。