ios開發防止App被抓包(可正常請求)


 

實現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];


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM