软件测试-Fiddler拦截接口请求并篡改数据

一、拦截HTTP请求

使用Fiddler进行HTTP断点调试可以做到:

①修改HTTP请求头信息。例如修改请求头的UA,Cookie,Referer信息,通过“伪造”相应信息达到相应的目的(调试,模拟用户真实请求等)。

②构造请求数据,突破表单的限制,随意提交数据。避免页面js和表单限制影响相关调试。

③拦截响应数据,修改响应实体。

设置断点共有三种方式:

fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。有两个断点位置:

  1. before request。也就是发送请求之前,Fiddler代理中转之前,这时可以修改请求的数据。
  2. after response。也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。
  3. 如何消除命令呢?点击Rules->Automatic Breakpoint->Disabled

如下图所示:

软件测试-Fiddler拦截接口请求并篡改数据_第1张图片

②也可以在这里设置断点,双击就出现箭头图标

软件测试-Fiddler拦截接口请求并篡改数据_第2张图片

 软件测试-Fiddler拦截接口请求并篡改数据_第3张图片

 软件测试-Fiddler拦截接口请求并篡改数据_第4张图片

二、修改请求/响应数据

1. 在左侧列表中选中请求数据。点击右侧Inspectors–>WebForms,可以看到请求携带的参数,此时可以修改参数值,或添加携带参数。
修改完请求参数后,点击下方【Run to Completion】,则进行消息发送。

软件测试-Fiddler拦截接口请求并篡改数据_第5张图片

2. 在左侧列表中选择请求(拦截的请求会出现向下箭头标志)。在右侧Inspectors->TextView栏修改返回数据,然后点击【Run to Completion】,则进行消息发送

软件测试-Fiddler拦截接口请求并篡改数据_第6张图片

三、修改方式

拦截HTTP请求后修改方式有两种,一种是临时修改,即结果只对当次请求有效;另一种是永久修改,可以通过urlreplace命令实现。

①临时修改请求

即在fiddler中执行Inspectors->WebForms,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果

②永久性修改请求

1)命令行设置修改规则,修改请求:urlreplace 旧请求值 新请求值

fiddler命令行输入:urlreplace uuid=103 uuid=105

其中uuid是请求参数,输入命令后回车即可,新的请求设置成功,除非释放请求,否则请求值不变,释放请求命令urlreplace

2)脚本中修改规则,打开脚本方式:fiddler执行Rules->Customize Rules

在fiddler中修改订单数据后,点击Run to Completion按钮,实现数据篡改,页面中的数据修改成功。

 (^_-) 我的学习之路任重道远,咱们下期见~~~

你可能感兴趣的:(测试面试经验分享,学习笔记,自学,fiddler,测试工具)