如何做能教我么,我就是想说设备在网络里面设置了代理,但我的某个请求并不想不走代理
我想说我的钱都放在银行里,但是我做金融交易想绕过国家监管
HTTPS就可以了吧
我明白您的意思,狗神的意思我也清楚,即构造一个自己的socket通讯和协议。我现在想了解另外一个问题:如果在iOS设置里面设置了全局的proxy,在我的APP里某个请求不希望走全局proxy进行http请求,不知道有没有办法做到?希望大神指点
理论上可以。自己在socket层模拟http协议
终于找到不走全局proxy答案了,如果使用的是NSURLSession,把NSURLSessionConfiguration的connectionProxyDictionary属性设置成空字典,请求就不会走全局设置的proxy:
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
configuration.connectionProxyDictionary = @{};
如果仅仅只是不想被fiddler、charles抓包到肉眼可观的详细的http请求,那么使用https不是更简单的方案?或者http请求里面的body自己加密?
https一样能被抓包工具抓包啊,App Store就是例子。body自己加密还得用白盒,系统的加密方法分分钟被逆向
可以可以666
如果使用的是NSURLRequest和NSURLConnection呢?
hook一下你这不就废了
!RemindMe 更新工程代码
这是我的另一个问题,希望自己的某个请求不走全局proxy;发出去的应用不被别人抓包,还是要采用上面说的自己实现协议
公开api没有看到NSURLRequest和NSURLConnection不适用全局代理的,如果你自己开发不想使用NSURLSession,那么你可以使用CFNetwork.framework中CFHTTPStream.h里面的用法
没明白楼主的应用环境,讲道理,IOS本地抓包,你怎么配置都没用,除非你自己写socket吧
没用的,你还是会被破的
不一一回复了,上面snakeninny已经说了要想绕开,只有自己实现协议,用socket写吧。我说的把NSURLSessionConfiguration的connectionProxyDictionary属性设置成空字典并不能绕开抓包,因为hook仍然能够修改方法参数;我的回复目的只是为了解决某些插件开发hook请求,必须要全局走代理服务器,但一些请求,并不希望走代理,因为走代理速度会变慢。至于jjjjjjjerry1983发的文章,原理是一样的,因为NSURLSession本质就是基于CFNetwork开发的。最后说会被■■,当然什么都会被■■,微软、苹果系统都能被■■,只是时间和人员投入和产出的问题。
socket隧道vpn都可以实现,只是比较麻烦
两种方案:
- 通过socket自建请求头。
- 通过
apple
提供的SSL PINNING