zoukankan      html  css  js  c++  java
  • 1、Fiddler基础

    1、抓取https请求

    前言

    fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。

    一、网页不安全

    1.用fiddler抓包时候,打开百度网页:https://www.baidu.com

    2.提示:网页不安全

    二、fiddler设置

    1.打开菜单栏:Tools>Fiddler Options>HTTPS

    2.勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了

    三、导出证书

    1.点右上角Actions按钮

    2.选第二个选项,导出到桌面,此时桌面上会多一个文件:FiddlerRoot.cer,如左侧图。

    四、导入到firefox浏览器

    1.打开右上角浏览器设置》选项》高级》证书》查看证书》证书机构》导入

    2.勾选文件到入

    3.打开文件后,会弹出个框,勾选三个选项就完成操作啦。

    如果还不能成功,那就重启浏览器,重启电脑了。

     2、抓取APP请求

    前言

    fiddler抓手机app的请求,估计大部分都会,但是如何只抓来自app的请求呢?

    把来自pc的请求过滤掉,因为请求太多,这样会找不到重要的信息了。

    环境准备:

    1.电脑上已装fiddler

    2.手机和电脑在同一局域网

    一、设置

    1.fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect。

    2.记住这里的端口号:8888,后面会用到。

    二、查看电脑IP

    1.打开cmd,输入:ipconfig,记住这个IPv4地址。

    >>ipconfig

    三、设置代理

    1.手机设置->WLAN设置->选择该wifi,点右边的箭头(有的手机是长按弹出选项框)。

    2.选择修改网络配置:

    配置主机名:与主机电脑IP地址保持一致

    端口号:8888

    3.保存后就可以抓到来自手机的请求了。

    四、抓APP上的HTTPS请求

    1.如果app都是http请求,是不需要安装证书,能直接抓到的,如果是https请求,这时候手机就需要下载证书了。

    2.打开手机浏览器输入:http://10.224.xx.xx:8888 ,这个中间的host地址就是前面查到的本机地址。

    3.出现如下画面,点箭头所指的位置,点击安装就可以了。

    五、设置过滤

    1.手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。

    2.打开fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾选这个选项就可以了

    ...from all processes :抓所有的请求

    ...from browsers only :只抓浏览器的请求

    ...from non-browsers only :只抓非浏览器的请求

    ...from remote clients only:只抓远程客户端请求

    (注意:如果手机设置代理后,测玩之后记得恢复原样,要不然手机无法正常上网

     3、抓取get和post请求

    前言

    前面两篇关于Fiddler抓包的一些基本配置,配置完之后就可以抓到我们想要的数据了,接下来就是如何去分析这些数据。

    本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出哪些是get,哪些是post了。

    一、get请求

    1.打开fiddler工具,然后浏览器输入博客首页地址:http://www.cnblogs.com/yoyoketang/

    2.点开右侧Inspectors下的Headers区域,查看Request Headers

    3.Request Headers区域里面的就是请求头信息,可以看到打开博客园首页的是get请求

    二、post请求

    1.打开登录首页:https://passport.cnblogs.com/user/signin

    2.输入账号和密码登录成功后,查看fiddler抓包的请求头信息,可以看出是post请求

    三、如何找出需要的请求

    1.打开fiddler后,左边会话框区域刷刷刷的很多请求,那么如何有效的找出自己需要的请求呢?

    2.首先第一步:清屏(cls),在左下角命令行输入cls,清空屏幕

    3.第二步在浏览器输入url地址的时候,记住这个地址,如打开博客首页:http://www.cnblogs.com/yoyoketang/

    在点击登录按钮的时候,不要做多与的操作了,然后查看fiddler会话框,这时候有好几个请求。

    4.如上图,红色框框这个地方就是host地址,红色圈圈地方就是url的路径(yoyoketang),也就是博客首页的地址了,那这个请求就是博客首页的请求了。

    四、get和post请求参数区别

    1.关于get和post的功能上区别就不说了,大家自己查资料,这里主要从fiddler抓包的层面查看请求参数上的区别

    2.get请求的Raw参数查看,主要分三部分:

    --第1部分是请求url地址

    --第2部分是host地址

    --第3部分是请求头部信息header

    3.再查看博客登录请求的Raw信息,post的信息分四部分。

    --前面3块内容都一样,第3部分和第4部分中间会空一行

    --第4部分内容就是post请求的请求body(get请求是没body的)

    4、工具介绍(request、response)

    前言

    本篇简单的介绍下fiddler界面的几块区域,以及各自区域到底是干什么用的,以便于各好的掌握这个工具

    一、工具简介

    1.第一块区域是设置菜单,这个前面2篇都有介绍

    2.第二块区域是一些快捷菜单,可以点下快捷功能键

    3.第三块左边是抓捕的请求会话列表,每一个请求就是一个会话

    4.第四块右边上方区域是request请求的详细信息,可以查看headerd、cookies、raw、json等

    5.第五块右边下方区域就是response信息,可以查看服务端返回的json数据或其它信息

    6.第六块区域左下角黑色的那块小地方,虽然很不起眼,容易被忽略掉,这地方是命令行模式,可以输入简单的指令如:cls,执行清屏的作用等

    二、会话框

    1.会话框主要查看请求的一些请求的一些基本信息,如#、result、protocol、host、url、body、 caching、content-type、process

    2、#:会话框列表最左侧,#号这一栏是代表这个请求大概是什么内容,<>这个符号就是我们一般要测试的请求与响应的类型。

    3.result:这里是服务器返回的代码,如

    --200,请求ok;2xx一般是服务器接受成功了并处理

    --3xx,重定向相关

    --4xx,404最常见的的就是找不到服务器,一般是请求地址有问题

    --5xx,这个一般是服务器本身的错误

    4.protocol:这个是协议类型,如http、https

    5.host:主机地址或域名

    6.url:请求的路径

    7.body:该条请求产生的数据大小

    8.caching:缓存相关

    9.content-type:连接类型

    10.process:客户端类型

    三、Request 和Response

    1.Request是客户端发出去的数据,Response是服务端返回过来的数据,这两块区域功能差不多

    2.headers:请求头,这里包含client、cookies、transport等

    3.webfroms:请求参数信息表格展示,更直观。可以直接该区域的参数

    4.Auth:授权相关,如果现实如下两行,说明不需要授权

    No Proxy-Authorization Header is present.

    No Authorization Header is present.

    5.cookies:查看cookie详情

    6.raw:查看一个完整请求的内容,可以直接复制

    7.json:查看json数据

    8.xml:查看xml文件的信息

    四、decode解码

    1.如果response的TextView区域出现乱码情况,可以直接点下方黄色区域解码

    2.也可以选中上方快捷菜单decode,这样后面的请求都会自动解码了

  • 相关阅读:
    代码的完整性:调整数组顺序使奇数位于偶数前面
    《Java编程思想》笔记 第十一章 持有对象
    《Java编程思想》笔记 第十章 内部类
    《Java编程思想》笔记 第九章 接口
    《Java编程思想》笔记 第八章 多态
    《Java编程思想》笔记 第七章 复用类
    《Java编程思想》笔记 第六章 访问权限控制
    《Java编程思想》笔记 第五章 初始化与清理
    Java 的初始化顺序
    《Java编程思想》笔记 第四章 控制执行流程
  • 原文地址:https://www.cnblogs.com/yaoteng/p/11170596.html
Copyright © 2011-2022 走看看