日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

寫過爬蟲的同學(xué)都知道,當(dāng)我們想對(duì)App或者小程序進(jìn)行抓包時(shí),最常用的工具是Charles、Fiddler或者M(jìn)imtProxy。但這些軟件用起來非常復(fù)雜。特別是當(dāng)你花了一兩個(gè)小時(shí)把這些軟件搞定的時(shí)候,別人只用了15分鐘就已經(jīng)手動(dòng)把需要的數(shù)據(jù)抄寫完成了。

我的需求

如果你不是專業(yè)的爬蟲開發(fā)者,那么大多數(shù)時(shí)候你的抓包需求都是很小的需求,手動(dòng)操作也不是不能。這種時(shí)候,我們最需要的是一種簡(jiǎn)單快捷的,毫不費(fèi)力的方法來解放雙手。

例如我最近在玩《塞爾達(dá)傳說——王國(guó)之淚》,我有一個(gè)小需求,就是想找到防御力最大的帽子、衣服和褲子來混搭。這些數(shù)據(jù),在一個(gè)叫做『Jump』的App上面全都有,如下圖所示:

圖片圖片

防具總共也就幾十個(gè),肉眼一個(gè)一個(gè)看也沒問題,就是費(fèi)點(diǎn)時(shí)間而已。那么,如果我想高效一些,有沒有什么簡(jiǎn)單辦法通過抓包再加上Python/ target=_blank class=infotextkey>Python寫幾行代碼來篩選,快速找到我想要的數(shù)據(jù)呢?

手機(jī)上的操作

實(shí)際上,方法非常簡(jiǎn)單。我們只需要在手機(jī)上安裝一個(gè)App,叫做『Stream』,如下圖所示:

圖片圖片

這個(gè)軟件在App Store國(guó)區(qū)就可以下載。

第一次打開這個(gè)App的時(shí)候,我們?cè)O(shè)置一下根證書,點(diǎn)擊下圖中箭頭指向的這個(gè)按鈕:

圖片圖片

他會(huì)一步一步指導(dǎo)你安裝根證書。整個(gè)過程不超過30秒,這里我就不再贅述了。

安裝完成根證書以后,我們點(diǎn)擊『開始抓包』按鈕。此時(shí),手機(jī)上面所有的流量就會(huì)經(jīng)過Stream并抓取下來。

我們打開Jump App,找到防具列表,然后不停往下滑動(dòng)屏幕,直到滑到最下面。

然后回到Stream,點(diǎn)擊『停止抓包』按鈕。抓包過程就完成了。

我們點(diǎn)擊『抓包歷史』按鈕,找到剛剛抓到的數(shù)據(jù)包,如下圖所示:

圖片圖片

按域名進(jìn)行篩選,方便找到Jump App發(fā)送的HTTP請(qǐng)求。如下圖所示:

圖片圖片

打開請(qǐng)求以后,點(diǎn)擊『響應(yīng)』-『查看響應(yīng)』按鈕,如下圖所示:

圖片圖片

我們就能看到如下圖所示請(qǐng)求體,這確實(shí)就是防具對(duì)應(yīng)的數(shù)據(jù)包,如下圖所示:

圖片圖片

我們現(xiàn)在,需要使用篩選功能,選出所有獲取防具信息的后端請(qǐng)求。所以先到『請(qǐng)求選項(xiàng)卡』,查看一下URL的規(guī)律,如下圖所示:

圖片圖片

回到請(qǐng)求列表頁,點(diǎn)擊右上角的放大鏡進(jìn)行篩選,如下圖所示:

圖片圖片

篩選以后,只有5個(gè)請(qǐng)求了,如下圖所示:

圖片圖片

最后一步,我們點(diǎn)擊右上角的『編輯』按鈕,選中所有請(qǐng)求,并點(diǎn)擊右下角的『導(dǎo)出HAR』,如下圖所示:

圖片圖片

大家可以使用AIrDrop或者微信發(fā)送到電腦上。到此為止,手機(jī)上的所有操作就已經(jīng)結(jié)束了。接下來我們來到電腦上,寫一段Python代碼來解析這個(gè)HAR文件。

寫一點(diǎn)點(diǎn)代碼

這段代碼非常簡(jiǎn)單,大家可以直接復(fù)制:

import json
import brotli
import base64
from haralyzer import HarParser


with open('/Users/kingname/Downloads/Stream-2023-07-06 22:08:44.har') as f:
    har_parser = HarParser(json.loads(f.read()))


data = har_parser.har_data
entries = data['entries']
for entry in entries:
    text = entry['response']['content']['text']
    content = brotli.decompress(base64.b64decode(text)).decode()
    info = json.loads(content)
    print(info)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

運(yùn)行效果如下圖所示:

圖片圖片

這里我們使用了兩個(gè)第三方庫(kù),分別是haralyzer和brotli。其中的haralyzer是用來解析HAR文件;brotli是用來對(duì)數(shù)據(jù)進(jìn)行解壓縮。

在一般情況下,其他網(wǎng)站的HAR解析,代碼到text = entry['response']['content']['text']就可以了。返回的text直接就是人眼可讀的內(nèi)容了。但Jump稍微特殊一些,因?yàn)樗祷氐膬?nèi)容經(jīng)過壓縮,所以獲取到的是Base64字符串。如果我們直接打印,就會(huì)看到:

圖片圖片

這個(gè)Base64不能直接解碼,因?yàn)榻饬艘院笫嵌M(jìn)制信息。從之前Stream的響應(yīng)Headers里面,我們可以看到這個(gè)數(shù)據(jù)是經(jīng)過br壓縮的,如下圖所示:

圖片圖片

所以需要使用brotli解壓縮:brotli.decompress(base64.b64decode(text)).decode()。

現(xiàn)在你已經(jīng)拿到返回?cái)?shù)據(jù)的JSON信息了。那么接下來要對(duì)數(shù)據(jù)進(jìn)行怎么樣的處理,都不再是問題了。

總結(jié)

  1. 安裝Stream并設(shè)置根證書
  2. 打開抓包功能
  3. 打開目標(biāo)App或者微信小程序,讓流量經(jīng)過Stream
  4. 關(guān)閉抓包功能,從抓包歷史里面找到目標(biāo)請(qǐng)求的URL規(guī)則
  5. 篩選出所有需要的請(qǐng)求,導(dǎo)出為HAR文件
  6. 使用Python解析HAR文件

當(dāng)你熟練以后,整個(gè)過程不超過3分鐘就能完成。

分享到:
標(biāo)簽:iOS
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定