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