ios开发防止App被抓包(一句话实现iOS应用底层所有网络请求拦截(如ajax请求拦截),包含http-dns解决方法,有效防止DNS劫持,用于分析http,https请求,禁用/允许代理,防抓包)
2020-02-29 22:01
1936 查看
ZXRequestBlock
安装
通过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];
防抓包Demo演示
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- iOS开发中大部分App的网络数据交换是基于HTTP协议的。本文将简单介绍在Swift中使用HTTP进行网络请求的几种方法。
- iOS应用访问不了网络的解决方法 App Transport Security has blocked a cleartext HTTP
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 用反向代理nginx proxy_pass配置解决ie8 ajax请求被拦截问题 ie8用nginx代理实现跨域请求访问 nginx405正向代理request_uri
- iOS 开发 设置网络请求允许使用http
- iOS 网络请求URL包含中文解决方法
- iOS 网络开发NSURLConnection——使用代理方法发送异步请求
- iOS 9 以后的 http 网络请求不了的解决方法
- iOS 开发 设置网络请求允许使用http
- ios开发事件处理之 四:hittest方法的底层实现与应用
- HTTP代理实现请求报文的拦截与篡改10--大结局 篡改部分的代码分析
- HTTP代理实现请求报文的拦截与篡改1--开篇
- HTTP代理实现请求报文的拦截与篡改2--功能介绍+源码下载
- 输出Bag中的所有记录为一个json数组---精通android、IOS App应用服务程序开发
- 抓包分析HTTP/HTTPS请求,写12306抢票软件
- 【iOS开发-93】GET和POST请求的实现步骤,MD5加密方法
- ios网络学习------2 用非代理方法实现同步post请求
- HTTP代理实现请求报文的拦截与篡改5--将请求报文并转发至服务器
- fiddle2 代理HTTPS请求无效?解决方法。
- iOS开发那些事-iOS网络编程异步GET方法请求编程