如何在Android Lollipop上更改3g / 4g DNS

时间:2015-09-17 20:13:12

标签: android dns android-5.1.1-lollipop

我想永久更改我的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以及域名部分中的内容?

可能有更好的方法,例如更改某些文件或应用补丁。

1 个答案:

答案 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一样工作,因此无论如何都要在下一个连接上覆盖这些值。如果是这样,您需要在每次连接更改时运行该脚本(即,只要移动连接被激活,就要收听该广播并运行脚本)。