怎样使用fiddler进行抓包
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样使用fiddler进行抓包相关的知识,希望对你有一定的参考价值。
参考技术A Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。 参考技术B 1、启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框。
2、在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮。
3、在本机命令行输入:ipconfig,找到本机的ip地址。
4、打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”。
5、在“代理”后面的输入框选择“手动”,在“代理服务器主机名”后面的输入框输入电脑的ip地址,在“代理服务器端口”后面的输入框输入8888,然后点击“保存”按钮。
6、然后启动android设备中的浏览器,访问百度的首页,在fiddler中可以看到完成的请求和响应数据。
抓包软件 Fiddler 了解一下?
学会如何抓包,是爬虫的必备技能,甚至可以说,不会抓包就等同于不会爬虫。
那我们怎样抓包呢?如果直接抓取浏览器上的内容,可以直接使用开发者工具进行抓包,但有个局限,只能抓浏览器的,功能也没有多少。还可以使用别的工具,比如 mitmproxy、charles,当然还有今天所说的 Fiddler 。今天要分享的就是如何使用fiddler进行抓包以及它的功能讲解。
1. 下载并安装fiddler
这里填写下你的下载目的和国家就可以下载了,安装的话这里就不多说了。
2. Fiddler工作原理以及优缺点
图片来自https://blog.csdn.net/DreamTL/article/details/70405368
如上图,Fiddler 作为一个代理,先是捕捉到客户端的 request 请求,然后再自己转发到服务器端,服务器接收到请求时,会返回一个响应 response ,Fiddler 还是会继续捕捉到服务器的响应请求,再来转发给客户端,简单来说, Fiddler 就是作为一个中间人。
优缺点:
只支持 http、https、ftp、webscoket 数据流等相关协议的捕捉,无法监测或修改其他数据流,如 SMTP、POP3 协议(邮箱相关的协议),无法处理请求和响应超过 2GB 的数据,还有就是只支持 windows 平台,如果想要支持 mac 的话,建议下载 charles ,不过很吃性能,在我机子上运行下那风扇就想起来了。
3. Fiddler 功能详解
3.1 如何进行抓包
1)先勾选允许抓取 https 流量
这个就是允许抓取 https 的流量。如果第一次使用,勾选之后会提示你安装一个证书,这个证书就是用来做中间人进行抓包的, Fiddler使用此证书来解密所捕捉到的包,再加密转发到相对应的服务器端或者客户端。
如果你还没有安装就点击 Yes 安装即可,如果没有弹出此窗口的也可以点击右上角的 actio 按钮的第一个选项也是可以弹出此个窗口的
上面圈出来的是表示抓取哪一部分的流量。
from all processes:抓取所有进程的流量
from browsers only:只抓取浏览器的流量
from non-browsers only:不抓取浏览器的流量
from remote clients only:抓取远程的客户端,当需要抓取的是手机端的流量,就需要用到这个
2)接下来设置端口号
一般默认即可,这里我设置成了8889。
下面的那个 Allow remote computers to connect 是允许远程的客户端进行连接,如果抓取手机端的也需要勾选。
3)浏览器设置代理服务器
Fiddler 的设置完了,这时候还需要在你的浏览器上设置代理服务器才能进行抓取。
使用 Chrome 浏览器的可以直接使用 SwitchyOmega 插件进行修改即可,操作简单。
点击新增情景模式
选择代理服务器,随后填写任意名字,这里我填写的是 Fiddler,点击创建即可。
然后填写以上内容,代理服务器为本机,端口号为上面在 Fiddler 设置的端口号,填写完在左下角点应用选项才算设置完毕。
设置完之后再在浏览器插件处点击该插件,然后选择该模式即可开始抓包
设置完之后第一次打开可能是这样的
关闭 Fiddler 再重新打开就可以了
3.2 进行手机端抓包
手机端的抓包也是很容易的,先是设置好 Fiddler 的允许抓取远程客户端。
这时用手机连接wifi,然后长按修改网络(不同安卓手机不一样)
点击代理,然后点击手动
填完之后还不能抓取,如果直接抓取会显示证书有问题。
我们也是需要安装证书才可以正常抓取的。那接下来安装证书
点击上图箭头的网址进行下载即可,下载完毕之后点击安装即可。
如果你是 miui 系统的机子,就需要进入wifi 设置的界面进行安装
点击 高级设置 --> 安装证书 即可,期间需要密码验证或者设置密码之类的设置即可。
还有一个大坑,就是如果你的机子 是安卓 9 而是 miui 系统(其他系统没测试过)的话,安装了证书也是没用的,在进行抓包的时候还是会提示证书有问题。安卓 8 版本的我没有测试过,不过安卓 7 版本以下的估计都可以。
弄完了以上的东西就可以抓包了,如果设置完了,网络没了,还是那样子,第一次设置完需要重启下 Fiddler 软件就可以抓包了。
3.3 抓包内容的介绍
很明显左边的就是捕捉的请求和响应,右边的就是对应请求的详细信息,比如请求头,表单信息,比如上图下面箭头所指的就是表单信息。,如果这些信息看到的内容很少的话,可以直接点击下面的 View in Notepad 按钮就可以在笔记本中显示出来,非常方便。
左边每列代表的含义为:
左边第一列中每个图片代表的含义为:
3.4 再说几个常用的功能
查找:抓包时,经常会抓到一堆不重要的包,而需要找的包夹杂在里面非常难找,所以就可以用关键字来查找,入口为:
也可以直接点击这个
或者直接按快捷键 Ctrl + F 即可
这里的功能很强大,可以只查找请求或者响应或者两个都查,还可以用正则表达式来查找,就不一 一说了。
映射:也就是重定向,将服务器端的响应内容可以更改为客户端上的文件,功能也是很强大,之前我在爬取网易云评论时也是弄过的,有兴趣的可以看看。
在这里填写对应的规则和文件即可
还有一个类似于 postman的功能,就是下面这个
就是在这里模拟请求,有什么需要模拟的话可以先在这里模拟一次,成功之后再用编程去敲出来也是不错的,非常强大。
由于篇幅问题,还有一些功能就暂时不介绍了,等以后用到的时候会说哈,比如断点调试之类的,到时记得时刻关注哦!
原创不易,点个好看支持下?
END
往期文章回顾
以上是关于怎样使用fiddler进行抓包的主要内容,如果未能解决你的问题,请参考以下文章