普通linux平台上直接读取resolve.conf就可以了,但是android使用key value数据库中的net.dns1以及net.dns2这两个key来代替了这个文件。
adb shell之后通过getprop查看属性,确实有:
[net.dns1]: [a.b.c.d]
[dhcp.eth0.dns1]: [a.b.c.d]
现在我想知道如何用c或者c++代码获取默认DNS服务器的ip?(即上面的a.b.c.d)因为我正在用socket编程做一个DNS resolver,需要与DNS服务器通信。
谢谢大家!!话说android-x86/external/busybox/networking/nslookup.c里面似乎用两行就完成了这个操作:
                sa = (struct sockaddr*)&_res.nsaddr_list[0];
        server = xmalloc_sockaddr2dotted_noport(sa);
但是需要包含/android-x86/external/busybox/include/libbb.h文件,包含之后编译libbb.h出错,哎...