有一天下晚班回家,在地铁上的时候,开发发来信息说,能不能把之前创建的bug再抓包看下数据。顿时心里就想,在地铁上,我上哪抓包去。之后百度了下,发现ios有一款非常实用的抓包工具,大家可以上App Store上下载,轻量级的抓包工具。今天就来分享下工具的基本使用,万一出现紧急情况,需要临时抓包,也可以来一场“紧急支援”。

话不多说,进入主题,我们先来看下Stream首页界面,是不是很简洁,使用起来也很简单。

从界面上可以看出来,功能还是齐全的,可以构建请求,设置抓包模式,还有嵌入的小工具。

构建请求

我们先从构建请求说起,构建请求,包含了接口的八种方式,在这里,再温习一下,这八种请求方式的用途。

1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体);

2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改;

3、Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容);

4、Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头);

5、Delete 请求服务器删除request-URL所标示的资源(请求服务器删除页面);

6、Trace 回显服务器收到的请求,用于测试和诊断;

7、opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送*测试服务器功能(允许客户端查看服务器性能);

8、Connect HTTP/1.1协议中能够将连接改为管道方式的代理服务器。

构建GET请求

我们了解了八种请求方式的用途,今天主要分享get和post请求方式。

Stream内的请求方式如下,可以自由选择。

选择get请求,模拟请求:访问博客园,配置请求的链接:https://account.cnblogs.com/user/userinfo

链接配置好后,点击启动按钮

请求响应成功,我们来查看响应体中的内容,如下:

由于没有传递token,所以显示的是未登录的状态。

通过postman验证,请求结果是否一致,如下:

构建POST请求

我们先切换请求方法,选择为post,选择post后,就会自动显示请求体内容,如下:

body参数,可以按字段单个添加,也可按原始数据添加,粘贴数据后,自动生成字段列表

配置好请求数据后,点击请求按钮,请求响应成功,如下:

我们来查看响应体数据,如下:

正常获取到了token

选择post请求方法,body可切换不同类型,根据自己的接口传参类型来选择,可选项为:普通表单,JSON,文件表单,通用文本类型。如下所示:

抓包实践

安装证书

点击设置下的HTTPS抓包,进入如下界面,文案提示的很明确,抓包需要安装CA证书,如同fiddler一样。

如下界面是已经安装好了证书并信任,ios如何信任证书,可参考我之前的博文:Fiddler使用过程中容易忽略的小技巧,里面有详细的介绍。

安装好了证书,接下来,就可以抓包了。

抓取请求

在app页面,点击开始抓包,会自动启用VPN服务,访问对应数据,就可以正常抓包了,是不是很简单。如下所示:

查看结果

我们来查看下抓到的请求,如下:

历史记录

抓包结束后,还可以查看抓包历史,抓取的接口,可以反复查看数据,如下:

收藏请求

在抓包过程中,想单独关注某一个接口请求响应值,可以将该接口收藏,标记起来,如下:

设置抓包模式

设置黑名单

点击界面中的设置抓包模式,则进入到设置界面,如下:

我们可以从上图得知黑白名单的用途,当设置为黑名单,则抓取所有的请求;若设置了具体的黑名单,抓取的请求则是除了具体黑名单外的接口数据。

我们具体来看操作,先配置黑名单,黑白名单不能同时开启。

将博客园的host配置进黑名单,支持通配符*,博客园不同页面的网址不同,但后缀都是一样,所以配置成*.cnblogs.com即可,如下所示:

从百度页面,访问博客园,我们来看抓取到的数据,如下:

完美的避开了所有关于博客园的访问请求记录,这就是黑名单的作用。

设置白名单

我们了解了黑名单的作用后,再来看白名单的作用,在之前也讲到了白名单的作用,就是值抓取具体白名单内的host请求,我们具体来看。

将博客园的host配置进白名单中,如下所示:

我们再来访问博客园内容,抓取的内容如下:

从上图我们可以看出,抓取到的接口,都是关于博客园的请求接口,这就是白名单的作用。为了不混淆或者过多的请求接口,来扰乱自己,则可以配置白名单。

抓包日志

在抓包过程中,还可以实时查看抓包的日志,可以来分析对应问题。

常用工具

在常用工具界面内,里面有经常用到的小工具,URL编码解码,Base64加密解密,MD5,时间戳转化,RSA加密解密。

工具具体的应用,可以尝试一番。

后记

Stream,个人认为在移动端是一款很实用的工具,万一遇到紧急情况,需要分析排错的时候,就可以方便的使用起来,不用再去紧急的找电脑。

IOS抓包工具Stream——让移动端的抓包变得轻而易举的更多相关文章

  1. ios 免费抓包工具Stream

    ios 免费抓包工具Streamhttps://www.52pojie.cn/thread-1002406-1-1.html

  2. 抓包工具Fidder详解(主要来抓取Android中app的请求)

    今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以 ...

  3. android抓包工具——使用fiddler4在安卓手机抓包

    Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包 ...

  4. 抓包工具 - Fiddler(如何捕获Android数据包)

    如何捕获Android数据包 一.移动设备访问网络原理 先看看移动设备是怎么去访问网络,如图1所示,可以看到,移动端的数据包是从wifi出去的. 图1(移动设备访问网络) 所以我们可以把自己的电脑开启 ...

  5. 抓包工具Charles简单使用介绍(可抓取Android中app的请求)

    摘自: 作者:Roy_Liang链接:http://www.jianshu.com/p/5539599c7a25 Charles安装 HTTP抓包 HTTPS抓包   1. Charles安装 官网下 ...

  6. Java 操作jar包工具类以及如何快速修改Jar包里的文件内容

    需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件, ...

  7. Wireshark抓包工具的简单使用2(抓包、查看、过滤)

    在简单了解了Wireshark的界面以及各工具栏的作用后,也要掌握如何进行抓包,查询,过滤等操作 一.抓包 1.打开软件,初始界面 2.点击Caputre-->Interfaces,出现当前所有 ...

  8. 【转载】抓包工具Fidder详解(主要来抓取Android中app的请求) 包括https

    文章:http://blog.csdn.net/jiangwei0910410003/article/details/19806999/ Fiddler官网:http://www.telerik.co ...

  9. fiddler+android抓包工具配置使用

    今天临时增加一个工作,手机需要抓包,查看了不同的抓包工具,最后确定使用fiddler抓包工具进行操作,这里以android为例记录一下工具的配置和使用操作. fiddler的安装 网上有很多fiddl ...

随机推荐

  1. HashMap的四种遍历!

    HashMap的四种遍历 import java.util.Collection; import java.util.HashMap; import java.util.Map; import jav ...

  2. 前沿理论、反思创新、产学结合——你不能错过的WSDM 2016大会

    第九届ACM网络搜索与数据挖掘国际会议(ACM International Conference on Web Search and Data Mining,简称WSDM)已于上周(2月22日-25日 ...

  3. NVARCHAR(MAX) 的最大长度

    本文使用的环境是SQL Server 2017, 主机是64位操作系统. 大家都知道,Micorosoft Docs对 max参数的定义是:max 指定最大的存储空间是2GB,该注释是不严谨的: nv ...

  4. Spring Boot从入门到精通(五)多数据源配置实现及源码分析

    多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...

  5. Docker实战之Consul集群

    前言 最近参加了几场 Java 面试,发现大多数的微服务实践还是 Eureka 偏多,鉴于笔者的单位选型 Consul,这里对 Consul 做简单总结. 该篇是 Docker 实战系列的第三篇.传送 ...

  6. 密码学习(一)——Base64

    简介 Base64是一种非常常用的数据编码方式,标准Base64可以把所有的数据用"A~Z,a~z,0~9,+,/,="共65个字符(‘=’号仅是一个占位符,作为后缀)表示,当然在 ...

  7. Fedora CoreOS 非LInux专业安装文章第一手

    开篇一张图 Docker基本知识掌握后,又学习了"专有的系统平台",CoreOS; 之前一直Windows,学习Docker的同时练习了好多Linux知识,全是江湖路数,打个不同就 ...

  8. overflow-y:auto/hidden/scroll和overflow-x:visible组合渲染异常

    最近做项目想做一个这样的效果:就是我想要内部div x轴溢出div则显示y轴溢出div则出现滚动条于是用到了overflow-y 和 overflow-x 这个css属性原来以为css中直接设置就ok ...

  9. 【Amaple教程】2. 模块

    正如它的名字,模块用于amaplejs单页应用的页面分割,所有的跳转更新和代码编写都是以模块为单位的. 定义一个模块 一个模块由<module>标签对包含,内部分为template模板.J ...

  10. [每日一题系列] LeetCode 1071. 字符串的最大公因子

    题目 对于字符串 S 和 T,只有在 S = T + ... + T(T 与自身连接 1 次或多次)时,我们才认定 "T 能除尽 S". 返回最长字符串 X,要求满足 X 能除尽 ...