iOS防火墙应用程序



我的最后一个项目是开发一个允许/不允许应用程序通过特定端口进行数据传输的iPhone应用程序。例如我想允许appA通过端口80从我的应用程序传输数据。

有可能制作这样的应用程序吗?如果可能的话,我应该学习哪些库或什么。

感谢

不,除非您想编写自己的web浏览器,否则这是不可能的。

苹果不允许在编写防火墙应用程序所需的级别上与系统进行交互。iOS中的所有应用程序都是沙盒,出于安全和隐私考虑,与操作系统和其他应用程序的交互有限。

如果你想为越狱的iOS设备构建它,那么这可能是可能的,但使用官方SDK是没有办法做到的。

你可以编写自己的网络浏览器,允许访问或不允许访问某些网站。如果你想让它在全系统范围内用于呼出,你可以使用一个可以用你的应用程序控制的代理,但如果有人在settings.app中删除了代理服务器,应用程序就会被绕过。

2021年的未来答案:

苹果表示他们本身不需要防火墙:

因为iOS通过限制监听端口和删除不必要的网络实用程序(如telnet、shell或web服务器)来减少攻击面,所以iOS设备上不需要额外的防火墙软件

然而,苹果在iOS 8.0中增加了对网络扩展的支持,你可以使用它来创建内容过滤器(如果防火墙不再是一个问题,那就是你下一个关心的问题):

使用NetworkExtension框架,您可以自定义和扩展iOS和macOS的核心网络功能。具体来说,您可以:

  • 更改系统的Wi-Fi配置
  • 将您的应用程序与热点网络子系统集成(热点助手)
  • 使用内置VPN协议(个人VPN)或自定义VPN协议创建和管理VPN配置
  • 实现设备上的内容筛选器
  • 使用内置的DNS协议或设备上的自定义DNS代理创建和管理系统范围的DNS配置

iphone有一个防火墙,名为firewall iP 2.0。因此,只要你知道如何编码,这是可能的。此外,这需要你JB你的iphone。

最新更新