首页 > 技术文章 > Fiddler 学习

gxunique 2019-06-06 10:58 原文

Little Skill

Fiddler  

 

官网: https://www.telerik.com/fiddler

 

来自 https://www.cnblogs.com/zhaoyanjun/p/7068905.html

 

1、什么是抓包?

 

不同主机之间的数据通信都是通过网络来进行传输,对那些在网络上传输的数据(发送、请求的数据)进行截获、编辑、转存等操作叫做抓包。抓包可以是抓取电脑端请求的数据,还可以抓取移动端(手机APP)的数据包。

 

2、为什么要进行抓包?

 

通过对网络上传输的数据进行抓取,可以对其进行分析,对于软件的Debug很大的帮助。当然也可以通过抓取用户发送的涉及用户名和密码的数据包来获取用户的密码。

 

3、能够进行抓包的技术原理是什么?

 

一般情况下,数据按照各种网络协议按照一定的格式在网络上进行传输,网络上传输的数据是以帧为单位,在对需要发送的数据进行包装的时候,会把数据的接收方、发送的的地址(MAC地址、IP地址等)一起进行包装并进行发送。根据发送方和接收方的地址,会有一条数据包的传输路径,在这条路径上,发送的数据包,会经过网络上很多台主机,标准的TCP/IP协议是这样处理的:当有数据经过主机时,主机会通过存放在数据包里面的地址来进行判断,这个数据包是否是发送自己的,如果不是发给自己的,主机就不会对它进行解析,简单的进行丢弃(转发)。如果是发送给自己的,那么主机就会对其进行解析和存储。

 

如果想要存储那些不是发送给自己的数据包,可以把网络适配卡设置为杂乱模式。这样它就会接收经过它的每一个数据包了。

 

Fiddler是什么?

Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能帮助你了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。

Fiddler的工作原理

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

 

在之后的正常加密通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?

服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端。
客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。

 

 

 

Fiddler 过虑

https://www.cnblogs.com/zhaoyanjun/p/7068948.html

 

Fiddler 断点

https://blog.csdn.net/x83853684/article/details/80426794

断点修改请求 Request 

Fiddler 命令行输入  bpu 清除所有断点
bpu xxxx 终止xxxx 这个地址的请求信息 

 

https://blog.csdn.net/x83853684/article/details/80462769

断点修改返回Response

Fiddler 命令行输入 bpafter 清除所有断点

bpafter xxx 终止xxx这个地坛的返回信息

 

 

 

 

 

设置代理:

Charles

问题1:

解决:

Proxy——> SSL Proxying Settings

 

问题2:

手机安装证书

解决 :

打开浏览器输入 chls.pro/ssl

 

过滤网络请求:

1、直接在Fillter 上过滤

2、菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加

 

更多相关:http://blog.devtang.com/2015/11/14/charles-introduction/#%E5%B0%86-Charles-%E8%AE%BE%E7%BD%AE%E6%88%90%E7%B3%BB%E7%BB%9F%E4%BB%A3%E7%90%86

推荐阅读