美文网首页
防止被抓包

防止被抓包

作者: 牛牛的王大虾 | 来源:发表于2019-04-28 14:33 被阅读0次
  • (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
    {
    //设置代理了
    return YES;
    }
    }

+(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
// 如果是需要验证自建证书,需要设置为YES
securityPolicy.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 如何防止抓包

    iOS 如何防止抓包 1、抓包原理 为了防止被抓包那么就要了解抓包的原理。 其实原理很是简单:一般抓包都是通过代理...

  • 防止被抓包

    (BOOL)getProxyStatus {NSDictionary *proxySettings = NSMak...

  • Android App 防止抓包

    这篇文章谈谈如何防止 App 被抓包 首先我们要知道常用的抓包方式有 Charles 和 Fiddler。他们通过...

  • Fiddler 对App抓包代理问题

    App 防止 Fiddler 抓包小技巧fiddler 抓不到app包 抓不到okhttp/asynchttpcl...

  • Android :如何防止被抓包工具抓包

    需求来源 在公司工作过程中,有时领导会拿竞争对手的APK让我抓包,看看别人的接口请求和返回结果,然后分析这些数据在...

  • iOS移动端防止被抓包

    首先介绍一下在https建立的过程中是如何被中间人抓到包的吧,前提是如果不熟悉https建立连接的过程,先看一下相...

  • 网络安全-------防止被抓包

    1.Ios应用网络安全之https 安全套接字层 (Secure Socket Layer, SSL) 是用来实现...

  • android中如何防止被抓包

    在建立socket连接之前,OkHttp会获取系统的代理信息,如果设置代理,那么通过DNS解析其IP然后使用代理I...

  • ios开发防止App被抓包

    实现iOS应用底层所有网络请求拦截(如ajax请求拦截),包含http-dns解决方法,有效防止DNS劫持,用于分...

  • iOS防止抓包

    #pragma mark - 初步方案,判断是否设置代理,如果设置了代理就视为在抓包 - (BOOL)getPro...

网友评论

      本文标题:防止被抓包

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