我想永久更改我的dns,最好是使用init脚本。
这是迄今为止我尝试过的任何方式:
setprop net.rmnet0.dns1 8.8.8.8
(过时)
ndc resolver setifdns rmnet0 8.8.8.8 8.8.4.4
(这似乎已经过时了)
这似乎是正确的做法:
ndc resolver setnetdns <netID> <domains> <dns1> <dns2>
但我不知道如何找到rmnet0的netID以及域名部分中的内容?
可能有更好的方法,例如更改某些文件或应用补丁。
答案 0 :(得分:1)
要执行的正确命令取决于所使用的Android版本。由于我对这个答案迟到了,我认为你不再是5.1.1(或6.0)了,答案就是
ndc resolver setnetdns <netId> <domains> <dns1> <dns2> ...
ndc resolver clearnetdns <netId>
ndc resolver flushnet <netId>
其中<netId>
只是rmnet0
。可以在AFWall Wiki中找到大多数版本的列表here。
请注意,单独的第一个命令不会一直停留,直到下一次从WiFi切换到移动数据(我已尝试过)。不确定后续的两个命令是否会使它坚持下去 - 我担心它会像DHCP一样工作,因此无论如何都要在下一个连接上覆盖这些值。如果是这样,您需要在每次连接更改时运行该脚本(即,只要移动连接被激活,就要收听该广播并运行脚本)。