Fiddler系列教程1:初识Http协议抓包工具
1. Fiddler简介
Fiddler是用一款使用C#编写的http协议调试代理工具。它支持众多的http调试任务,能够记录并检查所有你的电脑和互联网之间的http通讯,可以设置断点,查看所有的“进出”Fiddler的数据(cookie,html,js,css等)。
本文为Fiddler入门教程,主要介绍Fiddler下载安装、Http接口抓包分析及模拟请求方法。
运行环境为Windows 7系统,Fiddler版本为4。(Fiddler有.net 2.0 和 .net 4.0 两种版本,根据自己系统.net framework版本选择相应版本即可)
2. Fiddler安装
1.官网下载
地址:https://www.telerik.com/download/fiddler/fiddler4
2.安装步骤
双击FiddlerSetup.exe即可完成安装
3.启动Fiddler
开始菜单找到Fiddler 4或找到Fiddler安装目录下的Fiddler.exe,运行即可
3. Fiddler配置
首先需要对Fiddler抓取Https请求进行相关配置:
1. 打开Fiddler配置项:Tools –> Options
2. 打开配置项HTTPS,勾选“Capture HTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的安装证书对话框时选择“是”。如果需要监听不可信的证书的HTTPS请求的话,需要勾选“Ignore server certificate errors (unsafe)”。
4. 分析Http请求
4.1 Http消息结构简介
4.1.1 Request请求消息
Request请求消息分为3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之间有个空行, 结构如下图:
其中,第一行中的Method表示请求方法,比如"POST","GET", Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号。当使用"GET" 方法时, body为空
4.1.2 Response响应消息
和Request消息的结构基本一样,Response响应消息的结构同样也分为三部分:第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行, 结构如下图:
HTTP/version-number表示HTTP协议的版本号,status-code 和message 表示Http响应状态码及消息文本,常见的有 200 OK, 302 Found, 403 Forbidden,404 Not Found,500 Internal Server Error等。
4.2 分析Get接口
4.2.1 请求示例
我们在运行Fiddler后,使用Chrome浏览器打开百度首页后,并搜索关键词fiddler
4.2.2 查看Get请求
此时Fiddler会抓取浏览器所有的Http请求,点击任何一条请求均可看到详细信息,包括协议类型,URL,Client及cookie信息。
如打开百度首页,Http请求内容如下:
输入搜索词Fiddler后,百度搜索Http请求如下(可以看到请求关键参数:wd=fiddler):
点击右侧Raw查看请求详细信息:协议类型,请求URL,参数,Headers等,其中GET类型Http接口参数在请求URL中以?打头的key=value形式,多个参数之间以&分割
4.2.3 查看Get响应
点击右下方Raw可以查看详细的响应内容,包括status line,headers及body三部分
4.3 分析Post接口
4.3.1 请求示例
我们在运行Fiddler后,使用Chrome浏览器打开百度首页后,点击“登录”按钮,输入用户名密码后完成登录
4.3.2 查看Post请求
在Fiddler中,点击左侧请求可以查看本次登录请求信息
点击右侧Raw可以查看Post请求详细信息,包括request line,headers及body三部分
4.2.3 查看Post响应
点击右下方Raw可以查看详细的响应内容,包括status line,headers及body三部分。
5. 模拟Http请求
5.1 打开调试页面
运行Fiddler,打开右侧Composer
5.1 模拟Get请求
Get请求相对比较简单,填入URL及必须的Headers信息即可,如我们模拟百度搜索词语lovesoo,流程如下:
选择接口类型为GET,填入URL:https://www.baidu.com/s?wd=lovesoo,后点击Execute执行即可
在Fiddler左侧点击本次Get请求,就可以看到请求及响应详细内容:
5.2 模拟Post请求
这里我们选取一个相对比较简单的Post接口,博客园首页获取编辑推荐文章的editor_pick_count字段接口:
该接口只需要传入一个参数即文章URL,流程如下:
选择接口类型为POST,填入URL:https://www.cnblogs.com/aggsite/EditorPickStat,在Request Body填入{"url":"http://www.cnblogs.com/hohoa/p/7739271.html"},最后点击Execute执行即可
在Fiddler左侧点击本次Post请求,就可以看到请求及响应详细内容:
这样我们就完成了Fiddler的入门教程,从软件下载安装到常见的Get/Post类型Http请求抓包及模拟。
后续会介绍使用Fiddler在手机端抓包教程,敬请期待。
Fiddler系列教程1:初识Http协议抓包工具的更多相关文章
- 初识Http协议抓包工具—Fiddler
1.Fiddler简介 Fiddler是用一款使用C#编写的http协议调试代理工具.它支持众多的http调试任务,能够记录并检查所有你的电脑和互联网之间的http通讯,可以设置断点,查看所有的“进出 ...
- 性能测试-2.Fiddler抓包工具的使用
Fiddler基础知识(此文原文地址) Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修 ...
- 抓包工具 - Fiddler - (一)
<转载于 miantest> Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888 ...
- 【爬虫】网页抓包工具--Fiddler--Request和Response
[爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...
- Fiddler系列教程3:使用Fiddler录制Jmeter性能测试脚本
今天继续给大家带来Fiddler工具的教程3:使用Fiddler录制Jmter性能测试脚本. 我们知道Jmeter本身可以录制脚本,也可以通过BadBoy,BlazeMeter等工具进行录制,其实Fi ...
- 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS
在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...
- Fiddler抓包工具-全网最全教程,没有之一
初识Fiddler fiddler,译为骗子 是位于客户端.服务器端的HTTP代理,是Web调试的利器. 是c#编写的程序 Fiddler主要功能: 监控http.https流量 查看.分析请求内容细 ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...
- fiddler抓包工具教程
Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能 ...
随机推荐
- 创建SpringBoot项目pom.xml文件第一行报错:Non-parseable POM E:\maven\repository\org\springframework\securit
在编辑pom.xml时,第一行有个刺眼红色×,然后在Problems看到这个问题 [ERROR] The build could not read 1 project -> [Help 1]E: ...
- iOS获取UUID
转自:<iOS获取设备的唯一标识的方法总结以及最好的方法> 参考:<获取iOS设备唯一标识> 总结一下: 1.代码采用CFUUID+KeyChain的实现方式. 2.CFUUI ...
- Lua和C++交互 学习记录之三:全局值交互
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3 参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...
- Codeforces Gym - 101102A - Coins
A. Coins 题目链接:http://codeforces.com/gym/101102/problem/A time limit per test 3 seconds memory limit ...
- ios手机域名https协议注意事项
加载网页版链接框架不能用http 1.下载到本地 2.转换为cdn https
- Python - requests https请求的坑
#-*-coding:utf-8-*- # Time:2017/9/25 20:41 # Author:YangYangJun import requests import ssl from requ ...
- python中的静态方法、类方法、属性方法(福利:关于几种方法更好的解释)
该部分的三个属性都是高级方法,平时用的地方不是很多 一.静态方法 静态方法的使用不是很多,可以理解的就看一下,用的地方不是很多 class Dog(object): def __init__(self ...
- change color
关于DataGridView行和列的背景色-前景色设置 1.设定DataGridView全部单元格的Style DataGridView内所有单元格的Style变更,可以使用DataGridVie ...
- WPF触发器(Trigger)
WPF触发器(Trigger.DataTrigger.EventTrigger) WPF中有种叫做触发器的东西(记住不是数据库的trigger哦).它的主要作用是根据trigger的不同条件来自动更改 ...
- php算法,冒泡排序
冒泡排序 /*** *从小到大排列 * 逻辑分析 假设数组 $arr=[a,b,c,d]; * 总数=4; * 比较对象 第几个元素 比较次数 * a 1 3 * b 2 2 * c 3 1 **/ ...