zoukankan      html  css  js  c++  java
  • Android抓包方法 之Fiddler代理

    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:以上实例仅为参考,具体测试,以所相关业务及测试目标为导向进行测试分析。  

    5、其他

    本文虽主要对Android手机抓包举例,但其目的是说明,不管是电脑,还是手机,还是其他上网终端,都可以通过代理的方式来抓包(HTTS、HTTPS)。

  • 相关阅读:
    LeetCode——Generate Parentheses
    LeetCode——Best Time to Buy and Sell Stock IV
    LeetCode——Best Time to Buy and Sell Stock III
    LeetCode——Best Time to Buy and Sell Stock
    LeetCode——Find Minimum in Rotated Sorted Array
    Mahout实现基于用户的协同过滤算法
    使用Java对文件进行解压缩
    LeetCode——Convert Sorted Array to Binary Search Tree
    LeetCode——Missing Number
    LeetCode——Integer to Roman
  • 原文地址:https://www.cnblogs.com/Snail-offort/p/10598420.html
Copyright © 2011-2022 走看看