开发中使用代理抓网络请求很正常,那么如何防止被代理抓包呢

可以通过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抓包相关推荐

  1. charles乱码_基于iOS的Charles抓包实践

    奇技指南 在应用开发过程中,通过抓包调试服务端接口的场景时常出现.Charles和Wireshark是开发过程中最常用的两款软件.那么今天,让我们以iOS为例,聊一聊Charles抓包. 本文来自36 ...

  2. IOS使用charles抓包出现unknow

    问题描述: 抓包时遇到APP在测试环境可以抓到包,但是在正式环境抓到的包都是unknow 解决方法: 1.手机和电脑处于同一网络下,手机连接上代理,重新安装证书 按照步骤打开如下图界面, Help-S ...

  3. IOS手机Charles抓包

    1.手机和电脑连接到同一Wifi下 2.电脑启动charles,检查基础设置 Proxy->Proxy Setting: Proxy->SSL Proxy Setting: 3.将手机wi ...

  4. iOS模拟器 Charles抓包

    上面这个吊东西不好用了.  *** 要在模拟器上手动安装证书才可以***

  5. charles抓包ios抓拍教程

    charles抓包ios抓拍教程_百度搜索 https://www.jianshu.com/p/724ef9d3efb6 https://www.cnblogs.com/junhuawang/p/72 ...

  6. iOS Charles 抓包

    iOS Charles 抓包指南 - 从入门到精通_VictorZhang-CSDN博客_charles ios 下载安装包 Download a Free Trial of Charles • Ch ...

  7. ios手机如何安装charles抓包工具证书

    ios手机如何安装charles抓包工具证书 安装证书前提,已经下载好charles 1.打开手机设置–WiFi–配置代理–点击手动–填写(服务器,端口号)–点击存储 不知道服务器和端口号,在char ...

  8. 苹果手机iOS系统关闭抓包或卸载Charles抓包证书步骤

    苹果手机iOS系统关闭抓包或卸载Charles抓包证书步骤 很多小伙伴,抓包完成后,不想再次抓包了,如何关闭呢? 可以最简单的操作,是从手机设置,进入通用 找到通用 下方的 VPN与设备管理,点击进入 ...

  9. Android抓包日记之Charles抓包软件的使用

    本文地址:https://blog.csdn.net/qq_40785165/article/details/119155786,转载请附上此地址 大家好,我是小黑,一个还没秃头的程序员~~~ 敏而好 ...

最新文章

  1. 【机器学习】基于opencv实现目标检测,error LNK2001: unresolved external symbol public: virtual bool CvSVM::train...
  2. 寒假每日一题(提高组)【Week 3 完结】
  3. STL之list学习(2)(list代码实现)(只剩最后一步,迭代器升级!!)
  4. 整理你的个人IT资料库
  5. Java探索之旅(16)——异常处理
  6. lamp mysql数据库设置_LAMP环境搭建图形界面配置MySQL数据库
  7. 如何做好软件开发项目的需求分析
  8. 深度学习----HOI人物交互算法:ICAN
  9. 详解 torch.max 函数
  10. 算法题--字符串排列组合、n皇后、字符出现次数(C++)
  11. 湖南大学计算机学硕经验分享,2021湖南大学计算机专硕备考经验分享
  12. Leap Motion 之Unity 开发指南(一. 基本概念与制作手预制件)
  13. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘xxx‘ 中的标识列插入显式值。 java解决方案
  14. 基于Logistic回归的麻雀搜索算法
  15. VueDemo1:记事簿(v-for、v-on、v-model)
  16. JS获取控制Video
  17. 纯CSS实现一个气泡框
  18. 超大容量低速冷冻离心机XL720R
  19. UI设计中的一致性原则
  20. Shell中if大于等于小于的表示方法

热门文章

  1. Java配置环境变量(下载+安装+配置环境)
  2. java查看线程使用情况,查看java的线程cpu使用情况
  3. 深圳考公务员计算机专业的试卷,2016公务员考试计算机专业模拟试题
  4. 互联网+医疗是机遇也是挑战
  5. 输出姓名对应的电话号码C语言,C语言电话本程序(只是简单的姓名和电话号码增删改查),在线等...
  6. matlab 硬件驱动,基于MATLAB的驱动电路硬件仿真与研究
  7. android 调色板_引入Android常用调色板
  8. Python:读取 csv 文件并插入到 PostgreSQL 数据库
  9. ibm服务器维护重点,IBM服务器存储维护基础知识.pptx
  10. 三十天学会绘画pdf_三十天学会实用画法