首页 > 编程知识 正文

安卓抓包工具,ios直接抓包app

时间:2023-05-06 12:43:48 阅读:54193 作者:4814

公开后台回复《书》,了解更多号主新书内容作者: pk哥

来源: Python知识圈

这半个月,pk哥哥在b站上传了两个关于爬行动物的视频。 很多B站的伙伴都私信我。 那些要求参数是什么意思? 怎么更快地取得这些要求? 充当爬行动物的前戏:调试和抓包很重要。 今天,我们将详细介绍浏览器F12开发人员调试工具和APP清理的常用用法。

网站包首先对网络爬虫来说怎么抓包? 很简单。 通过直接在网络上检查或右键单击快捷键F12,可以访问开发人员调试工具。 如果页面是通过请求接口返回的数据,则Network生成所请求的数据,并可以在此处捕捉。

以以前的p站为例。 这个接口分为两个部分。 一个是要求的数据,另一个是返回的数据。 请求的信息主要在Headers上。 那个主要有以下部分。 第一部分,通用主要包括请求的链接URL和他的请求方式。 使用最多的是get和post。 还有请求状态代码。

请查看请求标头中的信息。 介绍请求标题中重要的几个请求参数。

第一个是Cookie。 什么是Cookie? cookie与用户相关,当站点首次登录以标识用户时,您的cookie信息被返回并存储在站点服务器中,并且当请求第二页时,请求信息携带cookie以允许站点标识用户当然,Cookie存储具有时效,超过规定时,Cookie将被禁用。 在网站上,请再次登录并重新获取新的Cookie。 因此,对于需要登录才能查看数据的站点,在请求接口时必须指定cookie参数。 如果不指定,就无法请求数据。

第二个请求参数是Referer。 此参数告诉站点服务器它是从哪个页面跳过来的。 如果此参数为空或网址不是服务器白名单的网址,服务器可能很快就会确定您是异常请求或爬虫。

第三个重要的是用户代理。 网站用于检测你的请求是人为的还是实际的浏览器行为。 我们加入用户代理是为了模仿实际的浏览器,“欺骗”站点服务器。 如果你不添加的话,你就会在别人的服务器上“裸奔”。 说你在别人家的地盘上做颜色,服务器不会屏蔽你吧?

最后是查询字符串参数。 因为这是get请求,所以这些参数也就是请求url后跟问号的参数。 例如,上一次谈到的插图展示模式mode、下载页数p,这些都归纳为一个元组。

params=() mode、) hcdfg、) content、) illust、)、p、)、format、) json、)这些分析出来后。 这就是要求通过requests库将数据返回到接口。

response=requests.get(URL,headers=headers,params=params ) )我刚才说的cookie,user-agent等信息自己拼写并转换为Python代码格式有大人物已经建立的转换的网站。 您可以在3秒钟内处理这些参数。

第一秒,复印请求接口的cURL。

第二秒,将刚才复印的cURL粘贴到转换站点,语言选择Python。 (默认值为Python,还支持其他语言,总共支持14种语言。

第https://curl.trillworks.com/秒,将转换后的Python requests复制到编辑器中时,将提供有关headers和params的详细信息。 最快只需要三秒钟吗!

如何在捕获APP的基础上共享网络捕获,是如何捕获APP的请求数据的呢? 这是

我们需要下载第三方软件去搞定了,我常用的有 Charles 和 Fiddler 软件,这两款工具主要功能差不多的,任选一款就好,也听说过 Fiddler 比 charles 强大那么一点点,但是我更喜欢 Charles,因为它的界面展示的接口有层级目录感,而 Fiddler 所有接口都是并列的。

所以接下来我以 Charles 为例,讲讲 Charles 是怎么抓包的。

Charles 基础设置

在开始用 Charles 调试抓取网页或者 APP 前,我们需要对 Charles 做一些基础的设置。首先我们得在 Proxy-Proxy Setting 中设置代理端口号,默认为 8888,一般用默认的就行,除非和电脑上其他端口有冲突,然后勾选下面的容许抓取 HTTP 域名的选项。

Charles 抓包网页

Charles 不仅能抓包 APP,电脑网页也是可以抓取的,下面这张图就是我抓取的 bilibili 动画主页的请求。

抓取电脑网页前,我们只需要把 Proxy 里的 macOS Proxy 选项(Window系统显示的是 Windows Proxy)勾上就可以捕捉网页端的请求了。

Charles 下面我们可以用筛选功能让它只显示我们需要抓取的域名就行。

Charles 抓包APP

网页能抓,APP 当然也不在话下,但在抓取前需要做下简单的设置。

安装证书到移动设备

首先,我们让手机和电脑要在同一局域网下,先查看下电脑的 IP,Windows 电脑在 cmd 里输入 ipconfig 命令查看 IP,Mac 电脑在终端输入 ifconfig 查看 IP,手机的无线网里设置代理,填上刚查到的 IP 和端口号 8888。

安卓手机是在长按已连接的 wife,啊呸,wifi,勾上显示高级选项,把代理设置为手动,然后把上面电脑上的 ip 和 Charles 设置的端口号输入到主机名和端口里,点击保存。

如果手机是第一次和 Charles 连接,Charles 上会有设备接入弹窗提示,选择 Allow 同意即可。

连上之后,我们点击 Help-SSL Proxying-Install Charles Root Certificate on a Mobile Devices or Remote Browser,这时会有个弹窗。

弹窗的意思就是让在安卓设备或 ios 设备或安卓模拟器设置好代理后,然后在浏览器里输入 chls.pro/ssl 网址 去下载安装证书。

charles 下方还有一段提醒说的是 ios 10 以上的手机安装完证书后,需要在设置-通用-关于本机-证书信任设置,把刚才安装的证书信任下。

我这操作的是苹果手机,安卓手机没有信任这一步。

证书都安装完成后,操作手机上的 APP,就会抓到大量的数据信息了。

抓取数据显示 unknown 的解决办法

假如你抓取的全部数据出现 unknown 的情况,比如下面我是打开手机的哔哩哔哩APP,抓取的的全是 unknown。

这时我们需要在 Proxy-SSL Proxy Settings ,在 Host 里输入需要抓取的主域名 app.bilibili.com 和端口 443,清空抓取的数据再次打开哔哩哔哩 APP,就能看到抓取的数据了。

3秒转换成 Python请求

还是上面一样方法,3秒直接转换成我们需要的 Python 请求头。

在接口上右键 copy cURL Request

粘贴到转换网站中

headers 信息和 cookies 信息就轻松转换过来了。

Charles 其他功能

Charles 还有其他的功能,比如模拟网速,这个测试同学可能会经常用到,手机连上 Charles 代理后,在 Proxy-Throttle Settings 中设置不同的网速,可以设置弱网的环境,然后点击 start Throttling 开启,这样就可以测试 APP 在弱网情况下的反应了。

对于测试同学来说,Charles 还有个好用的功能:断点。

什么是断点呢?开发的时候,经常需要对代码进行 debug 断点调试,让程序中断在需要的地方,从而方便其分析。Charles 中的断点功能也是类似的。

这个功能主要是在测试过程中,对于有些极端的数字我们无法模拟的情况下,我们给这个接口的主域名上设置断点,修改该接口的请求或者返回信息也就是假传圣旨后再发给服务器。

举个例子,比如测试贷款业务,显示贷款金额,比如最大金额是 1 个亿,假如测试中这个数据不好造,但我们需要测试下最大金额时页面显示的情况,是否会被截断或者不显示,这时可以借助断点,改变金额后返回给页面,页面显示的就是你修改之后的数据了。

最后,断点结束后,记得关闭断点,还有,电脑上的 Charles 抓包工具关闭时,记得将手机上的代理关闭,否则手机会上不了网。

以上就是网页抓包调试和 Charles 抓包的主要功能了,这些只是爬虫的前期工作,听了 pk哥今天的分享,大家应该都能 3 秒搞定爬虫前的请求参数了。

好了,以上就是今天的全部分享内容了,求点赞,求在看你,求转发,你也可以评论区留言讨论。

◆ ◆ ◆  ◆ ◆壮观的板凳新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的: 数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。管理员二维码:猜你喜欢● 卧槽!原来爬取B站弹幕这么简单● 厉害了!壮观的板凳新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。