Fiddler抓包原理:
客户端(Clients)在与服务器(Servers)通讯过程中,Fiddler作为中间代理,可以监听到客户端发送给服务器的请求和服务器响应给客户端的数据内容。
HTTP(超文本传输协议):
1,用于从万维网服务器传输超文本(资源)到本地浏览器的传送协议;
2,基于TCP的应用层协议,主要用来规定客户端和服务端的数据传输格式,默认端口是80;
3,是基于请求与响应模式的,无状态的,应用层协议。
HTTP协议的请求报文和响应报文:
请求报文组成:请求行,请求头,空一行(格式要求),请求体(请求正文)。
响应报文组成:响应行,响应头,空一行(格式要求),响应体(响应正文)。
请求方法:
Get:请求资源
Post:提交资源
Head:获取响应头
Put:替换资源
Delete:删除资源
状态码:
1XX:提示信息,请求被成功接收
2XX:成功,请求被成功处理 200
3XX:重定向相关 304
4XX:客户端错误 404
5XX:服务端错误 500
安装Fiddler:
Fiddler的下载网址:http://www.telerik.com/download/fiddle
选择填入对应内容,点击Download下载安装。
HTTPS抓包:
菜单栏处 Tools--Options--HTTPS 勾选Decrypt HTTPS Traffic。
安装证书当提示creation of the root certificate was not successful,安装不成功时,
可以通过DOS窗口命令进入 Fiddler 安装目录,然后执行命令:
cd D:\Fiddler
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
Android APP抓包:
连接同一网络,手机设置手动代理,设置输入ip地址(电脑命令行输入ipconfig查看)和端口(fiddler端口8888)。
Fiddler菜单栏Tools > Options > Connections勾选Allow remote computers connect。
要抓取 HTTPS的包,需要打开android设备浏览器,访问http://ipv4:8888/,点击fiddlerroot certificate下载并安装证书。
Fiddler功能介绍
Fiddler界面:
有菜单栏,工具条,会话列表,辅助标签+工具,命令行+状态栏五大部分。
Session List(会话列表):
主要包含了请求的ID编号,状态码,协议,主机名,URL,内容类型,body大小,进程信息,自定义备注等信息。
Statistics(统计):
HTTP请求的性能和其他数据分析,如DNS解析的时间,建立TCP/IP连接的时间消耗等信息。
Inspectors(检查器):
可以多种方式查看请求的请求报文和响应报文相关信息。
AutoResponder(自动响应器):
1,重定向到本地资源;
2,使用Fiddler的内置响应;
3,自定义响应(模拟响应,mock测试)。
Composer(设计):
设计请求,发http数据包工具,可以做简单的接口测试工具。
Filter(过滤器):
过滤请求,含有多种过滤方式。
断点:
请求前断点,响应后断点
全局断点:
菜单栏Rules--Automatic Breakpoints--选择Before Requests(请求前)或After Responses(响应后)
局部断点:
命令行输入,bpu(请求前),bpafter(响应后)
模拟弱网:
菜单栏Rules--performance--Simulate modem Speeds