HTTP/HTTPS 请求与防抓包
TCP/IP分层
TCP/IP的分层共分为四层:应用层、传输层、网络层、数据链路层;
- 应用层:向用户提供应用层服务时的通讯活动(ftp、dns、http)
- 传输层:网络连接中两台计算机的数据传输(tcp、udp)
- 网络层:处理网络上流动的数据包,通过怎样的传输路径把数据包传送给对方(ip)
- 网络链路层:与硬件相关的网卡、设备驱动等等
HTTP/HTTPS
HTTP
HyperText Transfer Protocol (超文本传输协议) 被用于在Web浏览器和网站服务器之间传递信息,在TCP/IP中处于应用层
- 通过使用明文,内容可能被窃听
- 不验证通信方的身份,因此又可能遭遇伪装
- 无法证明报文的完整性,所以又可能遭到篡改
HTTPS
HTTPS中的S 表示SSL或者TLS,就是在原HTTP的基础上加上一层用于数据加密、解密、身份认证的安全层
- HTTP + 加密 + 认证 + 完整性保护 = HTTPS
HTTPS单向认证:
HTTPS双向认证:
抓包原理
防抓包:代理检测
检测事发后使用网络代理
将网络库(如okhttp库)设置为无代理模式,不走系统代理
httpURLConnection:
URL url = new URL(urlStr);
urlConnection = (HttpURLConnection)url.openConnection(Proxy.NO_PROXY);
OKHttp
OkHttpClient client = new OkHttpClient().newBuilder().proxy(Proxy.NO_PROXY).build();
怎么抓设置上面后的代码的包?
使用HOOK技术
防抓包:证书固定
SSL-Pinning
- 证书锁定(Certificate Pinning)
在客户端代码内置仅接收指定域名的证书,而不接收操作系统或浏览器内置的CA根证书对应的任何证书。 - 公钥锁定(Public Key Pinning)
提取证书中的公钥并内置到客户端中,通过与服务器对比弓腰值来验证连接的准确性。
如何破解证书固定(SSL-Pinning)
Xposed框架 + justTrustme模块
- Xposed框架:Android 上应用广泛的HOOK框架,基于Xposed框架制作的外挂模块可以hook任意应用层的java函数,修改函数实现。
- justTrustMe插件:justTrustMe是一个用来禁用、绕过SSL证书检查的基于Xposed模块。将Android系统中所有用于校验SSL证书的API都进行来HOOK,从而绕过证书检查
防抓包:解决HOOK
- 检查HOOK:检查Xposed、Frida、Substrate等Hook框架
- 使用Socket连接:使用Socket走TCP/UDP,防止应用层被抓包
- 传输数据加密:协议字段加密传输,并隐藏密钥,应用层加固
- native层传输:将网络传输逻辑写到jni实现,提高反编译门槛
HTTP/HTTPS 请求与防抓包相关推荐
- 【Fiddler学习】Fiddler抓包HTTPS请求和手机抓包
一.安装Fiddler 百度搜索:Fiddler抓包工具,然后安装即可. 然后打开Fiddler工具,打开浏览器随意输入任何网址,就可以在Fiddler看到抓包信息. 但是:默认情况下,Fiddler ...
- ios开发防止App被抓包(一句话实现iOS应用底层所有网络请求拦截(如ajax请求拦截),包含http-dns解决方法,有效防止DNS劫持,用于分析http,https请求,禁用/允许代理,防抓包)
ZXRequestBlock 安装 通过CocoaPods安装 pod 'ZXRequestBlock' 手动导入 将ZXRequestBlock拖入项目中. 导入头文件 #import " ...
- iOS安全之【禁止网络代理】(防抓包) | 蓄力计划
文章目录 引言 划重点 I.iOS APP 不走全局proxy的方案 1.1 隧道APP的请求接口,一些自己特殊接口不走隧道 1.2 hook NSURLSession 进行全局设置 II. 例子:h ...
- Https原理总结及抓包Https的工作原理
Https原理: a.Https == Http + SSL(TSL),SSL是网景公司的命名,TSL为OSI组织接手名的命名 b.要解决的问题:传统HTTP协议可能有三大风险: b.1 被截获并获取 ...
- Android加密通信防抓包,[原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路)...
[旧帖] [原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路) 0.00元 2014-5-12 22:07 1565 [旧帖] [原创]基于Ta ...
- Selenium browser.helperApps.neverAsk.saveToDisk不起效的解决及http请求和响应抓包
1.https://blog.csdn.net/kmanzxbin/article/details/78329751 使用Selenium操作浏览器进行自动化处理,中间用到了下载,但是需要去掉烦人的下 ...
- Android逆向之旅---爆破资讯类应用「最右」的防抓包策略
一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否 ...
- 微信小程序请求webapi调试抓包工具Fiddler以及wx.request请求webapi时web服务器端解析不到code问题
参考链接 https://blog.csdn.net/weixin_40188140/article/details/82851315 https://www.cnblogs.com/chenboyi ...
- Android逆向之旅---爆破一款资讯类应用「最右」防抓包策略原理分析
一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否 ...
最新文章
- Attention!注意力机制模型最新综述(附下载)
- ENVI5.1安装破解教程
- openpyxl写入一行数据_老板让我从几百个Excel中查找数据,我用Python一分钟搞定!...
- oracle数据库导入导出expdp/impdp命令详细操作过程
- 企业级 oracle11G r2 DataGuard 安装配置
- TJOI2018Party
- 3三星闪存刷梅林_三星电子副会长李在镕造访西安
- 使用apt-get autoremove造成的系统无法开机
- 如何有效的保护计算机,如何保护计算机-20210717095143.pdf-原创力文档
- 《汇编语言》总结04 —— 更灵活的定位内存地址的方法
- 【转载】分层开发思想与小笼包
- python输出文件夹路径_python如何获取文件夹下第一层文件的路径,
- Qt 统计文件夹的文件总大小
- 光猫超级帐号密码,重置光猫获取超级帐号密码
- 零基础数学建模学习日记Day1
- ACM1008玛雅日历
- 全量查询与分页查询合二为一的思考
- Subclass in C++ - C++ 中的子类
- aiml php,chatbot:基于 AIML 的 PHP 聊天机器人
- [FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习
热门文章
- FZU 2191 完美的数字
- RK3399使用微雪电子ST7735显示屏
- 史上最全的C盘垃圾深度清洁指南
- revit应用程序无法启动_revit无法运行外部
- arm汇编的学习笔记,对比x86和arm(1)-从最简单的函数谈起
- Python自动化办公:pandas入门教程
- 阮一峰flex 布局
- ESP32 ESP-IDF增加自定义components 注意事项
- Coursera | Grammer and Punctuation(UCI) | Quiz
- NTP服务器时间同步部署 -- 内网环境下,亲测有效.