Android客户端捕获http请求包的方法

时间:2024-03-13 14:42:38

对于Web测试,我们可以很容易的抓取到相关的http请求包,不用什么专业软件,甚至浏览器都能帮我们完成这个功能,拿到需要的http请求连接 。

  http连接对于测试同学来说, 不论做功能、性能或是安全,都是非常重要的, 他过滤了前台的因素,让测试同学直接能对后台进行交互。

  以上是http连接的重要性,基本等于废话,下面是正题。

  客户端安全测试,同样需要拿到http的请求包,由于客户端的前段限制绕过比较麻烦,那么在做安全测试的过程中,直接拿到http的请求包显得更外重要。

  有如下方法可以拿到请求的http包:

  1、在不配置代理的情况下,对Android客户端(模拟器)的数据我们可以使用wireshark或者etherpeek等网络层抓包软件抓取,模拟器本身的数据交互是通过电脑主机的网卡进行的,所以我们通过抓包软件抓取主机网卡的数据包,经过过滤,便可得到模拟器客户端中的数据包,类似这样:

Android客户端捕获http请求包的方法

Android客户端捕获http请求包的方法

  访问之后,通过wireshark过滤http请求,便可找到我们刚刚发送的请求。

  当然,这是种比较麻烦的方法,不过可以更确切的看到网络包发送的内容。

  另一种办法是对模拟器配置代理,让所有请求包可以通过外部主机的七层抓包软件,例如fiddler ,burpsuite等所捕获到,配置代理需要先做一次设置:类似这样:

Android客户端捕获http请求包的方法


Android客户端捕获http请求包的方法

Android客户端捕获http请求包的方法

  进 入“设置”选项之后,按照图示设置

Android客户端捕获http请求包的方法

  这里proxy 设置为10.0.2.2是android模拟器对外部主机地址的硬编码,端口设为8888是外部主机fiddler 的监听地址,当然,如果是burpsuite 可以设置为8080。

Android客户端捕获http请求包的方法

  那么这样的话 ,我们就能通过fiddler抓取模拟器中的数据包了, 这样对测试来讲,可以用web端的应用层工具对客户端的http数据进行处理,方便的可就多了。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/