一、 巧用代理抓包。

首页,需设置Tools——>Fiddler Options——>Connectons,维护代理端口及允许其他设备连接。

这里,需要注意的是端口配置不能重复,抓包代理设置时,要同这个一致的。

1. 浏览器:当fiddler启用就自动开启代理了,故不描述。

2. PC端app:

以淘宝千牛PC为例,若需要抓他的插件的包,怎么设置

找到应用的设置——>网络——>启用代理,如图所示服务器、端口要与你抓包所配置的一致哦。一般启用代理后,该app需重启。

注:这里服务器127.0.0.1是因为我这个是抓本机的,所以地址是这个。

怎么知道代理的IP地址呢,可以直接看代理机器获取的IP,也可以看fiddler,如图所示,看Online信息的地址即可。

3. 移动端:(可以参考http://www.cnblogs.com/TankXiao/p/3063871.html)

类似pc,移动端app代理时,需要开启电脑无线wifi。这样手机才可以链接到电脑的代理。

开启无线wifi,然后开启fiddler。

然后呢,手机端无线链接到开启的wifi,然后设置无线的HTTP代理。如图所示

注:配置一个后就可以通过修改电脑端hosts文件来配置程序位置了,很是方便,这样也跨过越狱修改手机hosts来进行测试。


二、以上的仅抓取HTTP的设置,如果需要抓取HTTPS。除了上述的步骤,还需要配置。

1. 配置Fiddler,Tools—>Fiddler Options,如图

配置Decrypt HTTPS traffic,选中后就可以截获HTTPS请求了(注意:配置完要重启Fiddler哦)

2. iphone安装证书

为了能抓取iphone手机的HTTPS请求,还得安装证书(HTTP是不需要的),其他配置同上,就是多个证书的安装。

1)fiddler配置、无线配置代理,同上步骤

2)使用safari,打开你的代理的地址http://192.168.*.*:8888(地址就是你配置无线代理的IP与端口,当然反正是fiddler所在的地址及端口即ok,方法也在上面介绍过了)

如上图所示,选择FiddlerRoot certificate安装证书即可。

经过以上配置后,再来试试抓取iPhone手机的https包吧。


三、修改Request和Response信息

学习的是FiddlerScript对OnBeforeRequest和OnBeforeResponse2个函数进行修改。

1、添加请求头Header

oSession.oRequest["NewHeaderName"] = "New header value";

2、删除Response的Header

oSession.oResponse.headers.Remove("Set-Cookie");

3、将请求从一个页面转发到同一Server上的另一页面

if (oSession.PathAndQuery=="/hello/hello.html") {

oSession.PathAndQuery="/hello/index.html";

}

注意:oSession.PathAndQuery的值为fiddler中session列表中的Url:

上面的例子,拦截请求地址为/hello/hello.html的请求,并将其转发到相同Server的/hello/index.html

4、将请求转发到相同端口号的不同服务器(修改请求的Host)

<pre name="code" class="javascript"> if(oSession.HostnameIs("www.baidu.com")){

oSession.hostname = "www.sina.com.cn";

}

这个例子是将发送到百度的请求转发到新浪,则会提示页面不存在。这里只是改变了host,并不改变后面的地址,因此, 如果在新浪上不存在相应的页面。

如果我访问的是如下地址:http://www.baidu.com/link?url=CQuVpjo9u9UQADcstwECPEmrziPMk5u5H9PlRN2TbWLkKZaxafVER2X8OEYzovr-yasX2Fwcgj0NANBtKVj0gN78jNJ3bXTmIsTeBk7hXem

则结果如下:(该页面实际是存在的,是百度搜索出来的结果页面,被fiddler转发到新浪,但是新浪上不存的此页面)

5、将请求转发到不同端口号,不同Server

if (oSession.host=="192.168.0.70:8080") {

oSession.host="192.168.0.69:8020";

}

这个例子是将发送到192.168.0.70:8080的请求转发到192.168.0.69:8020,这里只是改变host,并不改变后面的请求地址。例如,做以上的规则后,我请求的是:

http://192.168.0.70:8080/hello/hello.html

而实际我项目部署到的是:192.168.0.69:8020

6、将所有请求从一个服务器转发到另一个服务器,包括Https

// Redirect traffic, including HTTPS tunnels

if (oSession.HTTPMethodIs("CONNECT") && (oSession.PathAndQuery == "www.example.com:443")) {

oSession.PathAndQuery = "beta.example.com:443";

}

if (oSession.HostnameIs("www.example.com")) oSession.hostname = "beta.example.com";

暂总结记录这些,后期补充

Fidder学习基础(二)的更多相关文章

  1. TP5学习基础二:目录结构、URL路由、数据操作

    一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)-&g ...

  2. Redis学习基础二

    回顾:上一基础中已了解 ( 什么是redis .redis 的三大特点.安装,和数据配置) 接下来浅尝Redis的数据类型,时间煮雨...... 一.Redis数据类型 redis支持五中数据类型(s ...

  3. C++学习基础二——指针与引用的区别

    一.指针: (1)如果对指针进行解引用操作 赋值,改变的是指针所指向对象的值:(2)如果不对指针进行解引用操作 赋值,则改变的是指针本身的值:(3)const指针本身的值不能修改,但是const指针所 ...

  4. JavaScript学习 - 基础(二) - 基础类型/类型转换

    基础类型 - 数字类型(Number) 1.最基本的数据类型 2.不区分整型数值和浮点型数值 3.所有数字采用64位浮点格式存储,相当于Java和C语言中double格式 4.能表示的最大值 +- 1 ...

  5. AspectJ基础学习之二搭建环境(转载)

    AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...

  6. opengl基础学习专题 (二) 点直线和多边形

    题外话 随着学习的增长,越来越觉得自己很水.关于上一篇博文中推荐用一个 学习opengl的 基于VS2015的 simplec框架.存在 一些问题. 1.这个框架基于VS 的Debug 模式下,没有考 ...

  7. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

  8. 数据库学习---SQL基础(二)

    数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) 上篇复习的sql的增删改查,and ,or ,>=, <=,!=等逻辑运算符,还有in ...

  9. 【笔记】MySQL的基础学习(二)

    [笔记]MySQL的基础学习(二) MySQL 老男孩  一 视图 视图其实就是给表起个别名 1.创建视图 格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS ...

随机推荐

  1. ASP.NET MVC4 新手入门教程之九 ---9.查询详情和删除方法

    在本教程的这一部分,您会检查自动生成的Details和Delete方法. 检查详细信息和删除方法 打开Movie控制器并检查的Details的方法. public ActionResult Detai ...

  2. [android] 两种异步方式

    使用AsyncTask开启子线程获取服务器数据,更新界面UI /** * 异步任务 * * @author taoshihan * */ public class HttpAsyncTask exte ...

  3. Java之Poi导出Excel文档

    一.Poi简介 在后台管理系统中,我们经常要做的导出操作,通常导出为Excel文档的形式,而Poi则提供了这种需要的支持. 二.Workbook/HSSFWorkbook/XSSFWorkbook 1 ...

  4. 关于request请求的基本获取

      1.Request对象的作用是与客户端交互,收集客户端的Form.Cookies.超链接,或者收集服务器端的环境变量. request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的 ...

  5. js分离html代码的body内外部分

    //定义网页源码 str = '<!DOCTYPE html><html><head> <meta charset="UTF-8"> ...

  6. 2013 Warm up 3 -- Skill --- dp

    题意:求n位数字,满足非递减的个数. dp[ i ] [ j ] = sum( dp[i -1] [ k ] );  k =>( j , 9); #include<iostream> ...

  7. flex固定底部栏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 原生JS编写getByClass、addClass、removeClass、hasClass

    前言: 年后换了工作,在现在的公司写交互主要使用JS原生:刚刚入门前端的时候写交互一直用的原生JS,虽然用的不怎么样.后来去之前的公司之后,leader主张把jQuery用好,JS原生自然就熟练了:一 ...

  9. metasploit 连接database相关问题

    我们首先去这个目录下看database.yml文件内容: 下图是我们看到的的信息 接着打开metasploit,运行db_connect 指令链接数据库.格式为: db_connect 用户名:密码@ ...

  10. 个体商户POS机遭遇禁刷 职业养卡人称自有对策

    “套现猛于虎也”,这对于信用卡业而言无异于一大命门,信用卡套现金额的规模如同滚雪球般愈演愈烈.记者昨日采访银行业内了解到,虽然为防套现将根据规定关闭个体商户POS机刷信用卡的功能,但职业“养卡人”不以 ...