1、抓包原理

Fiddler是类似代理服务器的形式工作,它能够记录所有你的电脑和互联网之间的http(S)通讯,可以查看、修改所有的“进出”的数据。使用代理地址:127.0.0.1, 默认端口:8888。打开Fiddler会自动设置代理,正常退出会自动注销代理,非正常退出上不了网,重起一次Fiddler,或直接在IE里取消代理即可。

2、方法优劣

[优点]:
1).Fiddler操作简单、方便、功能强大
2).能实时抓包,可模拟修改请求
2).只需要手机支持代理即可
3).适用广,安卓、Iphone、Ipad、WinPhone等支持代理手机均适用
 
[缺点]:
1).电脑需要安装Fiddler
2).测试手机需要支持Wifi
3).测试手机与电脑需要同一网络
4).所测APP需支持代理 

3、准备工作

1).检查电脑网络连接

a.使用同网络内的另一台电脑)ing本机,检查是否连通正常。

原因:我之前测HTML5项目就发现Fiddler代理抓不到包,手机设置均正确,后发现是网络内找不到本机,本机防火墙设置问题。

另外需要关注是否同一网络,如果手机GPRS等上网,你在局域网内抓包...哥觉得你可以改行了...

(约定:后文所述Fiddler所在电脑均称为本机)

2).Fiddler安装

a.下载地址: http://fiddler2.com/get-fiddler

b.安装:省略(下一步...下一步即可)

3).Fiddler配置

a.允许远程计算机连接Fiddler

菜单:Tools-> Fiddler Options->Connections,勾选"Allow remote computers to connect"

注:8888为默认端口号,可修改,但需注意两点,一是本机空闲端口,二是手机代理设置时端口要一致。

b.配置可捕获HTTPS请求(*不需要捕获HTTPS,则忽略此步*)

菜单:Tools-> Fiddler Options->Connections,勾选"Capture HTTPS CONNECTs"后

再勾选"Decrypt HTTPS traffic"、"Ignore server certificate errors"

注1:勾选项英文不认识,请Google,不另做解释

4).手机安装HTTPS证书(*不需要捕获HTTPS,则忽略此步*) 

a.首先确定Fiddler所在电脑的IP地址:例:192.168.8.8

b.打开被测手机浏览器,访问http://192.168.8.8:8888,点"FiddlerRoot certificate" 然后安装证书

注:Iphone、Ipad安装则很简单,点击安装即可。Android安装稍微麻烦点,则需要先设置手机锁屏密码、PIN码,安装证书时会提示,按步骤走即可。

4、实例

ThinkDrive抓包实例

一期测试时,涉汲到APP安全测试,因此需要查看传输数据是否存在明文密码等。

1).开启Fiddler,确定本机IP、Fiddler端口号

本机IP:192.168.8.8

Fiddler端口号:8888

2).手机连接本机所在同网络Wifi,设置代理

a.代理主机名:Fiddler所在电脑IP

b.代理服务器端口: Fiddler使用的端口

3).APP操作,生成请求数据

a.例:登录

b.例:退出登录

4).分析Fiddler抓包数据

a.例:登录请求分析

1).双击查看登录请求,选择WebForms或JSON等其他类标签,查看请求参数值,对照接口文档及你想要测试的点分析,请求是否正确,查看返回数据是否正确。

2).同帐号,不同密码;不同帐号,同密码等测试用例,测试多次登录后发现,密码仅为MD5加密,没有对密码进行很好的加密传输

3).分析存在以下问题:

问题1:帐号密码采用http传输,帐号与密码(MD5值)局域网可以捕获;

问题2:密码虽采用MD5加密,但传输未加密,简单密码可以在线解密(图中密码在线解密不到1秒:123qwe);
问题3:密码不解密也一样可以登录,通过A帐号在app登录,再用sniffer得到的B 帐号与密码(MD5值),使用Fiddler修改A帐号的请求完成B帐号在APP登录。 

注1:Fiddler功能使用,请Google或百度,此处不详说

注2:以上实例仅为参考,具体测试,以所相关业务及测试目标为导向进行测试分析。

Fiddle Proxy的更多相关文章

  1. 手机代理调试Charles Proxy和Fiddler

    一.Charles Proxy Charles是一个HTTP代理/HTTP监控/反向代理的工具. 使用它开发者可以查看设备的HTTP和SSL/HTTPS网络请求.返回.HTTP头信息 (cookies ...

  2. 实现代理设置proxy

    用户在哪些情况下是需要设置网络代理呢? 1. 内网上不了外网,需要连接能上外网的内网电脑做代理,就能上外网:多个电脑共享上外网,就要用代理: 2.有些网页被封,通过国外的代理就能看到这被封的网站:3. ...

  3. Could not create SSL connection through proxy serve-svn

    RA layer request failedsvn: Unable to connect to a repository at URL xxxxxx 最后:Could not create SSL ...

  4. could not initialize proxy - no Session

    这是一个精典的问题:因为我们在hibernate里面load一个对象出来时,用到的是代理对象,也就是说当我们在执行load方法时并没有发sql语句,而是返回一个proxy对象.只有当们具体用到哪个ge ...

  5. ABP源码分析三十七:ABP.Web.Api Script Proxy API

    ABP提供Script Proxy WebApi为所有的Dynamic WebApi生成访问这些WebApi的JQuery代理,AngularJs代理以及TypeScriptor代理.这些个代理就是j ...

  6. Java设计模式之代理模式(Proxy)

    前言: 最近在研究Retrofit开源框架的时候,其主要核心代码是通过注解标示参数,动态代理模式实现具体接口,反射机制进行参数解析,最终实现发送请求.其实之前在学习Xutils源码的时候,Xutils ...

  7. 设计模式(十三)代理模式(Proxy Pattern)

    一.引言 在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代 ...

  8. 设计模式-代理模式(Proxy Model)

    文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/5988145.html 目录 1.写在前面 2.概述 3.目的 4.结构组成 5.实现 5 ...

  9. 神秘代理-Proxy

    前言: 代理模式作为常见的设计模式之一,在项目开发中不可或缺.本文就尝试着揭开代理的神秘面纱,也欢迎各路人批评指正! 1.如何实现代理: [假设有个关于汽车移动(move)的计时需求]设计:Movea ...

随机推荐

  1. 从PRISM开始学WPF(四)Prism-Module-更新至Prism7.1

    0x4Modules Modules是能够独立开发.测试.部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服 ...

  2. SLAM+语音机器人DIY系列:(二)ROS入门——1.ROS是什么

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  3. 关于C#的new与override

    先放出来两个基类和派生类: public class BaseClass { public virtual void Method1(string desc) { Console.WriteLine( ...

  4. AJAX获取JSON WEB窗体代码

    1.添加引用 using System.Web.Services; 2.添加方法 [WebMethod] public static string getFoodClasses(int parentI ...

  5. Gerrit系统框架介绍

    Gerrit目录介绍 转自:https://blog.csdn.net/tanshizhen119/article/details/79889242 先上图 bin/ : 主要是放gerrit.sh启 ...

  6. pyltp安装踩坑记录

    LTP(Language Technology Platform)由哈工大社会计算与信息检索研究中心开发,提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角色标注等丰富. 高效.精准的自然 ...

  7. mpvue学习笔记-之微信小程序数据请求封装

    简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...

  8. Netty 核心容器之ByteBuf 结构详解

    原文链接 Netty 核心容器之ByteBuf 结构详解 代码仓库地址 Java的NIO模块提供了ByteBuffer作为其字节存储容器,但是这个类的使用过于复杂,因此Netty实现了ByteBuf来 ...

  9. VS打开项目或解决方案卡死,一直处于未响应状态。

    1.背景:接手公司新项目时,无论用vs2013还是用vs2017都打开不了 2.解决办法:先把.suo文件删掉, 结果:vs2013可以打开,vs2017依旧打不开. 3.继续解决:上网搜了一下,把隐 ...

  10. 深入浅出KNN算法(二) sklearn KNN实践

    姊妹篇: 深入浅出KNN算法(一) 原理介绍 上次介绍了KNN的基本原理,以及KNN的几个窍门,这次就来用sklearn实践一下KNN算法. 一.Skelarn KNN参数概述 要使用sklearnK ...