• fiddler抓包的一些基本知识整理


    fiddler常用命令:
    selelct xx: 高亮显示所有的text,js,image等响应类型
    ?xxx:匹配所有url、protocol、host中包含xxx的会话
    =404:选择响应状态码为404的会话
    @host:选择包含指定host的会话
    >6k:高亮所有尺寸大于6KB的会话
    cls:清空所有会话,类似于ctrl+x
    dump:将所有的会话打包成 .zip 压缩包的形式保存到 C 盘根目录下。
    g 或 go:放行所有中断下来的会话。
    hide:将fiddler隐藏;
    allbut或keeponly:跟 select 类似,不过 allbut 和 keeponly 会将所有无关的会话删除。

    功能点:

    AutoResponder:自动回复,将本地资源代替服务端的网络资源传给客户端。添加会话,添加规则,选择正则匹配规则,选择 本地文件,保存。
    composer:组合器,克隆之前的请求。拖动请求至右端,自行修改参数,执行。

    fiddler的工作原理:
    首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。

    第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。

    第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。

    第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。

    第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。

    第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。

    第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。

    第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。

    由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。

    所有发往服务器的请求都会被fiddler截获。
    浏览器打开后就会产生很多进程,每个进程又对应着一个或多个端口,打开一个网页的过程中,操作系统给浏览器的某个进程分配一个端口,动态分配,即为源端口,去访问服务器端的80端口。

  • 相关阅读:
    华为手机内核代码的编译及刷入教程【通过魔改华为P9 Android Kernel 对抗反调试机制】
    AndroidStudio升级到4.0之后,出现Warning: Default Activity not found解决办法
    Python解决gensim加载doc2vec或work2vec向量训练模型文件太慢甚至无法访问的情况
    layui 上传插件控制上传文件个数(换个角度思考问题)
    CDN访问异常重定向
    sql 语句优化
    swipper全屏垂直滚动获取高度问题
    tp6.0相对于tp5.1的变化
    项目打包文件ipa包瘦身
    load和initialize的区别
  • 原文地址:https://www.cnblogs.com/wangyi0419/p/11980362.html
Copyright © 2020-2023  润新知