美文网首页
ios开发防止App被抓包(可正常请求)

ios开发防止App被抓包(可正常请求)

作者: 爪爪123 | 来源:发表于2020-06-12 14:18 被阅读0次

    实现iOS应用底层所有网络请求拦截(如ajax请求拦截),包含http-dns解决方法,有效防止DNS劫持,用于分析http,https请求,禁用/允许代理,防抓包
    用到第三方库 ZXRequestBlock
    1,安装
    通过CocoaPods安装

    pod 'ZXRequestBlock'
    

    手动导入
    将ZXRequestBlock拖入项目中。
    导入头文件

    #import "ZXRequestBlock.h"
    

    使用方法
    拦截全局请求

    [ZXRequestBlock handleRequest:^NSURLRequest *(NSURLRequest *request) {
    //拦截回调在异步线程
    NSLog(@"拦截到请求-%@",request);
    dispatch_async(dispatch_get_main_queue(), ^{
    self.blockTv.text = [self.blockTv.text stringByAppendingString:[NSString stringWithFormat:@"拦截到请求--%@\n",request]];
    });
    //在这里可以将request赋值给可变的NSURLRequest,进行一些修改(例如根据request的url过滤单独对一些请求的请求体进行修改等)然后再return,达到修改request的目的。
    return request;
    }];
    

    禁止网络代理抓包(开启后将无法通过网络代理抓包,通过Thor,Charles,Burp等均无法抓取此App的包,且在代理网络下App内部请求不受任何影响)

    [ZXRequestBlock disableHttpProxy];
    

    允许网络代理抓包【默认为允许】

    [ZXRequestBlock enableHttpProxy];
    

    启用HTTPDNS(将会直接从本地或http://119.29.29.29 进行DNS解析,是一种避免DNS劫持的措施)

    [ZXRequestBlock enableHttpDns];
    

    关闭HTTPDNS【默认为关闭】

    [ZXRequestBlock disableHttpDns];
    

    禁止所有网络请求

    [ZXRequestBlock cancelAllRequest];
    

    恢复所有网络请求

    [ZXRequestBlock resumeAllRequest];
    

    相关文章

      网友评论

          本文标题:ios开发防止App被抓包(可正常请求)

          本文链接:https://www.haomeiwen.com/subject/xgigtktx.html