App抓包原理

    1. 客户端向服务器发起HTTPS请求

    2. 抓包工具拦截客户端的请求,伪装成客户端向服务器进行请求

    3. 服务器向客户端(实际上是抓包工具)返回服务器的CA证书

    4. 抓包工具拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,
      将服务器证书替换后发送给客户端。(这一步,抓包工具拿到了服务器证书的公钥)

    5. 客户端接收到服务器(实际上是抓包工具)的证书后,生成一个对称密钥,
      用抓包工具的公钥加密,发送给“服务器”(抓包工具)

    6. 抓包工具拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,
      发送给服务器。(这一步,抓包工具拿到了对称密钥)

    7. 服务器用自己的私钥解密对称密钥,向客户端(抓包工具)发送响应

    8. 抓包工具拦截服务器的响应,替换成自己的证书后发送给客户端

fiddler安装和使用

下载:

https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe

安装:

一路Next

主要界面介绍,如图所示分为三大面板-工具面板-会话面板-监控面板:

会话列表界面:

监控面板在点击会话列表界面的某个请求后会出现下面两个界面:

请求面板:

响应面板:

本地CA证书安装

  • 点击 Tools - Options - HTTPS - 勾选勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS trafic,会弹出安装证书的提示。一路点是或确定安装即可。

  • 重启fiddler,点击右侧Actions,能看一个下拉菜单,点击 Export Root Certificate to Desktop,此时证书会生成到桌面上,名为 FiddlerRoot.cer,点OK保存

  • 点击安装FiddlerRoot.cer

连接手机抓包需要的配置

先设置PC端fiddler:

手机端设置:

  • 手机和电脑处于同一局域网下(电脑手机连接同一个WiFi即可)

  • 将手机代理设置为电脑IP

  • 手机打开浏览器访问代理IP,下载并安装FiddlerRoot certificate

如下图:

开始抓包之前先过滤下host,要不等会看起来比较乱

PC和手机都设置好后,重启fiddler,开始抓包

常用抓包工具

fiddler

mitmproxy

Charles

wireshark

最新文章

  1. 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
  2. RabbitMQ入门教程——.NET客户端使用
  3. 什么时候使用CountDownLatch
  4. SVN与CVS的区别大全(转载)
  5. pycharm 基础教程
  6. MS SQL Server时间常用函数
  7. SQLServer之创建标量函数
  8. drf 教程
  9. 原生js实现双向数据绑定
  10. [UWP]如何使用代码创建DataTemplate(或者ControlTemplate)
  11. 【HDU4507】恨7不成妻
  12. vue:vuex详解
  13. SqlServer 中的触发器
  14. 前端调用接口报错看不到报错响应时 console.dir
  15. IDEA 的 Edit 设置
  16. C++ 虚函数表浅析
  17. 使用 find 命令实现高级排除需求
  18. Python封装
  19. git的安装以及简单使用
  20. go语言之进阶篇成员操作

热门文章

  1. Android 一些注意
  2. Chrome Console API 参考
  3. PHP(六)PHP和HTML混合的一种形式
  4. Oracle EBS Model Function Technical
  5. day15(生成器send方法,递归,匿名函数,内置函数)
  6. 转发一篇能看懂的关于ingress的说明
  7. Zero Clipboard js+swf实现的复制功能使用方法
  8. vscode怎样新建项目
  9. (zxing.net)一维码ITF的简介、实现与解码
  10. PostgreSQL查询数据(连接查询和子查询)