• 抓包工具fiddler


    1. fiddler

    https://www.yuque.com/haoyi-gjz5j/hnehzl/ci3387

    1. 断点调试,截包 改包

    使用Fiddler断点调试功能,可以修改头信息,请求/响应数据,模拟请求超时等,进而构造不同的测试场景。
    【全局断点,此方法会拦截所有请求】通过在菜单栏中选择Rules规则->Automatic Breakpoints自动断点来设置断点,在菜单栏中设置的断点拦截请求或响应

    • Bofore Requests:在浏览器请求发送到服务器端前进行拦截,修改相关数据后,发送给服务器端,服务器端根据数据返回内容。
    • After Response:在响应返回浏览器前进行拦截,修改相关数据,浏览器接收到伪造的数据后,呈现相应的效果。
    • 如果选择的是Bofore Requests,之后所有的请求都被拦截,选择被拦截的会话,在会话列表右侧,选择Inspectores->WebForms网格视图,在此处可以修改请求参数,Break on Response按钮表示在服务器返回时进行拦截,Run to COmpletion按钮表示继续运行,Choose Responses下拉列表用户自定义返回的内容。
    • 【单个断点,此方法只拦截指定请求网址】快捷命令行输入
      请求前断点 bpu 地址
      响应后断点 bpafter 地址然后Enter
      取消就输入bpu或者bpafter
      在这里插入图片描述

    2. 自定义列

    显示服务器端主机地址,右键会话列表表头,选择自定义列Costomize columns。
    在这里插入图片描述

    3. 常用命令

    Fiddler的QuickExec功能可以通过命令,帮助快速定位会话。打开Fiddler,在session列表下方,黑色的文本框,通过ALT+Q快捷键可以快速激活文本框,以下是常用的命令。

    • =ResponseCode:快速选择指定的HTTP状态码。在文本框输入=404,按下Enter键,Fiddler会将会话列表中所有http状态码为404的会话选中。
    • =Method:快速选择指定HTTP请求方法。在文本框输入=GET(不区分大小写),所有GET请求会话会被选中。
    • @host:快速选择主机中包含指定内容的会话。如在文本框中输入@jd ,nam jd.com,sale.jd.com等也会被选中
    • bold:将命令执行后,所有URL包含指定内容的会话加粗显示,在文本框中输入bold static后,新抓取的url中包含static的将会加粗显示。输入命令前的会话即时符合条件,也不会加粗显示
    • ?search:搜索符合条件的url,在?后面加搜索条件,即写即搜,命中的会话北京会被置灰,按下Enter键后,所有符合条件的会话被选中。
    • 其他常用命令:
      • cls或clear:清除所有会话。
      • dump:保存所有会话。
      • urlreplace A B:将url中的A替换成B
      • select *:选中头信息中包含指定内容的会话
      • tail *:置顶会话列表的行数
      • nuke:清空WinINET缓存和cookie。
      • quit:退出Fiddler。

    4. 抓取https的包

    通过伪造CA证书来欺骗了浏览器和https服务器。大致原理就是在浏览器面前fiddler伪装成为一个https服务器,而在真正的https服务器面前fiddler又伪装成为浏览器,从而实现解密https数据包的目的;

    1. 抓取web端解密https需要手动开启,步骤如下:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    2 . 设置抓取手机端的HTTPS协议包,多设置一个连接后重启
    在这里插入图片描述

    Fiddler端设置完成后,接下来设置手机端。
    进入手机正在使用WiFi的详情页面。代理方式选择“手动”,主机名是Fiddler所在机器的IP,端口是上面设置的8888端口。

    抓APP上的HTTPS请求
    1.如果app都是http请求,是不需要安装证书,能直接抓到的,如果是https请求,这时候手机就需要下载证书了。
    2.打开手机浏览器输入:http://10.224.xx.xx:8888,这个中间的host地址就是ipconfig查到的本机地址。
    3.出现如下画面,点箭头所指的位置,点击安装就可以了。
    在这里插入图片描述

    5. 模拟弱网测试

    在这里插入图片描述
    在这里插入图片描述

    每上传1KB数据,延时300ms
    每下载1KB数据,延时150ms
    计算2G和3G上下行速率
    1KB = 8kb

    2G网络:
    上行:2.7K
    下行:9.6K
    上行:[1/(2.7/8)]X1000=2962ms
    下行:[1/(9.6/8)]X1000=833ms

    模拟2G,修改为如下图所示:
    在这里插入图片描述

    3G网络:
    电信:上行:1.8M 1.8x1024
    下行:3.1M 3.1x1024
    上行:{1/[(1.8x1024)/8]}x1000=4.34ms
    下行:{1/[(3.1x1024)/8]}x1000=2.52ms

    移动:上行:384k
    下行:2.8M
    上行:[1/(384/8)]x1000=20.8ms
    下行:{1/[(2.8x1024)/8]}x1000=2.79ms

    联通:上行:5.76M
    下行:7.2M
    上行:{1/[(5.76x1024)/8]}x1000=1.35ms
    下行:{1/[(7.2x1024)/8]}x1000=1ms
    在这里插入图片描述

    相应修改上方步骤二对应的数值,定义好数值去应用就可以模拟2G和3G进行弱网测试了!

    6. 设置过滤

    在这里插入图片描述

    Show only if URL contains 和 Hide if URL contains 使用方法类似 功能相反。都是url中包含某些字符的filter,多种情况空格分隔。支持正则表达式和完全匹配,如下是个例子,可以简单理解为隐藏所有js和css请求。
    url过滤:REGEX:.(js|css|png|jpg|gif|htmlio|ico|js?.|css?.)$
    在这里插入图片描述

    2. Charles/mitmproxy

    mac推荐使用

  • 相关阅读:
    多卡片效果悬停效果
    Repo简介
    redis雪崩问题
    部署docker image到AWS
    mysql innodb 存储引擎
    ChatGPT-4 Alpha:OpenAI的革命性升级
    codeforces (C++ Simple Design)
    LF-YOLO: A Lighter and Faster YOLO for Weld Defect Detection of X-ray Image
    DeSci:去中心化科学是Web3.0的新趋势?
    [ vulhub漏洞复现篇 ] Apache Log4j Server 反序列化命令执行漏洞 CVE-2017-5645
  • 原文地址:https://blog.csdn.net/weixin_43623871/article/details/126815768