Android 安卓-可能实现简单的防火墙强制?

Android 安卓-可能实现简单的防火墙强制?,android,network-programming,Android,Network Programming,这听起来很奇怪,请不要判断这样做是否不切实际,但我需要添加对控制来自Android设备的外部网络流量的支持。不需要有选择性。我基本上需要将设备置于一种模式,即通过WIFI使外部通信静音。(主要)原因是我有一个远程控制的网络应用程序,我需要能够按需将其置于“通信休眠”状态,然后在一段时间后或按需将其“唤醒”。按需方面是远程控制的。因此,需要将设备置于只接受绑定通信的状态 我主要感兴趣的是TCP/UDP对外部流量的阻塞。我对单独的防火墙应用程序不感兴趣。我的应用程序包括一个服务,该服务已经实现了所需

这听起来很奇怪,请不要判断这样做是否不切实际,但我需要添加对控制来自Android设备的外部网络流量的支持。不需要有选择性。我基本上需要将设备置于一种模式,即通过WIFI使外部通信静音。(主要)原因是我有一个远程控制的网络应用程序,我需要能够按需将其置于“通信休眠”状态,然后在一段时间后或按需将其“唤醒”。按需方面是远程控制的。因此,需要将设备置于只接受绑定通信的状态

我主要感兴趣的是TCP/UDP对外部流量的阻塞。我对单独的防火墙应用程序不感兴趣。我的应用程序包括一个服务,该服务已经实现了所需的所有通信代码。我只是需要一些关于如何控制外出交流的建议

仅供参考,我有2.3和4.0两种设备可供使用

我可以让我的服务实现一些基本的防火墙支持吗?可能是设备配置为使用的简单代理?(类似于广告块应用程序)

提前感谢您的建议。如果可能的话,我会尝试在这里分享它的代码

更新:很抱歉,我在这些设备上拥有并需要root用户

关于代理的想法,我真的需要一个黑洞监听端口。如果我可以从我的应用程序设置系统代理设置,当需要禁用外部通信时,我可以启用代理并断开所有连接


如果我不能设置系统代理设置,我必须实现一个工作代理,要求用户配置代理,并在收到连接时相应地控制其行为。

我还可以回答我自己的问题。使用root,您可以包括iptables并进行一些命令行调用来控制流量。请注意,您应该对有状态防火墙概念有一些经验,因为处理出站DENYs会让您感到困惑,除非您确切知道系统/应用程序应该做什么。(随机响应端口等)

代理服务适用于Android设备和允许网络代理支持的版本。不幸的是,并不是我所有的设备都支持它。(我的Ginger Bread设备不支持代理,它只是不在UI中,并且HTTP_代理系统设置的API是只读的)


因此,没有示例代码提供。我正在我的设备上玩iptables。我可能会将其包含在我的应用程序中,这无论如何都需要root。

除非您有root,否则我猜不会。哎呀,我的姜饼2.3.4 Lenovo A1s在WIFI advanced下没有代理设置!ARG。。。我无法使用代理方法,因为无法将系统配置为使用代理方法。。。