Fiddler下载地址
https://www.telerik.com/fiddler
注册后下载
安装很简单, 就不带大家过了。一键安装,一路确定就行。只用改动安装路径。
1- 打开Fiddler后。选 No 或直接 x 掉
2- 配置Fiddler证书
选Tools => HTTPS => 勾选框中的选项 => 修改选择器为from all process => 点击右侧Actions => Trust Root Certificate => 一直确定就ok了
1- 打开一个网址
2- 清空Fiddler中的请求(图中框中选择Remove All)
1- 在我们请求一个网址时, 会出现很多这种带锁的请求, 显示443. 此请求为http添加套接字行程https的请求, 可以忽略, 在Fiddler选项卡 Rule中选中Hide CONNECTs以后Fiddler会自动忽略这些请求
2- 同时我们也可以忽略掉图片请求。在Fiddler选项卡 Rule中选中Hide Image Requests以后Fiddler会自动忽略这些请求
3- 如果请求中的包中还有一些与网址无关的请求, 也可以通过(1)右键选中该包(2)Filter Now (3)使用里面的任一规则,忽略掉带此规则的响应包
此时Fiddler抓到的包就是针对该网页的包
我们抓到包后, 需要对所抓到的包进行分析,过滤,调试
1- 如下图, 如果出现响应乱码, 则可通过点击黄色区域进行decode
Fiddler组成
part1: 展示Fiddler找到的包
part2: 指定包的request请求的信息
part3: 指定包的response响应的信息
request请求的信息
我们重点看下Inspectors:
1- Headers: request的header头
2- WebForms: request的请求参数。
3- Hexview: 十六进制的数据
4- Auth: 代理使用情况
5- Cookies: request中提取的Cookie
6- Raw:请求报文。 我们需要模拟的就是这个报文
response响应的信息
1- headers:response的headears头
2- TextView: 文本响应
3- SyntaxView: 结果响应。(主要参考此响应)
Webview: 加载后的响应。(如一些图片渲染的结果页面)
Raw: 响应体
AutoResponder(自响应)操作
1- 进入AutoResponder
2- 勾选以下四个选项
3- 选择Add Rule
4- 选择匹配规则, 有
…1) 精准匹配EXACT(只有完全匹配的url才会获取下面的响应)
…2)regex正则匹配。
5- 选择响应结果。 可以在本地自己构建html页面作为响应内容。
note: 自响应操作是一种强大的调试操作, 通过手动下载响应, 并修改响应内容做一些断点调试或者hook操作
响应断点操作
步骤:
1- Rules => Automatic Breakpoints => after Responses
2- 刷新需要抓包页面
3- 获取主页信息后针对每个断点进行调试
4- 修改指定代码后放开断点。
这也可以作为一种调试手段
重试攻击
重放攻击可以通过查看多次响应的区别有效的判断是否有加密参数
1- 右键需要重试的请求, 选择 Replay => 选择 squentially => 选择需要重放的次数
2- 查看每次请求的是否成功
3- 查看每次请求参数是否变动
第二种方式
再 Composer 中复制之前的请求参数, Execute重新访问
粉丝福利
在最后给大家提供几个反爬情形和爬虫思路
情形一: 我们抓到包后, 进行重试攻击发现无法抓取包。 返回结果异常
思路: 如果刷新页面数据获取正常。 重试时数据不正常, 可以优先看下,刷新页面是, 是否有捆绑请求。 即只有前一个js获取结果后,下一个请求才能正常访问。
实践:将刷新页面时的所有包都重试攻击一下, 如果此时能正常获取结果, 则验证猜想
情形二:重试攻击可以抓取包。 转为python代码后抓取异常
思路: 将python的包进行重放。 如果此时重放攻击也异常, 则说明是参数问题。此时重点考虑参数的顺序, 或参数格式是否正常。
实践:将异常请求参数调至与正常一致。调整后能正常抓包,则是顺序问题。 此时将python中的参数用session的方式进行顺序固定
如果不太明白这两种情形。 后续会有爬虫实例讲解, 到时候详细给大家讲讲