问题标签 [libresolv]
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.
c - gcc/cygwin如何获取DNS服务器?
我有一些我正在 cygwin 下编写的代码(使用 GCC)成功使用 gethostbyname(); 但是,当我尝试直接使用解析器来检索 DNS 服务器的 IP 地址时,它会失败(nsaddr_list[] 中的所有条目都为空,nscount 为 -1)。如果 gethostbyname() 工作正常,那么显然它能够连接到 DNS 服务器。
这段代码...
适用于 unix/linux,但在 cygwin 上返回 nscount=-1。使用 cygwin/gcc 时获取 DNS 服务器有什么技巧吗?
c - c查询txt记录
每个人,我都编写了程序来读取dns txt记录,但是它有一些问题,谁能告诉我为什么?以下是我的源代码
输出:Fv=spf1 redirect=_spf.google.com
但是原始的txt记录应该是v=spf1 redirect=_spf.google.com
我的问题是u_char const *rdata = (u_char*)(ns_rr_rdata(query_parse_rr) )
如果我将其更改为u_char const *rdata = (u_char*)(ns_rr_rdata(query_parse_rr) +1)
输出将变为:v=spf1 redirect=_spf.google.com
另外,我参考了如何查询MX记录,我发现有+2,有什么可以告诉我为什么?
c - 如何查询服务器并获取 MX、A、NS 记录
我正在尝试获取 A、MX 和 NS A 服务器记录,如下所示:
On request 收到很多相同的,即相同的 A 记录。NS 记录也是如此。我究竟做错了什么?例子 :
请帮忙。
ios - 这是否允许在 iOS 上将 dlopen() 和 dlsym() 用于系统库(例如:libresolv)?
这是否允许在 iOS 上将 dlopen() 和 dlsym() 用于系统库(例如:libresolv)?
感谢您提前回答!
c - 提取 DNS A 记录的 TTL 值
我正在做一些 dns 的事情,我需要对 SRV 进行 A 记录查找并从中提取 ttl 和 ip 地址:
我可以使用以下代码提取 ip,但是如何提取 TTL?
输出:
c - 解析dns A记录时如何获取uint32_t格式的IP
我正在尝试解析记录:
目前inet_ntop
给了我 1.1.1.1 格式的 ip 但是我想要它作为 32 位整数,有什么想法吗?
dns - 使用 google nameserver 8.8.8.8 时 libresolv 不解析名称
我正在使用 libresolv 库创建一个应用程序,该应用程序在命令行参数中采用 DNS 服务器名称并将主机名查询到此特定 DNS 服务器。
如果使用,这适用于本地 DNS 服务器。但是当我尝试通过 8.8.8.8 (google nameserver) res_query 总是返回-1。我在网上搜索了类似的东西,发现 res_init 加载 /etc/resolv.conf。我不想要。我想覆盖 resolv.conf 并告诉解析器使用用户输入的名称服务器来使用。(谷歌服务器失败)
c++ - 为支持 CNAME 记录的 A 记录配置 TTL
我正在使用 libresolv 获取域的权威名称服务器列表,然后直接查询其中一个名称服务器以解析主机。
这样,我可以获得为 A 记录配置的 TTL,然后我选择在我的代码中以该 TTL 刷新我的 DNS 记录。
但是,我遇到了一个麻烦,因为我不确定如何处理引用 CNAMES 的主机。例如,输出www.microsoft.com
如下所示:
我应该使用 CNAME TTL 刷新我的主机吗?如果是这样,我如何获得为 CNAME 配置的 TTL?
或者,我是否应该使用链接到 CNAME(即e10088.dspb.akamaiedge.net
)的 A 记录来刷新我的使用?如果是这样,我如何获取该主机的配置 TTL?
您的专家可以提供的任何信息将不胜感激。
c++ - 如何使 res_query 与 dns 缓存一起使用?
我正在使用 libresolv 执行对 dns 服务器的请求。
我也使用本地 dns 缓存。(dnsmasq/未绑定)
dig
例如,当我使用时dig google.com
,请求被缓存,下一个请求使用缓存值。
我们可以在 dnsmasq 日志中看到这一点:
然后我使用res_query
,我得到了这个:
所以看起来来自 dns 服务器的响应没有命中 dns 缓存并且没有被缓存。
有没有办法缓存来自的请求res_query
?
这就是我向 DNS 解析器发出请求的方式:
我想 res_nquery 不会检查本地 DNS 缓存,而 dig 会。
linux - 在 Linux 上以编程方式检索 IPv6 DNS 服务器列表
我正在尝试以编程方式检索 IPv6 DNS 服务器列表。目前我正在使用 libresolv 和下一个代码:
根据 resolv.h,res->_u._ext.nsaddrs 字段应该包含一个带有所需地址的“struct sockaddr_in6 *”数组,但它包含一个 NULL 数组。
IPv4 DNS 服务器列表可通过 res->nsaddr_list 字段访问,但 IPv6 列表始终为空。我已经在 Ubuntu 和 CentOS 上检查过了。IPv6 配置正确。