fiddler笔记

不会抓包,谈何爬虫

fiddler笔记

http原理

fiddler笔记

所谓的http代理,其实就是代理客户机的http访问,主要代理浏览器访问页面。
代理服务器是介于浏览器和web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

fiddler的使用

抓包工具抓取HTTPS的包的时候跟HTTP的直接转发是不同的。所以我们需要配置HTTPS的证书。

fiddler笔记

打开后选择HTTPS,勾选上这个选项,然后勾选上下方出现的两个选项。最后再将弹出的窗口都选择yes

设置

fiddler笔记

  • Capture HTTPS CONNECTs 捕捉HTTPS连接
  • Decrypt HTTPS traffic 解密HTTPS通信
  • Ignore server certificate errors 忽略服务器证书错误
  • all processes 所有进程
  • browsers onlye 仅浏览器
  • nono- browsers only 仅非浏览器
  • remote clients only 仅远程链接

fiddler笔记

  • Trust Root Certificate(受信任的根证书) 配置Windows信任这个根证书解决安全警告

    fiddler笔记

  • Allow remote computers to connect 允许远程连接

  • Act as system proxy on startup 作为系统启动代理

  • resuse client connections 重用客户端链接

操作界面

  • 界面含义

fiddler笔记

1 给session添加一个注释
2 Replay:将目标session再发送一次
3 删除session
4 将断点的session恢复执行
5 Decode:将传输的数据解码成容易阅读的格式
6 Find:查找session
7 Save:将session保存成本地文件
8 Clear Cache:清除缓存

Session窗口

fiddler笔记

  • Session的序号

  • Result:请求的响应状态码

  • Protocol:请求的协议类型

  • Host:域名

  • URL:请求的url

  • Body:响应体的大小

  • Caching:缓存方式

  • Content-Type:响应的数据类型

  • Process:发起请求的进程

  • Comments:注释

  • 同时,每一个session都有不同的颜色,不同的颜色代表不一样的session类型。

    fiddler笔记

Inspectors标签页

fiddler笔记

Filters选项

fiddler笔记

Find查找

fiddler笔记

命令行查找

在Fiddler中同样也是可以使用命令行来进行搜索的,在图中的黑框中输入命令即可。

fiddler笔记

请求 (Request) 部分详解

名称 含义
Headers 显示客户端发送到服务器的 HTTP 请求的,header 显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等
Textview 显示 POST 请求的 body 部分为文本
WebForms 显示请求的 GET 参数 和 POST body 内容
HexView 用十六进制数据显示请求
Auth 显示响应 header 中的 Proxy-Authorization(代理身份验证) 和 Authorization(授权) 信息
Raw 将整个请求显示为纯文本
JSON 显示JSON格式文件
XML 如果请求的 body 是 XML格式,就是用分级的 XML 树来显示它

响应 (Response) 部分详解

名称 含义
Transformer 显示响应的编码信息
Headers 用分级视图显示响应的 header
TextView 使用文本显示相应的 body
ImageVies 如果请求是图片资源,显示响应的图片
HexView 用十六进制数据显示响应
WebView 响应在 Web 浏览器中的预览效果
Auth 显示响应 header 中的 Proxy-Authorization(代理身份验证) 和 Authorization(授权) 信息
Caching 显示此请求的缓存信息
Privacy 显示此请求的私密 (P3P) 信息
Raw 将整个响应显示为纯文本
JSON 显示JSON格式文件
XML 如果响应的 body 是 XML 格式,就是用分级的 XML 树来显示它

断点

设置断点是Fiddler最强大的功能之一,在设置好断点后,Fiddler会捕捉所有经过的消息,我们可以任意修改HTTP请求信息,包括Host、Cookies或表单的数据。可以设置断点修改request,也可以设置断点修改response。

断点方式有两种,一种是通过菜单栏设置全局的断点,一种是通过命令行设置指定的断点

fiddler笔记

全局断点

在菜单栏中选择Rules > Automatic Breakpoints,即可选择断点方式。有两个选择,分别是在请求往服务器发送的时候暂停,和在响应返回到客户端的时候暂停。

指定断点

指定断点需要输入指定的命令来进行断点:
bpu:在指定网页发起请求后暂停。如:bpu www.baidu.com
bpafter:在指定网页返回响应时暂停。
bpm:中断指定请求方式的请求。如:bpm get
bps:中断指定状态码的session。如:bps 200

app抓包

fiddler笔记

1、安装fiddler,并且进行配置:
Tools >> options >> connections >> 勾选 allow remote computers to connect

2、查看本机ip地址:
在cmd窗口中,输入 ipconfig ,查看 以太网 ,可以看到
IPv4 地址……………:192.168.0.104
这个192.168..**(192.168.0.104) 就是你的本机IP

3、确保手机连接了wifi,并且和电脑是在同一个局域网,
在手机中,打开浏览器,访问
http://192.168.0.104:8888
IP:是第二步查看到的ip地址,替换成你自己的IP
port:8888是你在fiddler中配置的
注意:有些浏览器会显示打不开,更换其他浏览器就可以了

4、访问成功的话,会显示:

Fiddler Echo Service
......
......
This page returned a HTTP/200 response
.To configure fiddler as a reverse proxy instead of seeing this
 page, see Reverse Proxy Setup
.You can download the FiddlerRoot certificate

5、点击 FiddlerRoot certificate , 下载 证书

6、安装 证书(不同的手机不同的方式)

  • 部分手机可以直接点击 安装
  • 部分手机需要 设置 >> wifi(或WLAN) >> 高级设置 >> 安装证书 >>
    选中刚刚下载的 证书文件 FiddlerRoot.cer >> 确定
  • 设置(Settings) >> 更多设置 >> 系统安全 >> 从存储设备安装
  • 为证书命名 , 输入自己喜欢的名字,譬如 fiddler ,确定 , 显示 证书安装完成
  • 安装完成后,在 设置(Settings) >> 更多设置 >> 系统安全 >> 信任的凭证 >> 系统和用户2个tab页 >> 用户 >> 可以查看到 DO_NOT_RUST_FiddlerRoot

PS: 不安装证书,抓取http的数据是没问题的,但是抓取不了https的数据

7、手机设置代理(不同的手机不一样)
手机设置 >> wifi(或WLAN) >> 选中连接的网络 >> 代理 >> 手动
主机名:192.168.0.104 这个是刚刚在 cmd 中查看到的电脑的 IP
端口 :8888
不使用网址:这个不用理会
修改完成后,确认

8、打开 fiddler 的抓包,然后在手机端运行要抓包的app,会查看到fiddler中已经可以抓到app的数据了

注意:
1、大部分app都可以直接抓包
2、少部分app没办法直接获取,需要 wireshark、反编译、脱壳 等方式去查找加密算法
3、app抓包一般都是抓取到服务器返回的json数据包

■ Over ■

最后,祝有所学习,有所成长

不使用网址:这个不用理会
修改完成后,确认

8、打开 fiddler 的抓包,然后在手机端运行要抓包的app,会查看到fiddler中已经可以抓到app的数据了

注意:
1、大部分app都可以直接抓包
2、少部分app没办法直接获取,需要 wireshark、反编译、脱壳 等方式去查找加密算法
3、app抓包一般都是抓取到服务器返回的json数据包

■ Over ■

最后,祝有所学习,有所成长

上一篇:PyQt5(三)面向对象结构


下一篇:Oracle Flex ASM和Flex集群