2

我正在根设备上开发具有系统权限的应用程序。我已经设法以编程方式更改我连接的 WIFI 连接的 DNS 设置。为了检查,我运行应用程序,通过 USB 连接设备并从“adb shell”运行“getprop”命令。应用程序成功更改了会话的 DNS,并且浏览器被阻止使用域连接到任何网站。

我已经安装了一个名为DNS Server的应用程序,它将从我的 Android 设备上运行 DNS Server。我已将 DNS 服务器设置为阻止对特定阴暗网站的请求,并将所有其他请求转发到原始 DNS 服务器,其 IP 地址是从 WIFI 连接设置中提取的。

另一方面,我的应用程序将更改设备的 DNS 设置并指向设备的公共 IP 本身。以这种方式,每个请求都将通过 DNS 服务器应用程序,该应用程序反过来将过滤掉被阻止的网站并将请求转发到原始 DNS 服务器。

问题在于每个浏览器/应用程序请求和 DNS 服务器应用程序之间的连接。从日志中,DNS 服务器正在侦听连接,但没有收到任何请求。有没有其他方法可以实现这一点,或者如果我设置错误,也许有人可以启发我?

在我的应用程序中,我尝试将设备的 DNS 服务器设置为 127.0.0.1(环回),即设备本身的 IP 地址(公共和私有),但没有成功。无法建立连接。

更多信息:DNS 服务器需要一个端口来监听,但我不能全局设置这个端口(我假设每个请求都使用默认的 53 DNS 端口)。

4

0 回答 0