【问题标题】:iOS Firewall ApplicationiOS 防火墙应用程序
【发布时间】:2014-01-15 03:18:18
【问题描述】:

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

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

谢谢

【问题讨论】:

  • 由于这是搜索引擎的首页热门(人们会来这里寻找答案),我想我会在 AskDifferent 上发布一些我的答案的链接阐明这个话题,虽然它们不直接涉及软件开发,而只是一般来说 iOS 上防火墙的可用性/可行性:Does IPFW exist for iOS? - Does iOS have a firewall?

标签: ios iphone port firewall


【解决方案1】:

不,这是不可能的,除非您想编写自己的网络浏览器。

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

如果您希望为越狱的 iOS 设备构建它,那么这可能是可能的,但使用官方 SDK 无法做到这一点。

您可以编写自己的网络浏览器来允许或不允许访问某个站点。如果您希望它在系统范围内用于拨出呼叫,您可能可以使用可以通过您的应用程序控制的代理,但如果有人在 settings.app 中删除了代理服务器,则该应用程序将被通过。

【讨论】:

  • 好吧,我可以允许/禁止应用程序进行互联网访问或数据传输(没有特定端口)
  • 就像我在回答中所说的那样:NO 这不可能。因为你不能在 iOS 的那个级别进行交互。
  • 我的老师说有办法,但他没有告诉我。他说搜索并找到自己。
  • 我可以向你保证,在官方 SDK 中是没有办法的,Stackoverflow 也不是来解决你的作业的。
【解决方案2】:

有一个用于 iphone 的防火墙,称为 Firewall iP 2.0。所以只要你知道如何编码它是可能的。另外,这需要你 JB 你的 iPhone。

【讨论】:

    【解决方案3】:

    来自 2021 未来的答案:

    Apple says 他们本身不需要防火墙:

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

    然而, Apple 在 iOS 8.0 中添加了对 Network Extensions 的支持,您可以使用它来创建内容过滤器(如果防火墙不再是问题,那么您的下一个问题就是):

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

    • 更改系统的 Wi-Fi 配置
    • 将您的应用与热点网络子系统(Hotspot Helper)集成
    • 使用内置 VPN 协议(个人 VPN)或自定义 VPN 协议创建和管理 VPN 配置
    • 实施设备上的内容过滤器
    • 使用内置 DNS 协议或自定义设备上的 DNS 代理创建和管理系统范围的 DNS 配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-18
      • 2022-07-06
      • 2017-01-02
      • 1970-01-01
      • 2016-02-23
      • 2017-12-05
      • 2013-07-11
      • 2017-08-08
      相关资源
      最近更新 更多