【发布时间】:2014-08-22 06:47:46
【问题描述】:
我正在尝试为我的项目修改 Linux 中 DNS 查找函数的行为,方法是将其设置为在文件中写入随机字符串作为测试。
Linux 使用一些 DNS 解析器功能,主要是 gethostbyname。展望未来,我发现解析器函数位于 glibc6 库中。于是,我下载了它,编译,生成了libresolv.so,libnss_dns.so动态库。然后,我替换了系统上现有的 /usr/lib/x86_64-linux-gnu/。
注意:我发现这些库是通过修改 gethostbyname 代码并再次编译来解决查询的。然后,我看到了哪些动态库发生了变化。
通过创建一个直接使用 res_query 的程序(解析器函数)并使用 -lresolv 进行编译,它可以工作(我使用了 ldd 命令它使用我创建的解析器库)。但是,直接从代码中使用 gethostbyname、使用 wget 或浏览网页我无法正确处理。
我做错了什么?
【问题讨论】:
标签: linux gethostbyname