《严歌苓天浴mobi百度云》百度云,给我。必采纳。

使用Fiddler抓包调试https下的页面 - 推酷
使用Fiddler抓包调试https下的页面
众所周知https技术诞生以来,一个很重要的作用就是加密通信内容。所以在项目团队将业务站点实施完https改造以后,原先使用fiddler进行抓包的美好生活到头了。其实fiddler本身是支持对于https请求的抓包的,同时还能在开发环境不支持https的情况下,将https请求转发到http请求上。 下面让我带大家一起走进科学,只需要对fiddler加点一丢丢特技,让它能够在https的环境下duang起来。
一、启用Fiddler的https捕获功能
打开Fiddler,依次选择Tools-&Fiddler Options-&HTTPS,勾选“Capture HTTPS CONNECTs”和“Decrypt HTTPS traffic”。
点击“OK”以后Fiddler会弹出一个对话框问你是否要让Windows信任Fiddler生成的自签证书,选择“Yes”以后,还会弹出一些对话框,直接“Yes”或“Ok”即可。
将PC浏览器的代理设置为127.0.0.1:8888(Fiddler默认代理)以后,随便访问一个https网站就可以在Fiddler中看到对应的请求,和正常访问http几乎相同。
Reference:Fiddler这里其实是利用类似中间人欺骗的方法,让系统信任Fiddler生成的自签证书,之后所有通过Fiddler的https请求均会被Fiddler“篡改”重新使用Fiddler生成的证书加密,以达到监听https的目的。
二、在手机上安装Fiddler证书(以iOS为例)
在iOS中使用全民Wi-Fi或类似技术连接上Fiddler,并设置代理服务器。然后打开浏览器,输入网关IP(即设置的代理服务器IP,PC的IP地址)+:8888。例如我的手机在连接上全民Wi-Fi以后,分配到的网关IP是127.16.0.1,那么直接在Safari中输入 http://127.16.0.1:8888 ,浏览器会打开如下的页面:
点击页面最下方的FiddlerRoot certificate,iOS会打开安装证书页面:
点击右上角Install,iOS会让你输入手机的PIN密码。这时iOS可能会弹出一个Warning/警告信息,提醒你正在添加的证书无法验证。忽略之,继续点上角的Install即可安装完成。完成安装证书以后,就可以在iOS上直接访问https地址,所有的请求对于Fiddler来说也都是透明的了。 如果需要删除之前添加的证书,只需要在iOS上打开“Settings”-&“General”-&&Profile&,当中列出了用户手机上已经安装的证书,选择“DO_NOT_TRUST_FiddlerRoot”删除之即可。
三、瞒天过海让nodejs直接支持https
nodejs一种比较主流的架构是在服务器上直接运行一个非80/443端口的服务,再使用nginx反向代理对外提供服务。用这种方法nodejs层面完全不需要考虑https及相关的技术问题,所有的https请求均由nginx去处理。在这种情况下,我们的开发环境一般不会额外安装nginx去处理https请求,那么我们需要如何让nodejs支持https请求呢?
我们知道https通信在开始时会发送一个METHOD为CONNECT的请求,让服务器将证书以及相关的信息返回给浏览器,在没有得到这些信息之前,浏览器是不会信任服务器发来的任何数据的。So现在我们要让Fiddler帮我一起骗过浏览器,让他心甘情愿把数据交出来。
打开Fiddler,在右侧的选项卡中找到FiddlerScript页签(没有找到FiddlerScript页签的同学请移步
下载安装即可),从Go To后的下拉列表中选择“OnBeforeRequest”。在这里我们可以看到很多很多的。。。。。代码,然后都不用管它,直接拉到OnBeforeRequest方法的结尾。
FiddlerScript使用的语言JScript.Net是一个以JavaScript为基础,长得有点像C#,Editor和VB很像的一个杂交体,本质上来说和JavaScript差别不大,有兴趣的同学可以参考
这篇文章。
在OnBeforeRequest方法的结尾加入如下代码:
static function OnBeforeRequest(oSession: Session){
var hosts = 'zkd.me develop.dog';
FiddlerApplication.Log.LogFormat(&Logger session {0}, Url: {1}, isHttps: {2}, port: {3}&, oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);
if(hosts.indexOf(oSession.host) & -1){
FiddlerApplication.Log.LogFormat(&Capture session {0}, Url: {1}, isHttps: {2}, port: {3}&, oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);
if(oSession.HTTPMethodIs('CONNECT')){
FiddlerApplication.Log.LogString('create fake tunnel response');
oSession['x-replywithtunnel'] = 'FakeTunnel';
if (oSession.isHTTPS){
FiddlerApplication.Log.LogString('switch https to http request');
oSession.fullUrl = oSession.fullUrl.Replace(&https://&,&http://&);
oSession.port = 80;
FiddlerApplication.Log.LogFormat(&Processed session {0}, Url: {1}, isHttps: {2}, port: {3}&, oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);
FiddlerApplication.Log.LogFormat(&Logger session {0}, Url: {1}, isHttps: {2}, port: {3}&, oSession.id, oSession.fullUrl, oSession.isHTTPS, oSession.port);
hosts变量定义的域名就是我们想让Fiddler帮我们一起欺骗浏览器的域名。点击FiddlerScript界面左上角的“Save Script”,伴随着一声“滴咚”,配置就生效了。 这段代码的作用是判断如果这些指定的域名上有从浏览器传来CONNECT的请求时,直接返回一个假的Response,这时Fiddler不会再试图去让请求的实际响应者回应这个CONNECT请求,而是自己返回了一个请求。浏览器在收到这个请求以后不明就里,认为是服务器已经返回了安全信息,于是便愉快地继续发送请求。Fiddler在收到之后的请求,会将URL中的https替换为http,端口强制更换为80,再发给请求的实际响应者。 下图可以比较容易看出Fiddler在这一过程中扮演的角色。
总之,只要通过上述不太复杂这一系列的特技,就可以让Fiddler帮助我们在https环境下方便地进行debug,大家学会了吗?
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致Fiddler数据抓包工具基本使用方法
时间: 10:02来源:作者:网络
,web调试工具,可进行http、https监控修改等操作。
Fiddler本质就是做为web代理服务器(127.0.0.1:8888)存在 ,在启动时自动设置HTTP代理为自身地址监听所有通过的数据。
FF需手动设代理为127.0.0.1:8888,或者启用安装fiddler时自动安装的插件fiddler hook。
使用本机localhost测试时加&.&(如:http://localhost.:2391/view/&)。
界面(常用操作粗体):
常用菜单(建议使用快捷键和工具栏):
File,开户暂停捕获会话(F12),会话存档/加载存档
Edit,复制信息,移除捕获(Del、Ctrl+X),标识颜色,解除编辑锁定(F2),查找会话
Rules,隐藏捕获,为所有Request/Response加断点,编辑规则(CustomRules.js),取消编码
Tool,设置,清缓存,编码工具(TextWizard)
View:界面视图切换
对应菜单中常用操作
左侧会话列表:
可快捷菜单进行相应编辑、重发请求、会话比较
可直接按数字键选中相应会话
左下QuickExec命令行:
help:打开官方的使用页面介绍,所有的命令都会列出来
cls:(=ctrl+x=清屏), &
select:选择会话的命令
?.js &用来选择js文件
bpu:暂停指定的request(bpu www.**.com/action/add,&bpu无参时取消断点)
bpafter:暂停指定的response(bpafter www.**.com/action/add, bpafter无参时取消断点)
右侧窗口:
Stastics:统计选中的一个或多个请求相关数据,大小、耗时
Inspectors:多种方式查看Request或者Response的详细消息
AutoResponder: 设置一些规则将符合规则的请求指向本地。
Composer:创建发送HTTP请求
Filters:设置会话过滤规则,
Timeline:网络请求时间
界面所有内容,菜单操作一遍
实战(有问题查官网文档)
& &-&Filters视图设置过滤会话
& &-&修改已捕获会话数据重新发起请求(F2修改数据后,快捷菜单-Replay-Ressiue Requests)
& &-&暂停指定请求/返回进行数据修改(bpu/bpafter命令)
& &-&Composer视图创建定制请求
& &-&查看压缩过的会话内容(Decode)
& &-&将指定请求转向到本地(AutoResponder视图或编辑CustomRules.js文件)
和小伙伴们交流分享
同类工具:
httpwatch,&charles,&wireshark当前位置: >
接口测试基础(fiddler、postman工具的使用)(持续更新中)
来源:CNBLOGS & 发布时间:
& 作者:网友 &
浏览次数:
摘要: 写在前面:本文主要的章节规划:
1.什么是接口测试
另外,有的时候会直接调用别的公司的接口,比如银行的、淘宝的、支付...
写在前面:本文主要的章节规划:
1.什么是接口测试
&&&另外,有的时候会直接调用别的公司的接口,比如银行的、淘宝的、支付宝的,此时也需要做接口测试以及验证数据;
做接口测试的好处:&&&
&&&&get和post请求是用的最多的
get和post请求的区别
&&&从表面上看,GET后面跟的数据要比POST请求多很多!而&(接入来自fiddler) & & & & & & & &&
get和post提交的数据哪个更大一些呢?get是通过地址栏来提交数据的,post是通过WebForm以表单的形式提交的,因为地址栏能输入数据的大小是有限制的,所以一般情况下认为post提交的数据更大一些!
get和post哪个更安全?通过WebForm以表单的形式提交数据的post请求更安全
2.接口测试流程
接口测试流程中的重点是什么?
为什么要设计测试用例?
接口测试用例设计的着手点:&&&
1.功能用例设计的测试点:1.功能是否正常;2.功能是否按照接口文档实现
2.逻辑业务用例设计的测试点:1.是否依赖业务(比如“下单”操作要判断是否已经登录成功)
3.异常用例设计的测试点:&&
&&(参数异常-3.多参数)
&(数据异常-1.关键字数据)
(数据异常-2.数据为空)
4.安全用例设计的测试点:&&
4.1,cookie在像“下单”这样的逻辑业务中会用到;如此图:
4.2,header特别是在移动端,为了安全考虑,会把header信息加进去;&&
4.3,唯一识别码,只在测试移动端接口的时候会用到,和header类似,应用会有一个唯一识别码,把手机的唯一识别码发送到服务端作为唯一的验证,如果是冒充的、或者说数据库中不存在,也会给出错误的提示信息;
3.接口测试工具的介绍与使用
3.1,接口测试工具的重要性 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 3.2,接口测试工具分类
& & 手工测试接口效率很低 & & & & & & & & & & & & & & & &工具测试效率高、质量好 &
& & & && & & & & & & & &&
选择合适的接口测试工具能提高效率,保证质量;但是没有从实际情况出发,选择使用不当的工具反而会有相反的效果
&& & & && & & &&&
3.2,接口测试工具分类介绍
3.2.1,抓取接口工具:
httpwatch:集成在firefox和IE浏览器里的一个插件 & & & & & & wireshark:功能比较齐全,比较庞大的工具,无论是http的 & & & &fiddler:轻量级的、功能比较齐全,只会记录
除非有必要时选择,一般情况下不选择 & & & & & & & & & & & & & & & 还是tcp的请求都能抓取到,不推荐使用 & & & & & & & & & & & & & & & &http请求,可以独自用来完成接口测试
是抓包工具的不二选择,还有其他功能:添加、筛选、切换host,接口测试等;
3.2,测试接口工具:
&&&&&,其中postman是最常用的;
3.3,fiddler的运用
fiddler的优点:&&
什么是fiddler?
fiddler是一个http协议代理调试工具,它能够记录并检查所有你的电脑和互联网之间的http通讯、设置断点,检查所有“进出”fiddler的数据;
fiddler的工作原理:fiddler在电脑端设置代理,电脑发出的所有http请求都会经过这个代理,代理收到http请求之后再把收到的http请求发给服务器,服务器接受到http请求后进行处理并把处理后得到的数据返回给fiddler,fiddler把数据再返回给电脑端;
fiddler的布局:
fiddler的运用:
1.查看接口请求方式:;2.查看请求数据、响应数据:
3.接口返回状态:(200代表返回成功,还有其他的状态如:500、404、504等等);4.设置代理(测试移动端接口的时候需要通过“代理”来抓取):Tools-&Teleriik Fiddler Options
然后再移动端继续做个设置;5.header、cookie:;
6.设置断点:;7.添加筛选:;
8.fiddler进行接口测试;
3.4,postman的运用
上一篇:没有了
我来说两句
友情链接:沪ICP备3-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd如何通过抓包工具fiddler获取java程序的http请求
如何通过抓包工具fiddler获取java程序的http请求 源代码下载地址:/share/4640.htm
原文:如何通过抓包工具fiddler获取java程序的http请求
源代码下载地址:
抓包工具fidder是一个很轻巧的可以获取浏览器,程序的http,,https请求的软件。
百科地址:
官网地址:
firefox的fidder插件
而java程序需要设置proxy才能生效:
Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,new InetSocketAddress(&127.0.0.1&, 8888));
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection(proxy);
详细代码请下载。
package com.zuidaima.
import java.io.BufferedR
import java.io.InputStreamR
import java.net.HttpURLC
import java.net.InetSocketA
import java.net.P
import java.net.URL;
public class Http302Redirect {
public static void main(String[] args) {
String url = &&;
System.out.println(&访问地址:& + url);
Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,
new InetSocketAddress(&127.0.0.1&, 8888));
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl
.openConnection(proxy);
conn.setRequestMethod(&GET&);
conn.addRequestProperty(&Accept-Charset&, &UTF-8;&);
conn.addRequestProperty(&User-Agent&,
&Mozilla/5.0 (W U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8&);
conn.addRequestProperty(&Referer&, &&);
conn.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuffer buffer = new StringBuffer();
String line = reader.readLine();
while (line != null) {
buffer.append(line).append(&\r\n&);
line = reader.readLine();
reader.close();
conn.disconnect();
System.out.println(buffer);
} catch (Exception e) {
e.printStackTrace();
你最喜欢的}

我要回帖

更多关于 天浴 删减部分 百度云 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信