一、Fiddler1.工具栏中各个按钮的含义
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps1.jpg) ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps2.jpg):配置windows中特定应用的抓包(默认抓取不到) ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps3.jpg):添加备注信息 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps4.jpg):重新发起指定请求 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps5.jpg):清空指定会话内容 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps6.jpg):断点放行 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps7.jpg):模式切换 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps8.jpg):相应数据解码 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps9.jpg):显示会话数 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps10.jpg) ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps11.jpg):抓取指定进程发出的请求 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps12.jpg):关键字查找 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps13.jpg):保存当前的会话数据 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps14.jpg):截图+计时 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps15.jpg):打开浏览器 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps16.jpg):清空缓存 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps17.jpg):加密/解密 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps18.jpg):浮窗显示详细内容
2.任务面板功能详解
![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps19.jpg) ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps20.jpg):fiddler脚本 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps21.jpg):日志 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps22.jpg):过滤规则配置 Use filters:启用过滤规则 Hosts: show only the following hosts 只展示指定的hosts Hide the following hosts:隐藏指定的hosts Flag the following hosts:标记指定的hosts Clients process Request headers Response headers Breakpoints Response status code Response content-type ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps23.jpg):时间线 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps24.jpg):会话数据统计 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps25.jpg):请求+响应详情 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps26.jpg) ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps27.jpg) ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps28.jpg):模拟服务端响应 添加响应规则,抓取到的请求如果满足已启用规则,则会被fiddler拦截,并返回规则中设置的相应内容(请求不会被发送服务器) 可以手动输入规则内容,也可以直接从会话列表中拖拽到autoresponder中 Regex:使用正则表达式进行匹配 Exact:精确匹配 Method:匹配请求方法 Header:匹配请求头 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps29.jpg):模拟客户端请求 可以手动输入规则内容,也可以直接从会话列表中拖拽到composer中 添加规则后,点击execute按钮即可发送请求 ![img](file:///C:\Users\zhouchao\AppData\Local\Temp\ksohtml43056\wps30.jpg):抓取移动端流量
3.断点
在rules菜单下选择automatic breakpoints (1)请求前断点,选择before request(快捷键F11) 请求发出后会被fiddler拦截(此时请求还未被发送到服务端),拦截后就可以修改请求内容,修改完成后点击请求信息窗口中的run to completion按钮或工具栏中的go按钮即可放行(此时修改后的请求会被发送到服务端) (2)响应后断点,选择after response(快捷键Alt+F11) 服务端响应请求后会被fiddler拦截(此时响应内容还未被发送到客户端),拦截后就可以修改响应内容,修改完成后点击响应信息窗口中的run to completion按钮或工具栏中的go按钮即可放行(此时修改后的响应信息会被发送到服务端) (3)关闭断点功能,disabled(快捷键Shift+F11)
4.常用命令
(1)?+关键字,从protocol、host、url三个字段中进行模糊匹配,高亮显示匹配到的请求 (2)@+关键字,从host字段中进行模糊匹配,高亮显示匹配到的请求 (3)<+数字,与body的大小作比较,高亮显示小于指定数字的请求 (4)>+数字,与body的大小作比较,高亮显示大于指定数字的请求 (5)=+状态码,与result作比较,高亮显示等于指定状态码的请求 (6)cls,清空当前会话列表中的所有请求 (7)dump,转存当前会话列表的所有请求数据 (8)Select+空格+关键字,从content-type中进行模糊匹配,高亮显示匹配到的请求 (9)start,开启代理 (10)stop,关闭代理 (11)bpu+空格+关键字,从protocol、host、url三个字段中进行模糊匹配,拦截匹配到的请求 (12)bpm/bpv+空格+method,拦截指定的方法的请求 (13)bps+空格+状态码,拦截指定响应状态码的请求 (14)bpafter+空格+关键字,从protocol、host、url三个字段中进行模糊匹配,拦截匹配到的响应 (15)g/go,放行当前被拦截的请求或响应 (16)Alt+Q:光标定位到命令行的快捷键
5.Fiddler允许移动端抓包
(1)Tools--options--https:全部勾选 (2)Tools--options--connections: 勾选allow remote computers to connect 端口号默认:8888 (3)移动端和PC端在同一个网络下 (4)移动端设置代理ip为PC的ip,端口号为:8888(与fiddler中设置的端口号保持一致) (5)如果要抓https的包,在移动端访问: http://<pc端ip>:8888,下载证书安装,并设置信任证书 (6)如果所有配置都已配好,还是无法正常抓包,可以查看移动设备型号是否需要额外配置
6.模拟弱网
(1)在FiddlerScript中搜索m_SimulateModem,修改上传和下载的延迟时长,即可达到模拟弱网的目的
二、HTTP协议
超文本传输协议 查看网页源代码:鼠标右键选择'查看网页源代码' 常见标签:input img i a button link span http的特点 (1) 无连接(不是不连接,是不保持连接) (2) 媒体独立(约定的 mime-type) (3) 无状态(没有记忆力) http和tcp /ip的区别 (1) tcp协议传输数据,HTTP进行解释 (2) http是无连接,tcp是有连接 (3) http是无状态,tcp是有状态 (4) http是应用层协议,tcp是传输层协议 http请求内容 (1) request Request method: 请求方法 (get post) Request URL: 请求地址 Request headers: 请求头
Content-type:指定接收数据的格式Accept:指定可接受数据类型
Accept-language:指定客户端可接受语言类型 Accept-length:指定客户端可接受的数据长度 Accept-encoding:指定客户端可接受的编码格式 Cookies:存放在客户端本地的身份认证信息 Host:服务器主机地址 User-agent:客户端系统和系统版本,浏览器和浏览器版本 Referer:请求是从哪里发出来的,可以用来鉴别爬虫数据
Request body: 请求体(post 要传的参数一般放在body中进行传输) - Application/x-www-form-urlencoded:表单数据
- Mutipart-form:表单数据(可传文件),
(2) response Response status: 响应状态码 Response headers: 响应头 Response body: 响应体 (3) 常见请求方法 get:从服务器获取信息 传参方式:一般直接在url上面跟要传的参数,参数和路径之间用?间隔,不同参数之间用&间隔 post:修改服务器的信息 传参方式:一般在body 中跟要传的参数
form-data:表单形式,既可以传文本,也可以传文件
**x-www-form-urlencoded:表单形式,只能传文本,不能传文件 ** Raw:支持多种格式:
text:纯文本 javascript:js脚本 json:按照json数据格式的要求传参 html:网页源代码 xml:xml配置文件 binary:二进制文件 put:更新服务器的文档信息 patch:更新服务器文档的局部信息 delete:删除指定页面 head: 获取响应头,无响应体 Connect:预留给代理服务器用来建立连接管道 Options:允许查看服务端性能 Trace:回显服务器的请求,用于测试诊断 资料>>>> https://tool.oschina.net/commons?type=5 https://baike.baidu.com/item/http/243074?fr=aladdin#2 https://germey.gitbooks.io/python3webspider/content/2.1-HTTP基本原理.html
三、Json数据 1.json(javascript object notation------js对象表示法) 是一种轻量级数据交换格式,独立于语言和平台. 2.json语法规则 (1)键值对(同一层中key不能重复) (2)键和值之间用冒号间隔 (3)每组数据间用逗号隔开 (4)值可以是:字符串,数字,数组,对象,bool值,null
四、postman 1.鉴权 (1)鉴权方式:basic-auth(账号密码)、digest-auth(账号密码+realm)、Oauth1.0(customer key+)、Oauth2.0、hawk authentication
|