抓包工具学习
Https--对称加密技术+非对称加密技术(RSA)
------------------------------
--- 公钥加密,私钥解密--------
------------------------------
非对称加密用来在我手过程中传输对称秘钥
对称加密技术是握手(传输)完成之后实际使用的通信加密技术
1.客户端像服务器传输对称秘钥
客户端向服务器发起请求获取服务器的证书,服务器向客户端发送证书(证书中包含了服务器的RSA公钥)
客户端生成通信用的对称秘钥
使用服务器发来的RSA公钥加密后传输给服务器
服务器接收到RSA公钥加密后的对称秘钥,用自己的RSA私钥解密
2.fiddler的原理很简单
首先浏览器像服务器发送获取证书的请求,fiddler拦截到这个
请求,并将自己伪造的ca证书发送给客户端,同时向服务器发送请求,获得服务器的ca证书
然后客户端接收到fiddler发送来的ca证书,就将证书里的公钥(fiddler的公钥)对客户端生成的通信秘钥进行加密,发送给服务器。。。
然后fiddler又拦截啦,使用自己的私钥将通信秘钥解密啦,之后使用服务器的RSA公钥对通信秘钥加密后传输给服务器
最后,服务器接受到客户端(实际上是fiddler)发来的对称秘钥,用自己的RSA私钥解密后握手完成,使用对称秘钥加密消息,开始通信
服务器和客户端都以为只有它们双方才知道对称秘钥,实际上它们的对话对于fiddler来说是透明的
3.fiddler设置具体网页断点(其他网页http请求仍然可以正常发送):
QuickExec命令输入框(主页黑色长框)
设置网页断点命令:bpu url
取消断点:bpu
使用键盘上下方向键可以切换QuickExec历史命令
常用命令:
(1)调试类:bps:根据状态码中断响应response eg:bps 500
bpu:中断URL或者URL中包含给定字符串的网页
bpafter:中断URL或者URL中包含给定字符串的网页
bpm/bpv:根据http method中断请求 eg:bpm POST--中断所有的POST请求
(2)筛选类:?sometext:选中URL中包含sometext的session
@host:选中请求中包含指定host的session
cls:清除会话
=http method:选中所有以post/get方式请求的session
select MiME:选中网页内容中包含指定字符创的session eg:select html/select img
命令插件:Fiddler script editor--打断点后可以修改请求参数
在OnBeforeRequest方法中对session对象的url属性进行修改
4.线上文件映射到本地调试
如果发现某个线上的js有一个bug,身边的电脑又没有IDE环境,则可以将这个js文件下载下来到本地修改,然后使用fiddler的auto respinse功能将所有请求线上的js的会话重定向到本地js文件,
5.对本地的服务抓包
在URL中在localhose或127.0.0.1后面加.即可
eg:http://localhost.:8080
6.FiddlerCore做自动化
网页抓包参考博客--fiddler:http://www.cnblogs.com/mawenqiangios/p/5591528.html
手机抓包参考博客--fiddler:http://blog.csdn.net/zshq280017423/article/details/8928616
需要注意的是:
在使用fiddler抓包的时候出现 creation of the root certificate was not successful 这个错误
出现这个错误会导致https包抓不到
1、打开cmd
2、进入fillder的目录
3、执行:makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
4、复制如下代码到本地fiddler安装目录下,新建文件create.bat中,并点击create.bat执行
cd %cd%
makecert.exe -r -ss my -n "CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com" -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
pause