抓包工具

  • Charles
  • Fiddler

Charles使用

下载

  • PC端安装Charles根证书
    help–>SSLProxying–>Install Charles Root Ceriticate
  • 安装Charles根证书到手机
    help–>SSLProxying–>Install Charles Root Ceriticate on a Mobile Device or Remote Browser

注意:安装证书过程中手机wifi设置电脑ip地址代理,否则不会下载证书

  • 在手机浏览器中访问 chls.pro/ssl
  • pc端设置代理https端口
    Proxy–>SSL Proxying Settings

Fiddler使用

下载

  • 确保Android设备和安装Fiddler的电脑连接到同一个WIFI上
  • 配置Fiddler抓取并解密HTTPS包
    Tools–>Fiddler Option -->HTTPS选项勾选"Capture HTTPS CONNECTs" 和"Decrypt HTTPS traffic" . 由于通过WIFI远程连接过来,所以在下面的选项框中选择"…from remote clients only" . 切换到"Connections" 选项卡修改监听端口, 勾选上"Allow remote computers to connect"
  • 设置Android设备,添加上代理服务器
  • 导证书到Android设备
    打开设备自带的浏览器, 在地址栏输入代理服务区的ip和端口导入FiddlerRoot certificate

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双向认证

抓包原理

利用中间人攻击的方式实现。以Charles为例

防抓包策略

1.代理检测

  • 检测是否使用网络代理
  • 将网络库(如OkHttp库)设置为无代理模式,不走系统代理

但是这个方式也可以攻破,对代码进行Hook

2.证书固定

SSL-Pinning

  • 证书锁定(Ceriticate Pinning)

    1. 在客户端代码内置仅接受指定域名的证书, 而不接受操作系统或浏览器内置的CA根根证书对应的任何证书
    2. 证书修改需要重新发布客户端
  • 公钥锁定(Public Key Pinning)
    提取证书中的公钥并内置到客户端中,通过与服务器对比公钥值来验证连接的正确性.

破解SSL-Pinning
Xposed框架+justTrustme模块

  • Xposed框架
    Android上应用广泛的Hook框架,基于Xposed框架制作的外挂模块可以hook任意应用层的java函数,修改函数实现.
  • justTrustMe插件
    JustTrustMe插件是 一个用来禁用、绕过SSL证书检查的基于Xposed模块。将Android系统中的所有用于校验SSL证书的API都进行了Hook,从而绕过证书检查。

3.对抗HOOK

  • 检测Hook:检测Xposed、Frida、Substrate等Hook框架
  • 使用Socket连接:使用Socket走TCP/UDP,防止被应用层抓包
  • 传输数据加密:协议字段加密传输,并隐藏秘钥,应用层加固
  • nvtive蹭传输:将网络传输逻辑写到jni蹭实现,提高反编译门槛

https抓包与防抓包相关推荐

  1. HTTP/HTTPS 请求与防抓包

    TCP/IP分层 TCP/IP的分层共分为四层:应用层.传输层.网络层.数据链路层: 应用层:向用户提供应用层服务时的通讯活动(ftp.dns.http) 传输层:网络连接中两台计算机的数据传输(tc ...

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

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

  3. android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...

    一.HTTP协议和HTTPS协议. (1) HTTPS协议=HTTP协议+SSL协议,默认端口:443 (2) HTTP协议(HyperText Transfer Protocol):超文本传输协议. ...

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

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

  5. Whistle pc抓包,手机抓包,https抓包

    此文章已不再更新,查看最新版文章与更多内容: 右键在新标签页中打开链接. <Whistle pc抓包,手机抓包,https抓包> ----------------------------- ...

  6. Fiddler的HTTPS基本配置 解决无法抓HTTPS包的问题

    Fiddler的HTTPS基本配置 解决无法抓HTTPS包的问题 PS:搜了好些,没一个能打的.还是让我来. 1. 基础安装,直接官网下载,一个exe,直接顺序点击安装好即可. https://www ...

  7. fiddler使用教程+抓包实践+filder抓包APP+HTTPS,PC微信小程序公众号抓包笔记,fidder插件

    fiddler使用教程+抓包实践+filder抓包APP+HTTPS,PC微信小程序公众号抓包笔记,fidder插件 fiddler使用教程 界面 File->captur traffic 开启 ...

  8. 防抓包重放php,超简单最基本的WEB抓包改包重放的方法

    [注意:此文章为博主原创文章!转载需注意,请带原文链接,至少也要是txt格式!] 很多很多刚刚接触的同事问我如何抓包,如果讲用工具可能还涉及什么装证书,熟悉使用工具等等,特别繁琐,这里我透露一个小方法 ...

  9. OKHTTP和retrofit 网络框架集成的有https验证的APP破解抓包

    由于公司需要,批不得以要从友商的APP上面抓些数据来用,根据一般的经验我直接用Fiddler抓包工具来抓,平时抓些基础数据用这个工具还是很坚挺的,使用也很简单.但是连接上手机后具体操作才发现,返回的连 ...

  10. Android安卓进阶之——一文带你了解抓包和反抓包

    今天主要跟大家介绍一下Android的抓包和防止抓包 介绍两款抓包工具,Profiter和Charles. 工具环境: Android Studio 4.2.2 手机Google Pixel 3XL ...

最新文章

  1. Java基础学习总结(22)——异常处理
  2. Android Handler 流程解析
  3. VTK:Filtering之SelectionSource
  4. 获得2007年度的ISA-SERVER MVP
  5. 大厂经验(二):多端可视化埋点解决方案
  6. matplotlib.pyplot分区绘图
  7. struts2多文件动态下载及中文解决方案
  8. windbg 常用命令详解
  9. Asp.Net中OnClientClick与OnClick
  10. 聊聊flink JobManager的heap大小设置 1
  11. 用计算机弹琴慢速度,弹钢琴的速度如何才能快起来?
  12. 2022最新软件测试面试题,看完还怕拿不到offer?
  13. 影片相继撤档“520”,在线票务平台等待下一个“黄金档”
  14. 网页版邮箱提取/采集软件
  15. 解决office2010安装过程出错的问题
  16. 微信公众平台开发(92) 多客服(转)
  17. 第一章Web技术概述
  18. CANoe:CAPL周期发送CANFD报文
  19. Web前端知识CSS(清浮动的方法、CSS精灵图、滑动门)
  20. 陈欧口述:如何凭“四大质疑”将企业做上市

热门文章

  1. 让win10系统不进行自动更新的方法
  2. mvvm oc 框架_IOS开发入门之MVVM框架思想
  3. python之微博批量关注,互粉
  4. 黑马程序员_常见的几个运行时异常
  5. java rtf_Java中存取Rtf文件 | 学步园
  6. wso2 esb 配置mysql_WSO2企业服务总线(WSO2 ESB)介绍
  7. 目前比较流行的网站开发框架有哪些?
  8. z2屏幕坏如何从计算机导出数据,闪回收-手机屏幕坏了如何导出数据?手机屏幕坏了怎么用电脑控制?...
  9. ps补充图像缺失部位
  10. 为什么要使用线阵相机?