用fiddler4 https抓包抓https的包怎么抓求教我的q173793425

安装完 Fiddler 后,我们每次打开浏览器输入 url,Fiddler 便会捕获到我们的 http 请求(Fiddler 是以代理 web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888. 当浏览器打开时 Fiddler 会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的程序)。但是,如果要捕获 https 的请求,我们还需要进行一些额外的设置。
要抓取走 HTTPS 的 JS 内容,Fiddler 必须解密 HTTPS 流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。
首先,打开 Fiddler,在菜单栏中依次选择 【Tools】-&【Fiddler Options】-&【HTTPS】,勾上如下图的选项。
勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 &Export Root..& 按钮,将证书下载到桌面。
接着将证书导入到浏览器。这里以 chrome 举例,依次选择 【设置】-&【管理证书..】 将保存在桌面的证书导入即可(其他浏览器类似,通常有个“证书”选项设置)。
也可以直接双击下载下来的证书,进行安装。
我们打开 ,这时就可以愉快地捕获 https 请求了!
细心的你可能会发现,在 https 的请求中夹杂着一些 http 的请求,并且该 session 的 Host 参数是个诡异的 &Tunnel to”,什么鬼? StackOverflow 里早已有,或者可以直接看,简单地说 fiddler 当做代理转发 https 请求的时候,就会产生 &CONNECT Tunnels&,所以大可忽略它。
ps:据说如果要捕获移动端的 https 请求,在手机上也要安装证书,详见 。可是我好像没设置也可以捕获,不知何故,待查。
随笔 - 245
评论 - 897
Trackbacks - 0用Fiddler在Android上抓HTTPS包
Fiddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点、修改请求与相应的数据等等。。。
简单说下使用方法:
安装后配置端口:Tools-&Fiddler Options-&Connections-&Fiddler listens on port: 8888(默认值)
勾选Allow remote computers to connect
进入Android设备的WLAN连接,长按进入修改网络-&显示高级选项-&添加代理服务器IP和端口即可(运行Fiddler的那台机器)
这个时候Android设备上所有的HTTP请求就会通过Fiddler进行代理转发了,当然我们就可以在Fiddler上对数据包进行分析。。。
最近项目里需要抓取Google Analytics的数据包进行分析,而GA的数据传输都是基于HTTPS的,用Fiddler进行抓包,命令行一直报Warnning,很明显就是由于证书没添加导致握手过程失败:
W/GAv4: Network compressed POST connection error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
我们都知道,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,HTTPS需要申请CA证书,SSL通过CA证书来进行验证并对数据进行加密。
要让Fiddler支持HTTPS包的捕获,我们需要到设置里面将其打开,并把CA证书添加到系统中:
进入Tools-&Fiddler Options-&HTTPS,勾选Decrypt HTTPS traffic
然后通过Actions按钮中的Export Root Certificate to Desktop导出证书文件FiddlerRoot.cer,拷贝至sdcard,然后通过安全-&凭据存储-&从usb存储器安装添加证书。此时会弹出添加证书的Dialog,输入名字点击确定即可。(或者在Android设备通过浏览器进入,点击最下方的FiddlerRoot certificate,然后会弹出添加证书的Dialog。)
设置完后如果没生效把App重启一下再试试,在Fiddler的列表中应该已经出现HTTPS的数据包了。
若导入证书的时候弹出:“输入凭据存储的密码”,则需要先设置锁定屏幕PIN或密码才能使用凭据存储。
本文已收录于以下专栏:
相关文章推荐
今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以...
Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指co...
/android/android-network-sniffer/
主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(...
1.场景还原之Fliddler
Fiddler是一款抓包神器,近日,由于项目中要嵌入H5页面,公司又没专门的UI设计师,所以你懂得,这个任务就要给我喽!可怜的我并没有艺术细胞,所以我想到求助抓...
fiddler进阶使用,断点,修改response等
Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是ch...
手机用fiddler抓包
电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。
一.对PC(笔记本)参数进行配置
1. 配置fiddler允许监听到https(fiddle...
我们在开发过程中通过抓包能够快速的知道我们的http请求的数据,和服务器给我们返回的数据是什么。然后我们可以来判断我们的数据是否正确,请求是否成功,等等的一些工作。//先挖个坑,我们获取到服务器返回的...
从事前端开发的同学一定对 Fiddler 不陌生,它是一个非常强大的http(s)协议分析工具,如果你不知道它是什么,可以自行
Google 一下,本文不再作科普,简单的说它可以代替Chrome开发...
Precondition: 本软件是利用设置代理,在电脑端可以查看利用Fiddler工具可以查看到Android的APP请求的一些信息。
一、首先是Fiddler的下载
下载地址: http:...
他的最新文章
讲师:李江龙
讲师:司徒正美
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)fiddler 手机 https 抓包 - 马兴草的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
fiddler 手机 https 抓包
& 11:06:57
fiddler手机抓包原理fiddler手机抓包的原理与抓pc上的数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https下面开始抓包设置教程设置fiddler抓包File—–&勾选capture traffic设置抓https和解密httpsTools—–&fiddler options—–&https—–&capture https traffic—-&decrypt https traffic—&Ignore
certificate errors由于我们只抓手机的,所以这里选择 from remote clients onlyconnections—–&allow remote computers to connect&由于是手机连接代理,所以勾选allow remote computers to connect&给fiddler安装certmaker插件由于默认的证书不符合和的证书要求,所以,需要下载插件,双击安装后,重启fiddler。注意这一步很重要,必须使用certmaker插件,不要使用默认的证书生成器,否则抓不到包。&设置手机代理手机与pc在同一个网段首先保证手机与pc在同一个局域网中&鼠标到fiddler右上角的Online,查看pc的ip,192.168.1.106&手机ip是,192.168.1.101,跟pc在同一个网段。&设置手机代理找到连接的无线,设置代理,代理ip要与online中的ip一致&手机安装根证书在中,输入, 点击最下边的FiddlerRoot certificate,确定安装。效果至此全部都设置完了,我们来看下效果,以为例,截图是空间“赞”的请求&后续的问题同理,也可以抓取手机qq app版、支付宝、淘宝等,不过手机qq有些走的http2协议,所以抓不到,这种情况就得用wireshark抓包了,不过抓取后,解密是个问题。&wireshark抓手机qq app版的赞请求抓不到https包很多网友问我,按照教程来了,但是抓不到包,关于这个问题,这里统一答复。fiddler抓不到的情况分析fiddler并不是支持全部协议fiddler并不支持全部协议,目前已知的有http2、tcp、udp、websocket等,如果应用走了以上协议,那么fiddler肯定是抓不到的。证书写死在app中,fiddler不能抓取fiddler抓包的原理是中间人攻击,也就是说,两头瞒,欺骗客户端&&欺骗服务器端,如果https证书写死在app里,也就是说,app不信任fiddler颁发给它的证书,app只信任自己的证书,fiddler没法瞒客户端了,因此fiddler也就抓取不到包了。&再多说几句,如果是自己开发的app,开发调试方便起见,可以使用类似wireshark的工具导入服务器证书,抓包解密。修正不能抓取包问题除了上述已知不能抓包的情况,其他情况都应该能抓取。以下是排查,修正问题的步骤。确认能否抓到手机浏览器的首页因为百度是https加密的,所以如果配置正确肯定是可以抓到的。注意,我这里说的是三个条件,手机&&浏览器&&百度网页的首页,这些条件,都得满足 。&手机浏览器的百度首页这个样子。&重新安装证书如果抓不到,可以确定是配置有问题。核实fiddler使用certmarker插件并且在手机上也安装了;如果已安装,则重新安装。 如果还不work,那么,重新生成证书,电脑和手机都重新安装,然后重启fiddler。一般来说,重新安装手机上的证书就解决问题了。抓取&手机百度app&登陆请求效果图&参考&本帖子已过去太久远了,不再提供回复功能。14被浏览2550分享邀请回答1添加评论分享收藏感谢收起m.blog.csdn.net/article/details?id=,fiddler我想是类似的。详细的解决办法等我明天到公司试试,待更新...==================更新===================我刚才试了下, 我好像没遇到你的问题, 遇到了其他的类似问题:Traceback (most recent call last):
File "E:\Work\Python\Fiddler&HTTPS\Python-1.py", line 9, in &module&
res=requests.get("", proxies=proxies,verify=False)
File "C:\Python27\lib\site-packages\requests-2.9.1-py2.7.egg\requests\api.py", line 67, in get
return request('get', url, params=params, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.9.1-py2.7.egg\requests\api.py", line 53, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.9.1-py2.7.egg\requests\sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests-2.9.1-py2.7.egg\requests\sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.9.1-py2.7.egg\requests\adapters.py", line 447, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:590)
各种搜索, 发现有人这样说:他是说, 各种版本的Requests都不支持代理环境下访问https, 计划在2.0之后的版本支持.留言比较老了, 我去搜索了一下最新的:发现2.9.1好像是支持代理情况下访问https的.看下说明文档:还是没有实例体现代理情况下访问https. 实际情况是, 访问就出错.我怀疑还是不支持.因为不知道你具体要做什么, 你可以试试换用其他的库, 或者其他的语言, 参考:14 条评论分享收藏感谢收起查看更多回答

我要回帖

更多关于 fiddler抓https 的文章

 

随机推荐