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 请求与防抓包相关推荐

  1. 【Fiddler学习】Fiddler抓包HTTPS请求和手机抓包

    一.安装Fiddler 百度搜索:Fiddler抓包工具,然后安装即可. 然后打开Fiddler工具,打开浏览器随意输入任何网址,就可以在Fiddler看到抓包信息. 但是:默认情况下,Fiddler ...

  2. ios开发防止App被抓包(一句话实现iOS应用底层所有网络请求拦截(如ajax请求拦截),包含http-dns解决方法,有效防止DNS劫持,用于分析http,https请求,禁用/允许代理,防抓包)

    ZXRequestBlock 安装 通过CocoaPods安装 pod 'ZXRequestBlock' 手动导入 将ZXRequestBlock拖入项目中. 导入头文件 #import " ...

  3. iOS安全之【禁止网络代理】(防抓包) | 蓄力计划

    文章目录 引言 划重点 I.iOS APP 不走全局proxy的方案 1.1 隧道APP的请求接口,一些自己特殊接口不走隧道 1.2 hook NSURLSession 进行全局设置 II. 例子:h ...

  4. Https原理总结及抓包Https的工作原理

    Https原理: a.Https == Http + SSL(TSL),SSL是网景公司的命名,TSL为OSI组织接手名的命名 b.要解决的问题:传统HTTP协议可能有三大风险: b.1 被截获并获取 ...

  5. Android加密通信防抓包,[原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路)...

    [旧帖] [原创]基于Taintdroid思想的android ssl\tsl保密通信抓包研究(未成功,分享一下思路) 0.00元 2014-5-12 22:07 1565 [旧帖] [原创]基于Ta ...

  6. Selenium browser.helperApps.neverAsk.saveToDisk不起效的解决及http请求和响应抓包

    1.https://blog.csdn.net/kmanzxbin/article/details/78329751 使用Selenium操作浏览器进行自动化处理,中间用到了下载,但是需要去掉烦人的下 ...

  7. Android逆向之旅---爆破资讯类应用「最右」的防抓包策略

    一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否 ...

  8. 微信小程序请求webapi调试抓包工具Fiddler以及wx.request请求webapi时web服务器端解析不到code问题

    参考链接 https://blog.csdn.net/weixin_40188140/article/details/82851315 https://www.cnblogs.com/chenboyi ...

  9. Android逆向之旅---爆破一款资讯类应用「最右」防抓包策略原理分析

    一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否 ...

最新文章

  1. Attention!注意力机制模型最新综述(附下载)
  2. ENVI5.1安装破解教程
  3. openpyxl写入一行数据_老板让我从几百个Excel中查找数据,我用Python一分钟搞定!...
  4. oracle数据库导入导出expdp/impdp命令详细操作过程
  5. 企业级 oracle11G r2 DataGuard 安装配置
  6. TJOI2018Party
  7. 3三星闪存刷梅林_三星电子副会长李在镕造访西安
  8. 使用apt-get autoremove造成的系统无法开机
  9. 如何有效的保护计算机,如何保护计算机-20210717095143.pdf-原创力文档
  10. 《汇编语言》总结04 —— 更灵活的定位内存地址的方法
  11. 【转载】分层开发思想与小笼包
  12. python输出文件夹路径_python如何获取文件夹下第一层文件的路径,
  13. Qt 统计文件夹的文件总大小
  14. 光猫超级帐号密码,重置光猫获取超级帐号密码
  15. 零基础数学建模学习日记Day1
  16. ACM1008玛雅日历
  17. 全量查询与分页查询合二为一的思考
  18. Subclass in C++ - C++ 中的子类
  19. aiml php,chatbot:基于 AIML 的 PHP 聊天机器人
  20. [FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习

热门文章

  1. FZU 2191 完美的数字
  2. RK3399使用微雪电子ST7735显示屏
  3. 史上最全的C盘垃圾深度清洁指南
  4. revit应用程序无法启动_revit无法运行外部
  5. arm汇编的学习笔记,对比x86和arm(1)-从最简单的函数谈起
  6. Python自动化办公:pandas入门教程
  7. 阮一峰flex 布局
  8. ESP32 ESP-IDF增加自定义components 注意事项
  9. Coursera | Grammer and Punctuation(UCI) | Quiz
  10. NTP服务器时间同步部署 -- 内网环境下,亲测有效.