我的最后一个项目是开发一个 iPhone 应用程序,允许 / 不允许应用程序通过特定端口进行数据传输。例如;我想允许 appA 通过端口 80 从我的应用程序传输数据。
是否有可能使这样的应用程序,如果可能的话,哪些库或我应该学习什么。
谢谢
不,这是不可能的,除非你想写自己的网络浏览器。
Apple 不允许在编写防火墙应用程序所需的级别上与系统进行交互。iOS 中的所有应用程序都是沙箱,出于安全和隐私方面的考虑,与操作系统和其他应用程序的交互有限。
如果您希望为越狱的 iOS 设备构建它,那么这可能是可能的,但是使用官方 SDK 没有办法做到这一点。
您可以编写自己的 Web 浏览器,以允许访问某些站点或不允许访问。如果您希望它在系统范围内进行传出呼叫,则可以使用可以通过应用程序控制的代理,但是如果有人删除了 settings.app 中的代理服务器,则该应用程序是通过传递的。
来自 2021 年未来的答案:
Apple says它们本身不需要防火墙:
由于 iOS 通过限制侦听端口并删除不必要的网络实用程序(如 telnet,shell 或 Web 服务器)来减少攻击面,因此iOS 设备上不需要其他防火墙软件
但是,Apple 在 iOS 8.0 中添加了对Network Extensions的支持,您可以使用它来创建内容过滤器(如果防火墙不再是问题,则是您的下一个关注点):
使用 NetworkExtension 框架,您可以自定义和扩展 iOS 和 macOS 的核心网络功能。具体来说,您可以:
更改系统的 Wi-Fi 配置
将您的应用与热点网络子系统集成(Hotspot Helper)
使用内置 协议(个人 )或自定义 协议创建和管理 配置
实现设备上的内容过滤器
使用内置 DNS 协议或自定义的设备上 DNS 代理创建和管理系统范围的 DNS 配置。
有一个名为 Firewall iP 2.0 的 iphone 防火墙。所以这是可能的,只要你知道如何编码它。另外,这需要你 JB 你的 iphone。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(22条)