考虑这个假设情况:
Bob和Eve的应用程序安装在同一部iPhone上.Bob的应用程序正在运行并绑定到localhost:8080以监听自己的AJAX调用UIWebView.Eve的应用程序在后台运行,并试图通过向localhost:8080进行AJAX调用来干扰Bob的应用程序.
两个问题:
假设Eve的应用程序知道Bob的AJAX API,她的调用会成功吗?(即localhost上的iOS沙箱流量?)
Eve的应用程序是否有可能嗅到Bob的应用程序正在产生的流量?
有两种可能的方法来实现这一点.由于Eve的应用程序在后台运行,因此Bob的应用程序位于前台,Eve的应用程序在后台连接到它.或者,Bob的应用程序在后台运行,Eve的应用程序在前台连接到它.
默认情况下,iOS会在后台暂停应用程序.如果应用程序使用后台执行,并继续在后台运行,它可以像往常一样访问网络.
您可能希望阅读Apple 关于网络和多任务处理的技术说明中的 "Beyond The Basics"
在Wireshark CapturePrivileges一文的"BSD(包括Mac OS X)"一节中,它指出在BSD系统上我们需要有权访问BPF设备以捕获数据包(读取:嗅探网络流量).只有root(或任何超级用户)才能访问BPF设备,或授予任何其他用户访问它们的权限.
| 归档时间: |
|
| 查看次数: |
2663 次 |
| 最近记录: |