HTTP抓取(抓包)

你还在羡慕别人通过抓包去掉了广告,薅到了羊毛吗,下面来学习QuantumultX(以下简称QX)如何抓包吧🤗

1、什么是抓包

HTTP抓包指的是通过监视和记录HTTP通信来获取网络数据的过程。通俗的说就是获取你的设备发往远程服务器以及远程服务器发送到你的设备的数据。数据包含以下部分:请求地址(URL)、请求头(request_header)、请求体(request_body)、响应码(response_code)、响应头(response_header)、响应体(response_body)。

2、抓包有什么用

HTTP抓包有多种用途,在代理圈内主要用途有去除广告、日常签到、自动任务、数据共享、解除限制。

总的来说,抓包是一种强大的工具,可以用于多种目的,但在使用时需要确保遵守相关法律和道德规范,以防止滥用。

3、怎么抓包

QX抓包的过程主要有3步,看图跟紧哦~

3.1、开启QX的HTTP抓取

QX开始抓包是比较快捷方便的,总共有两种方式:

  • 方法一:打开QX的主界面,长按右下角旋转的风车,点击HTTP抓取 即可开启。此时你会看到HTTP抓取下面的状态由已关闭更改为已开启 ,图标由灰色更改为橙色。

  • 方法二:打开QX的主界面,点击右下角旋转的风车,往下滑动到工具&分析模块,点击HTTP抓取进入数据抓取页面 ,点击右上角[HTTP]图标即可开启。此时你会看到HTTP图标由反斜杠[ \ ]遮蔽状态更改为非遮蔽状态。

怎么查看QX有没有开启抓包/有没有在抓包?

方式1中如果你长按小风车发现HTTP抓取 已经是“已开启”状态,则是已经开启了抓包,即HTTP抓取是开启状态。

方式2中如果你点击HTTP抓取 后看到右上角的[HTTP] 图标没有被反斜杠[ \ ] 遮蔽,则是已经开启了抓包,即HTTP抓取是开启状态。

开启抓包后,回到QX主界面,开关左侧出现警告标识⚠️,点击可查看提示语以及保持开启和立即关闭 选项。

3.2、打开你要抓包的软件或者网站开始操作

这里的“开始操作”是指打开你要抓包的软件或者网站后,开始可能抓到你想要的数据的动作,例如刷新、点击、滑动、登录、退出等。

上面的QX开启HTTP抓取的方法任选一个开启后,下面以著名的社(约)交(炮)软件Soul为例进行演示,目的是抓到广告数据,步骤:

打开Soul的APP,刷新推荐后点击一个帖子进入详情,往下滑发现了广告数据,此时操作就结束了。广告数据的关键字是“居然真的中了,29试抽了一下~”,这个关键字下面的步骤中会用到。

如果你抓取的内容是图片、网页或者其他内容,方式都大同小异。

3.3、关闭QX的HTTP抓取

QuantumultX关闭抓包也是比较快捷方便的,总共有三种方式:

方式1:打开QX的主界面,长按右下角旋转的风车,点击HTTP抓取 即可关闭。此时你会看到HTTP抓取下面的状态由已开启更改为已关闭 ,图标由橙色更改为灰色。

方式2:打开QX的主界面,点击右下角旋转的风车,往下滑动到工具&分析模块,点击HTTP抓取 进入数据抓取页面,点击右上角一排选项的第一个[HTTP]图标即可关闭。此时你会看到HTTP选项由非遮蔽状态更改为**反斜杠[ \ ]**遮蔽状态。

方式3:点击QX开关左侧的警告⚠️图标,选择立即关闭,关闭后不再有警告⚠️图标。

上面的三种关闭方式与开启抓包方式路径一样,就不再配置图片步骤。至此,QX抓包就已经结束了。下面开始查看已经抓到的数据。

4、怎么查看抓包数据

查看抓包数据的地方只有一个,在查看数据前,先了解一下数据抓取页面的布局及功能。

1、右上角左一的HTTP 图标:抓包的开关。左二的星号文件夹:抓包数据的收藏夹,你收藏的抓包数据都在这个文件夹里面,并且不会因为你删除了外面的文件夹就随之删除。

2、数据抓取下面以日期格式命名的文件夹:抓包数据的存放位置,你抓到的数据全在对应的文件夹里面,同时标记了文件内的数据数量(图中显示有61条请求数据)。文件夹左滑会有三个选项:详情,分享,删除。

如果有多个文件夹,则是以时间为顺序从新到旧的排列。

文件夹的日期不是抓包的时间点

有两种情况,1、你没有抓到任何数据,所以没有创建最新的文件夹;2、你之前已经抓过包,但是在没有关闭QX的情况下又开启了抓包,所以文件夹的名称还是之前的。 当关闭QX退出后台重新打开QX再打开抓包后,一般会创建新的文件夹。

文件夹无法删除:同上方情况2,该文件夹仍然被使用中(虽然你没有在抓包),如果想删除可以关闭QX退出后台重新打开QX。

没有抓到数据:如果你一顿操作后文件夹里面没有刚才操作的内容什么也没抓到,原本基本是你要抓包的APP或网站禁止抓包(禁止MITM,详见相关章节),操作过程中你可能会提示你网络错误或其他错误提示。

打开一个文件夹,顶部是文件夹的名称,下面是抓到的数据列表。

3、MITM额外主机名:正如文字下面所介绍的,你可以点击添加按钮添加主机名,一般无需修改保持默认即可。

介绍完页面后,开始查看抓包数据吧。步骤:

1、打开QX的主界面,点击右下角旋转的风车,往下滑动到工具&分析模块,点击HTTP抓取 进入数据抓取页面 ,你会看到数据抓取下面有以日期格式命名的文件夹,抓包的数据就在文件夹里面。

2、点击你要查看的文件夹(如果要查看刚抓的数据则是最上面的文件夹),文件夹内数据由新到旧排序。点击一条你想要查看的数据展开详情页面。

详情页面分为5部分,分别是原始请求地址、请求头、请求体、响应头、响应体。

请求体和响应体的查看方式共有4种,如果不支持某种方式则点击会有相关的提示语,一般都支持文本查看。

点击请求体的“文本查看”以及响应体的“文本查看”,显示以下数据。

请求地址:

以请求链接https://ssp.soulapp.cn/api/q?bi=["18d02f5f591"%2C"--"%2C"Apple"%2C"iOS"%2C"17.3"%2C"17.3"%2C"iPhone 14 Pro"%2C"3"%2C"393*852"%2C"AppStore"%2C"WiFi"%2C"zh"]&bik=32243&pageId=Post_Detail为例,包含协议 (Protocol): https:// 、域名 (Domain): ssp.soulapp.cn 、路径 (Path): /api/q 、参数 (Query Parameters)(若有,与路径用英文问号分割): bi=%5B%2218d02f5f591%22%2C%22--%22%2C%22Apple%22%2C%22iOS%22%2C%2217.3%22%2C%2217.3%22%2C%22iPhone%2014%20Pro%22%2C%223%22%2C%22393%2A852%22%2C%22AppStore%22%2C%22WiFi%22%2C%22zh%22%5D&bik=32243&pageId=Post_Detail。

请求头:

包含了关于浏览器、客户端和请求本身的一些信息。以上方的请求头为例

Host: 指定请求的目标主机,例如ssp.soulapp.cn。

User-Agent: 标识发起请求的用户代理(通常是浏览器)的信息,例如Soul_New/5.9.1 (iPhone; iOS 17.3; Scale/3.00; CFNetwork; iPhone15,2) SoulBegin-iOS-5.9.1-WIFI-SoulEnd。

Accept: 指定客户端能够处理的内容类型,通常是MIME类型,例如*/*

Accept-Language: 指定客户端接受的语言,例如zh-Hans-HK;q=1, zh-Hant-TW;q=0.9, zh-Hant-HK;q=0.8, en-HK;q=0.7, ko-HK;q=0.6

Accept-Encoding: 指定客户端能够处理的内容编码方式,例如gzip, deflate, br

Connection: 指定连接的状态,例如保持连接,例如keep-alive

Referer: 表示请求的来源,即前一个页面的URL。

Cookie: 包含客户端的Cookie,用于跟踪会话状态。

Authorization: 包含客户端提供的身份验证信息,用于访问受密码保护的资源。

Content-Type: 对于POST请求,指定请求体的类型,application/json。 其他参数基本是APP自定义的一些内容。

请求体:

通常包含客户端发送到服务器的数据。对于常见的POST请求,数据会包含在请求体中。上方的请求体为经过加密的数据。

响应头:

包含了关于服务器响应的一些信息。以下是一些常见的响应头字段:

Content-Type: 指定了响应体的类型,例如text/html表示HTML文档,application/json 表示JSON数据,image/png表示png格式的图片。响应体是什么类型,一般就在QX里选择什么类型的查看方式

Content-Length: 指定了响应体的长度(以字节为单位)。

Server: 描述了服务器的信息。

Date: 表示响应的日期和时间。

Set-Cookie: 用于在客户端保存Cookie信息,以维护会话状态。

Cache-Control: 控制缓存的行为,例如缓存的过期时间等

响应体:

包含了服务器返回给客户端的实际数据。具体内容取决于服务器的响应类型。对于HTML页面,响应体包含HTML文档;对于JSON API,响应体可能包含JSON格式的数据。上面的响应体中对用的类型是application/json,数据如下

此次抓包的目的是找到广告数据,数据肯定是在响应体里面,所以开始在响应体找想要的广告数据“居然真的中了,29试抽了一下~”,看看它在哪一条抓包数据中,但是这次抓包从文件夹显示的数量来看有一百多条,挨个找比较耗费时间,所以这里用右上角的搜索🔍功能。下面是图文介绍:

搜索技巧:

1、搜图片:数据列表如果是图片则在右侧直接显示,也可以在搜索页面的响应头选择image

2、搜文字:搜索页面直接搜索响应体或者请求体,也可以在搜索页面的响应头选择textjsonjavascript

3、搜视频:可以在搜索页面的响应头选择video

4、知道域名:可以在搜索页面的URL中输入域名模糊搜索或者选择列出的域名。

介绍完功能以后开始实操:

此次的响应体Content-Type是application/json,如果内容比较少则数据结构比较清晰,如果数据内容较多则可以借助其他工具方便查看。例如下图:

这里用JSON格式化工具https://www.bejson.com/jsonviewernew/格式化一下,想要抓到的广告数据在什么位置一目了然,这里是在response.body.data.prs[0]里面。

5、怎么使用抓包数据

抓包数据的主要用途有去除广告、日常签到、自动任务。下面以去除广告为例说明怎么使用。

利用QX的重写功能(详见相关章节),将广告所在的部分(响应体中的属性prs)替换成其他属性,这样APP就会找不到相关的广告数据,达到去广告的目的。规则如下:

配置好重写和主机名以后再次打开同一个帖子,发现规则被命中,广告已经被去除。

至此,QX的HTTP抓取功能从开启 -> 抓取 -> 关闭 -> 查找数据 -> 使用数据 讲解完毕。

最后更新于

这有帮助吗?