Fiddler 系列教程(二) Composer创建和发送HTTP Request跟手机抓包

news/2024/7/20 20:41:44 标签: iphone, ios

Fiddler Composer介绍

Composer的官方帮助文档:http://www.fiddler2.com/fiddler/help/composer.asp

Fiddler的作者把HTTP Request发射器取名叫Composer(中文意思是:乐曲的创造者), 很有诗意

Fiddler Composer的功能就是用来创建HTTP Request 然后发送。 你可以自定义一个Request, 也可以手写一个Request, 你甚至可以在Web会话列表中拖拽一个已有的Request. 来创建一个新的HTTP Request.

Fiddler Composer比其他工具的优势

能创建发送HTTP Request的工具很多很多。 但是Fiddler的功能有如下的优势。

1. 能从"Web会话列表"中 拖拽一个先前捕获到的Request, 然后稍微修改一下

2. 发送Request后,还能设置断点,继续修改Request.

3. 支持在Request中上传文件

4. 支持发送多次Request.

实例: 模拟京东商城的登录

启动Fiddler, 启动IE, 打开京东,然后输入用户名和密码,登录。 Fiddler 将捕获到这个登录的Request.

1. 首先找出哪个Request 是用来登录的, 然后把它拖拽到Composer中。

[用来登录的request是这个: https://passport.360buy.com/uc/loginService?uuid=6bc79fbf-e882-49bb-b63a-6fd6ee448944]

2. 在Composer可以看到, 登录是使用POST方法, 把用户名和密码发送给服务器。 那么我们可以修改Composer中的request内容, 比如用户名为:fiddlertest@fiddler.com,密码为test1234。

3. Request造好了后, 我们按"Execute" 按钮就可以发送Request了(如果按住Shift键的同时,按"Execute". Fiddler会自动给这个Request下断点)。

4. 发送的Request,将出现在左边的Web Session列表中。

Parsed和Raw两种编辑模式

Fiddler Composer有两种编辑模式

Parsed模式(最常用), 把Request分为三个部分, Request line, Request Headesr, Request Body。 很容易创建一个Request.

Raw模式,需要你一行一行手动写一个Request。

同类工具- Firefox插件Rest Client

Firefox也有一个插件叫Rest Client, 使用起来也很方便

同类工具: Linux上的Curl

curl是个命令行工具, 功能也很强大

Fiddler是我最喜爱的工具,几乎每天都用, 我已经用了8年了。 至今我也只学会其中大概50%的功能。 Fiddler绝对称得上是"神器", 任何一个搞IT的人都得着的。

小弟我立志, 一定要把Fiddler的所有的功能和用法都写出来。 写成一个完整系列的教程。

Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求。

Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。 同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS。

本文介绍Fiddler截获IPhone发出的HTTP/HTTPS包

前提条件是:安装Fiddler的机器,跟Iphone 在同一个网络里, 否则IPhone不能把HTTP发送到Fiddler的机器上来。

截获智能手机发出的HTTP包有什么用?

用处一: 手机软件程序员利用Fiddler,可以截获手机发出的HTTP包, 从而调试程序

用处二: 软件测试人员用于测试智能手机上的软件。

用处三: 可以用来在App应用商店中刷排名

用处四: 截获了HTTP/HTTPS后,你想干什么就干什么,比如修改Request,或者Response.

配置Fiddler, 允许"远程连接"

打开Fiddler, Tools-> Fiddler Options 。 (配置完后记得要重启Fiddler).

选中"Decrpt HTTPS traffic", Fiddler就可以截获HTTPS请求

选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来

获取Fiddler所在机器的IP地址

这个简单吧。 我Fidder所在的机器地址是: 192.168.1.104

IPhone上安装Fiddler证书

这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步

1. 首先要知道Fiddler所在的机器的IP地址: 假如我安装了Fiddler的机器的IP地址是:192.168.1.104

2. 打开IPhone 的Safari, 访问 http://192.168.1.104:8888, 点"FiddlerRoot certificate" 然后安装证书

IPhone上配置Fiddler为代理

打开IPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888

大功告成,开始抓包

现在IPhone上的应用(比如Safari, Firefox, Itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。

实例: 打开Safari,  

1. 输入http://www.cnblogs.com/tankxiao. 看看Fiddler能否捕获。

2. 输入https://dynamic.12306.cn/otsweb/ 看看Fiddler能否捕获。

是不是HTTP和HTTPS都截获到了????, 你不但能截获, 还可以下断点,修改Request, 修改Response, Do what you want.

用完了, 记得把IPhone上的Fiddler代理关闭, 以免IPhone上不了网。

只能捕获HTTP,而不能捕获HTTPS的解决办法

有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是:

1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点”设置“->“通用”->"描述文件")

2. 安装上面的方法,重新安装Fiddler证书

Fiddler捕获其他手机或者平板

方法类似


http://www.niftyadmin.cn/n/5009671.html

相关文章

高频微观结构:日内及隔夜动量因子

本周天软因子序列课程暂时结束,感谢大家百忙之中参会交流! 本次会议主要内容有: 1.介绍日内及隔夜动量因子的构造逻辑,如何选择市 场代理变量对动量因子进行改进; 2.结合因子研究平台分别分析动量因子、日内涨幅因 子、隔夜涨幅因…

python中如何使用正则表达匹配\本身?(文末赠书)

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 将军向宠,性行淑均。 大家好,我是皮皮。 一、前言 前几天在Python钻石群【空】问了一个Python正则表达式的问题,一起…

Golang开发--interface的使用

在Go语言中,接口(interface)是一种特殊的类型,它定义了一组方法的集合。接口为实现多态性提供了一种机制,允许不同的数据类型实现相同的方法,从而可以以统一的方式处理这些不同类型的对象。接口在Go中广泛用…

【简单粗暴】Python导入cv2包

最近在频繁地配环境,期间需要导入cv2这个包。需要注意的是,虽然我们编写代码时是import cv2,但在导入包时,pip的应该是opencv-python。 pip install cv2 WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone,…

JVM虚拟机对象探秘

对象的创建 Java是一门面向对象的编程语言,创建对象通常只是通过new关键字。 对象创建过程 当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到 一个类的符号引用,并且检查这个符号引用(类…

2020年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程(1~8级)全部真题・点这里 第1题:数组指定部分逆序重放 将一个数组中的前k项按逆序重新存放。例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。 时间限制:1000 内存限制:65536 输入 输入为两行&…

docker 生成镜像的几个问题

docker 生成镜像的几个问题 根据jdk8.tar.gz 打包Jdk8 镜像失败运行镜像报错差不多是网络ip错误,在网上说重启docker即可解决运行mysql5.7.25 镜像失败向daemon.json文件添加内容导致docker重启失败docker run 命令常用参数根据jdk8.tar.gz 打包Jdk8 镜像失败 首选做准备工作…

MinIO集群模式信息泄露漏洞(CVE-2023-28432)

前言:MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。该漏洞会在前台泄露用户的账户和密码。 0x00 环境配置 …