iOS防Charles抓包
开发中使用代理抓网络请求很正常,那么如何防止被代理抓包呢
可以通过CFNetwork
通过ASIHTTPRequest的属性,可以提取出代理设置
代码先搞起来
/**
@param 判断是否设置代理
*/
+ (BOOL)getProxyStatus {
NSDictionary *proxySettings = NSMakeCollectable([(NSDictionary *)CFNetworkCopySystemProxySettings() autorelease]);
NSArray *proxies = NSMakeCollectable([(NSArray *)CFNetworkCopyProxiesForURL((CFURLRef)[NSURL URLWithString:@"http://www.google.com"], (CFDictionaryRef)proxySettings) autorelease]);
NSDictionary *settings = [proxies objectAtIndex:0];
NSLog(@"host=%@", [settings objectForKey:(NSString *)kCFProxyHostNameKey]);
NSLog(@"port=%@", [settings objectForKey:(NSString *)kCFProxyPortNumberKey]);
NSLog(@"type=%@", [settings objectForKey:(NSString *)kCFProxyTypeKey]);
if ([[settings objectForKey:(NSString *)kCFProxyTypeKey] isEqualToString:@"kCFProxyTypeNone"])
{
//没有设置代理
return NO;
}
else
{
//判断模拟器和测试地址了
if ([[self deviceModelName] isEqualToString:@"Simulator"] || [[XTKVersionStorage getModel].appSettings[@"apiHost"] containsString:@"test"]) {
return NO;
}
//设置代理了
[self showBounced];//禁止访问弹框
return YES;
}
}
/**@param 客户端本地做证书校验*/+(AFSecurityPolicy*)customSecurityPolicy{// /先导入证书NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"cer"];//证书的路径NSData *certData = [NSData dataWithContentsOfFile:cerPath];// AFSSLPinningModeCertificate 使用证书验证模式 (AFSSLPinningModeCertificate是证书所有字段都一样才通过认证,AFSSLPinningModePublicKey只认证公钥那一段,AFSSLPinningModeCertificate更安全。但是单向认证不能防止“中间人攻击”)AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];// allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO// 如果是需要验证自建证书,需要设置为YESsecurityPolicy.allowInvalidCertificates = YES;//validatesDomainName 是否需要验证域名,默认为YES;//假如证书的域名与你请求的域名不一致,需把该项设置为NO;如设成NO的话,即服务器使用其他可信任机构颁发的证书,也可以建立连接,这个非常危险,建议打开。//置为NO,主要用于这种情况:客户端请求的是子域名,而证书上的是另外一个域名。因为SSL证书上的域名是独立的,假如证书上注册的域名是www.google.com,那么mail.google.com是无法验证通过的;当然,有钱可以注册通配符的域名*.google.com,但这个还是比较贵的。//如置为NO,建议自己添加对应域名的校验逻辑。securityPolicy.validatesDomainName = YES;NSSet<NSData*> * set = [[NSSet alloc]initWithObjects:certData , nil];securityPolicy.pinnedCertificates = set;return securityPolicy;}
iOS防Charles抓包相关推荐
- charles乱码_基于iOS的Charles抓包实践
奇技指南 在应用开发过程中,通过抓包调试服务端接口的场景时常出现.Charles和Wireshark是开发过程中最常用的两款软件.那么今天,让我们以iOS为例,聊一聊Charles抓包. 本文来自36 ...
- IOS使用charles抓包出现unknow
问题描述: 抓包时遇到APP在测试环境可以抓到包,但是在正式环境抓到的包都是unknow 解决方法: 1.手机和电脑处于同一网络下,手机连接上代理,重新安装证书 按照步骤打开如下图界面, Help-S ...
- IOS手机Charles抓包
1.手机和电脑连接到同一Wifi下 2.电脑启动charles,检查基础设置 Proxy->Proxy Setting: Proxy->SSL Proxy Setting: 3.将手机wi ...
- iOS模拟器 Charles抓包
上面这个吊东西不好用了. *** 要在模拟器上手动安装证书才可以***
- charles抓包ios抓拍教程
charles抓包ios抓拍教程_百度搜索 https://www.jianshu.com/p/724ef9d3efb6 https://www.cnblogs.com/junhuawang/p/72 ...
- iOS Charles 抓包
iOS Charles 抓包指南 - 从入门到精通_VictorZhang-CSDN博客_charles ios 下载安装包 Download a Free Trial of Charles • Ch ...
- ios手机如何安装charles抓包工具证书
ios手机如何安装charles抓包工具证书 安装证书前提,已经下载好charles 1.打开手机设置–WiFi–配置代理–点击手动–填写(服务器,端口号)–点击存储 不知道服务器和端口号,在char ...
- 苹果手机iOS系统关闭抓包或卸载Charles抓包证书步骤
苹果手机iOS系统关闭抓包或卸载Charles抓包证书步骤 很多小伙伴,抓包完成后,不想再次抓包了,如何关闭呢? 可以最简单的操作,是从手机设置,进入通用 找到通用 下方的 VPN与设备管理,点击进入 ...
- Android抓包日记之Charles抓包软件的使用
本文地址:https://blog.csdn.net/qq_40785165/article/details/119155786,转载请附上此地址 大家好,我是小黑,一个还没秃头的程序员~~~ 敏而好 ...
最新文章
- 【机器学习】基于opencv实现目标检测,error LNK2001: unresolved external symbol public: virtual bool CvSVM::train...
- 寒假每日一题(提高组)【Week 3 完结】
- STL之list学习(2)(list代码实现)(只剩最后一步,迭代器升级!!)
- 整理你的个人IT资料库
- Java探索之旅(16)——异常处理
- lamp mysql数据库设置_LAMP环境搭建图形界面配置MySQL数据库
- 如何做好软件开发项目的需求分析
- 深度学习----HOI人物交互算法:ICAN
- 详解 torch.max 函数
- 算法题--字符串排列组合、n皇后、字符出现次数(C++)
- 湖南大学计算机学硕经验分享,2021湖南大学计算机专硕备考经验分享
- Leap Motion 之Unity 开发指南(一. 基本概念与制作手预制件)
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘xxx‘ 中的标识列插入显式值。 java解决方案
- 基于Logistic回归的麻雀搜索算法
- VueDemo1:记事簿(v-for、v-on、v-model)
- JS获取控制Video
- 纯CSS实现一个气泡框
- 超大容量低速冷冻离心机XL720R
- UI设计中的一致性原则
- Shell中if大于等于小于的表示方法
热门文章
- Java配置环境变量(下载+安装+配置环境)
- java查看线程使用情况,查看java的线程cpu使用情况
- 深圳考公务员计算机专业的试卷,2016公务员考试计算机专业模拟试题
- 互联网+医疗是机遇也是挑战
- 输出姓名对应的电话号码C语言,C语言电话本程序(只是简单的姓名和电话号码增删改查),在线等...
- matlab 硬件驱动,基于MATLAB的驱动电路硬件仿真与研究
- android 调色板_引入Android常用调色板
- Python:读取 csv 文件并插入到 PostgreSQL 数据库
- ibm服务器维护重点,IBM服务器存储维护基础知识.pptx
- 三十天学会绘画pdf_三十天学会实用画法