zoukankan      html  css  js  c++  java
  • 抓包工具Fiddler的简单使用

    HTTP代理

    http代理,就是代理客户机的http访问,主要代理浏览器访问页面

    代理服务器是介于浏览器和web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,

    Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器

    Fiddler

    安装

    官方网站下载安装:https://www.telerik.com/fiddler

    配置HTTPS的证书

    Tools  -->  Options  -->  HTTPS

     

    全部勾选,弹窗都选择yes

    工具栏

    1.给session添加一个注释              

    2.Replay:将目标session再发送一次      

    3.删除session  

    4.将断点的session恢复执行

    5.Decode:将传输的数据解码成容易阅读的格式    

    6.Find:查找session          

    7.Save:将session保存成本地文件

    8.Clear Cache:清除缓存

    Session窗口

     #:Session的序号

    Result:请求的响应状态码

    Protocol:请求的协议类型

    Host:域名

    URL:请求的url

    Body:响应体的大小

    Caching:缓存方式

    Content-Type:响应的数据类型

    Process:发起请求的进程

    Comments:注释

    每一个session都有不同的颜色,不同的颜色代表不一样的session类型

    红色:表示HTTP状态(错误)

    黄色:表示HTTP状态(认证)

    灰色:表示数据流类型CONNECT或表示响应类型为图像

    紫色:表示响应类型为CSS

    藍色:表示响应类型为HTMLe

    绿色:表示响应类型为scripte

    Inspectors标签页

    Transformer:解压方式

    Headers:报头

    TextView:查看文本数据

    Syntax:根据语法格式查看

    ImageView:查看图片

    WebForms:Web表单

    HexView:查看十六进制数据

    Cookies:查看设置的Cookies

    Json:查看json格式数据

    Filters选项

    1:是否使用Filters

    2:Filters的规则是可以保存和加载的,也就是我们可以把规则保存下来以后再用

    3:根据Host域名来进行筛选

    4:根据客户端的进程来进行筛选

    5:根据请求的Headers来进行筛选

    6:断点:Fiddler的断点功能能够让请求在发送后,或者是在返回时暂停,这时候就能够对请求和响应进行相应的修改

    7:根据响应的状态码筛选

    8:根据响应的类型和大小来进行筛选

    9:根据响应的Headers来进行筛选

    Find查找

    1.文本输入框

    2.可以选择搜索的范围,限定在仅Requests或者response中,也可以选择限定在headers或bodies中

    3.是否区分大小写

    4.是否用正则表达式来搜索

    5.仅仅搜索被选中的session

    6.将搜索到的结果高亮,可以选择颜色

    命令行查找

    select命令:搜索相应类型的session,也就是content-type

    ?  命令:根据URL来进行搜索

    =   命令:根据状态码来进行搜索

    @  命令:仅根据域名进行搜索

    断点

    全局断点

    在菜单栏中选择 Rules > Automatic Breakpoints,即可选择断点方式。有两个选择,分别是在请求往服务器发送的时候暂停,和在响应返回到客户端的时候暂停

    指定断点

    指定断点需要输入指定的命令来进行断点:

    bpu:在指定网页发起请求后暂停。如:bpu www.baidu.com

    bpafter:在指定网页返回响应时暂停

    bpm:中断指定请求方式的请求。如:bpm get

    bps:中断指定状态码的session。如:bps 200

    app抓包

    连接网络

    首先确保手机和电脑在同一个网络

    安装fiddler,并且进行配置:Tools >> options >> connections >> 勾选 allow remote computers to connect

    查看本机ip地址:在cmd窗口中,输入 ipconfig  ,查看  以太网 ,可以看到IPv4 地址...............:192.168.0.104,这个就是你的本机IP

    手机连接wifi,并且和电脑是在同一个局域网,在手机中,打开浏览器,访问 http://192.168.0.104:8888  ,有些浏览器会显示打不开,更换其他浏览器就可以了

    访问网页

    访问成功的话,会显示:

    点击  FiddlerRoot certificate , 下载 证书

    安装证书

    部分手机可以直接点击 安装

    部分手机需要 设置 >> wifi(或WLAN) >> 高级设置 >> 安装证书 >>选中刚刚下载的 证书文件 FiddlerRoot.cer >> 确定

    设置(Settings) >> 更多设置 >> 系统安全 >> 从存储设备安装

    为证书命名 , 输入自己喜欢的名字,例如 fiddler  ,确定 ,  显示 证书安装完成

    安装完成后,在 设置(Settings) >> 更多设置 >> 系统安全 >> 信任的凭证 >>系统和用户2个tab页 >> 用户 >> 可以查看到 DO_NOT_RUST_FiddlerRoot

    PS: 不安装证书,抓取http的数据是没问题的,但是抓取不了https的数据

    手机抓包

    手机设置代理(不同的手机不一样)

    手机设置 >> wifi(或WLAN) >>  选中连接的网络 >> 代理 >> 手动

    主机名(IPv4地址):192.168.0.104    这个是刚刚在 cmd 中查看到的电脑的 IP  端口  :8888  不使用网址: 这个不用理会  修改完成后,确认

    打开 fiddler 的抓包,然后在手机端运行要抓包的app,会查看到fiddler中已经可以抓到app的数据了

    大部分app都可以直接抓包

    少部分app没办法直接获取,需要 wireshark、反编译、脱壳 等方式去查找加密算法

    app抓包一般都是抓取到服务器返回的json数据包

  • 相关阅读:
    【Linux】防火墙命令
    【MySQL】mysql分组后重命名
    【SpringBoot】全局配置Long转String,解决前端接收时精度丢失的问题
    【VSCode】vscode运行命令时提示“因为在此系统上禁止运行脚本”
    【Mybatis】mybatisplus代码生成器【逆向工程】搭配Lombok和swagger2
    【Linux】赋予root权限
    【MySQL】mysql模糊匹配多个字段
    idea为新创建的类增加个人注释模板
    【Linux】学习笔记:(一)常用命令大全
    Navicat查看数据库的密码
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11812359.html
Copyright © 2011-2022 走看看