抓包软件 Fiddler 了解一下?

学会如何抓包,是爬虫的必备技能,甚至能够说,不会抓包就等同于不会爬虫。python

那咱们怎样抓包呢?若是直接抓取浏览器上的内容,能够直接使用开发者工具进行抓包,但有个局限,只能抓浏览器的,功能也没有多少。还可使用别的工具,好比 mitmproxy、charles,固然还有今天所说的 Fiddler 。今天要分享的就是如何使用fiddler进行抓包以及它的功能讲解。mysql

1. 下载并安装fiddler

下载地址:www.telerik.com/download/fi…web

这里填写下你的下载目的和国家就能够下载了,安装的话这里就很少说了。正则表达式

2. Fiddler工做原理以及优缺点

图片来自https://blog.csdn.net/DreamTL/article/details/70405368sql

如上图,Fiddler 做为一个代理,先是捕捉到客户端的 request 请求,而后再本身转发到服务器端,服务器接收到请求时,会返回一个响应 response ,Fiddler 仍是会继续捕捉到服务器的响应请求,再来转发给客户端,简单来讲, Fiddler 就是做为一个中间人。编程

优缺点:windows

只支持 http、https、ftp、webscoket 数据流等相关协议的捕捉,没法监测或修改其余数据流,如 SMTP、POP3 协议(邮箱相关的协议),没法处理请求和响应超过 2GB 的数据,还有就是只支持 windows 平台,若是想要支持 mac 的话,建议下载 charles ,不过很吃性能,在我机子上运行下那风扇就想起来了。浏览器

3. Fiddler 功能详解

3.1 如何进行抓包

1)先勾选容许抓取 https 流量服务器

这个就是容许抓取 https 的流量。若是第一次使用,勾选以后会提示你安装一个证书,这个证书就是用来作中间人进行抓包的, Fiddler使用此证书来解密所捕捉到的包,再加密转发到相对应的服务器端或者客户端。网络

若是你尚未安装就点击 Yes 安装便可,若是没有弹出此窗口的也能够点击右上角的 actio 按钮的第一个选项也是能够弹出此个窗口的

上面圈出来的是表示抓取哪一部分的流量。

  1. from all processes:抓取全部进程的流量

  2. from browsers only:只抓取浏览器的流量

  3. from non-browsers only:不抓取浏览器的流量

  4. from remote clients only:抓取远程的客户端,当须要抓取的是手机端的流量,就须要用到这个

2)接下来设置端口号

通常默认便可,这里我设置成了8889。

下面的那个 Allow remote computers to connect 是容许远程的客户端进行链接,若是抓取手机端的也须要勾选。

3)浏览器设置代理服务器

Fiddler 的设置完了,这时候还须要在你的浏览器上设置代理服务器才能进行抓取。

使用 Chrome 浏览器的能够直接使用 SwitchyOmega 插件进行修改便可,操做简单。

点击新增情景模式

选择代理服务器,随后填写任意名字,这里我填写的是 Fiddler,点击建立便可。

而后填写以上内容,代理服务器为本机,端口号为上面在 Fiddler 设置的端口号,填写完在左下角点应用选项才算设置完毕。

设置完以后再在浏览器插件处点击该插件,而后选择该模式便可开始抓包

设置完以后第一次打开多是这样的

关闭 Fiddler 再从新打开就能够了

3.2 进行手机端抓包

手机端的抓包也是很容易的,先是设置好 Fiddler 的容许抓取远程客户端。

这时用手机链接wifi,而后长按修改网络(不一样安卓手机不同)

点击代理,而后点击手动

主机名就写你电脑上的 ip 地址,查看 ip 地址能够在控制台上输入 ipconfig 便可

因为个人电脑也是链接 wifi 的,因此 ip 地址对应的是 无线网络的那个,若是你的电脑是使用网线来进行上网的,那 ip 地址就是 以太网的那个。

填完以后还不能抓取,若是直接抓取会显示证书有问题。

咱们也是须要安装证书才能够正常抓取的。那接下来安装证书

手机浏览器输入 你的ip地址:端口号 进入网址下载证书,如 192.168.1.2:8888, 端口号仍是以前在 Fiddler设置的那个

点击上图箭头的网址进行下载便可,下载完毕以后点击安装便可。

若是你是 miui 系统的机子,就须要进入wifi 设置的界面进行安装

点击 高级设置 --> 安装证书 便可,期间须要密码验证或者设置密码之类的设置便可。

还有一个大坑,就是若是你的机子 是安卓 9 而是 miui 系统(其余系统没测试过)的话,安装了证书也是没用的,在进行抓包的时候仍是会提示证书有问题。安卓 8 版本的我没有测试过,不过安卓 7 版本如下的估计均可以。

弄完了以上的东西就能够抓包了,若是设置完了,网络没了,仍是那样子,第一次设置完须要重启下 Fiddler 软件就能够抓包了。

3.3 抓包内容的介绍

很明显左边的就是捕捉的请求和响应,右边的就是对应请求的详细信息,好比请求头,表单信息,好比上图下面箭头所指的就是表单信息。,若是这些信息看到的内容不多的话,能够直接点击下面的 View in Notepad 按钮就能够在笔记本中显示出来,很是方便。

左边每列表明的含义为:

左边第一列中每一个图片表明的含义为:

3.4 再说几个经常使用的功能

查找:抓包时,常常会抓到一堆不重要的包,而须要找的包夹杂在里面很是难找,因此就能够用关键字来查找,入口为:

也能够直接点击这个

或者直接按快捷键 Ctrl + F 便可

这里的功能很强大,能够只查找请求或者响应或者两个都查,还能够用正则表达式来查找,就不一 一说了。

映射:也就是重定向,将服务器端的响应内容能够更改成客户端上的文件,功能也是很强大,以前我在爬取网易云评论时也是弄过的,有兴趣的能够看看利用python爬取网易云音乐,并把数据存入mysql

在这里填写对应的规则和文件便可

还有一个相似于 postman的功能,就是下面这个

就是在这里模拟请求,有什么须要模拟的话能够先在这里模拟一次,成功以后再用编程去敲出来也是不错的,很是强大。

因为篇幅问题,还有一些功能就暂时不介绍了,等之后用到的时候会说哈,好比断点调试之类的,到时记得时刻关注哦!

相关文章
相关标签/搜索