1. 程式人生 > >Python爬蟲入門教程 41-100 Fiddler+夜神模擬器+雷電模擬器配置手機APP爬蟲部分

Python爬蟲入門教程 41-100 Fiddler+夜神模擬器+雷電模擬器配置手機APP爬蟲部分

爬前叨叨

從40篇部落格開始,我將逐步講解一下手機APP的爬蟲,關於這部分,我們儘量簡化部落格內容,在這部分中可能涉及到一些逆向,破解的內容,這部分儘量跳過,畢竟它涉及的東西有點複雜,並且偏離了爬蟲體系太遠,有興趣的博友,可以一起研究下。

之前看到知乎有人對手機App爬蟲歸類,基本符合規則,接下來的10篇部落格可能集中在80%的App上,所以還是比較簡單的

  1. 50%的app,通過抓包軟體就可以分析出抓取引數並抓取到資訊。
  2. 30%的app,可能需要適當的反編譯,分析出加密演算法並抓取到資訊。
  3. 10%的app,可能加固,需要脫殼,然後反編譯,分析出加密演算法並抓取到資訊
  4. 10%的app,通過各式各樣的簽名,證書,裝置繫結等方法,隱藏加密演算法。

首先配置第一輪的環境,配置好了,下一篇部落格,就採用Fiddler+夜神模擬器[雷電模擬器]等實現美空APP的資料抓取工作

抓包

抓包是爬蟲裡面經常用到的一個詞,完整的應該叫做抓取資料請求響應包 ,而Fiddler這款工具就是幹這個的,當然還有其他工具,後面的部落格中咱也會提及到

你可以百度關鍵字:Fiddler抓取手機APP 相關的部落格一大票~,哪篇部落格基本都可以叫你入門,所以你可以看看各家的,今天我這篇部落格主要寫的是Fiddler配合模擬器實現抓包操作。

在這裡插入圖片描述

百度Fiddler軟體,找到官網,下載按照流程安裝即可,當然你可以自己去找一個漢化版,這個看你使用百度的水平了,我使用的是4.0以上版本,建議你也使用這個吧,當然版本越高越好。
在這裡插入圖片描述

做一些簡單的配置

普通https抓包設定

開啟Fiddler ------> Options .然後開啟的對話方塊中,選擇HTTPS tab頁,如圖所示:
在這裡插入圖片描述

說明 (配置完後記得要重啟Fiddler)

  1. 選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求
  2. Ignore server certificate errors忽略證書錯誤

第一次會提示是否信任fiddler證書及安全提醒,選擇yes,之後也可以在系統的證書管理中進行管理。

配置Fiddler允許遠端連線

切換tab選項卡到 Connections

配置埠

在這裡插入圖片描述

  1. 選中"Allow remote computers to connect". 是允許別的機器把HTTP/HTTPS請求傳送到Fiddler上來

等會設定手機代理時需要。設定好後重啟fiddler保證設定生效。

到現在為止,其實Fiddler已經可以抓取你電腦上瀏覽器訪問的資料了,如果不行,重啟Fiddler和瀏覽器即可

記錄本機的IP

開啟cmd視窗,不會的自行百度

在裡面輸入 ipconfig 獲取你的ip4地址 ,這個地址一定要記住,後面配置模擬器的時候是需要用的~

在這裡插入圖片描述

ip 192.168.137.1

下載模擬器

你可能更多的時候是使用模擬器來打遊戲,作為程式猿,模擬器上安裝APK是非常好用的。
自行下載安裝夜神模擬器,雷電模擬器或者其他的都可以

安裝完畢,長成這個樣子
下載APK檔案,直接拖拽到下面檢視,就可以直接安裝

在這裡插入圖片描述

找到設定,點選Wlan,長按滑鼠左鍵,出現如下介面

在這裡插入圖片描述

點選修改網路

代理模式選擇手動,輸入剛才的IP和上述提到的8888埠

在這裡插入圖片描述

使用模擬器預設瀏覽器開啟 http://192.168.137.1:8888, 點"FiddlerRoot certificate" 然後安裝證書,如圖:

在這裡插入圖片描述

安裝完畢之後,開啟模擬器上的瀏覽器,輸入www.baidu.com

在Fiddler中抓取到如下連結,代表環境配置已經完畢
在這裡插入圖片描述

溫馨提示下,在抓包過程中,你的fiddler不能關閉哦。關閉了之後你手機網路就不能用了。

停止網路監控的話去掉wifi的代理設定即可

設定過濾

1.手機上設定代理後,這時候fiddler上抓到的是pc和app所有的請求,如果pc上開啟網址,會很多,這時候就需要開啟過濾功能了。

2.開啟fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾選這個選項就可以了
在這裡插入圖片描述

  • …from all processes :抓所有的請求
  • …from browsers only :只抓瀏覽器的請求
  • …from non-browsers only :只抓非瀏覽器的請求
  • …from remote clients only:只抓遠端客戶端請求

Fiddler 抓包簡介

Fiddler想要抓到資料包,要確保Capture Traffic是開啟,在File –> Capture Traffic。開啟後再左下角會有顯示,當然也可以直接點選左下角的圖示來關閉/開啟抓包功能。
在這裡插入圖片描述

需要能簡單看懂Fiddler上的內容

更詳細的使用,可以參考一篇寫的很不錯的文章 參考部落格

在這裡插入圖片描述

上述橫著的紅色框

名稱 含義
# 抓取HTTP Request的順序,從1開始,以此遞增
Result HTTP狀態碼
Protocol 請求使用的協議,如HTTP/HTTPS/FTP等
Host 請求地址的主機名
URL 請求資源的位置
Body 該請求的大小
Caching 請求的快取過期時間或者快取控制值
Content-Type 請求響應的型別
Process 傳送此請求的程序:程序ID
Comments 允許使用者為此回話新增備註
Custom 允許使用者設定自定義值

下面豎著的紅色框

圖示 含義
在這裡插入圖片描述 請求已經發往伺服器
在這裡插入圖片描述 已從伺服器下載響應結果
在這裡插入圖片描述 請求從斷點處暫停
在這裡插入圖片描述 響應從斷點處暫停
在這裡插入圖片描述 請求使用 HTTP 的 HEAD 方法,即響應沒有內容(Body)
在這裡插入圖片描述 請求使用 HTTP 的 POST 方法
在這裡插入圖片描述 請求使用 HTTP 的 CONNECT 方法,使用 HTTPS 協議建立連線隧道
在這裡插入圖片描述 響應是 HTML 格式
在這裡插入圖片描述 響應是一張圖片
在這裡插入圖片描述 響應是指令碼格式
在這裡插入圖片描述 響應是 CSS 格式
在這裡插入圖片描述 響應是 XML 格式
在這裡插入圖片描述 響應是 JSON 格式
在這裡插入圖片描述 響應是一個音訊檔案
在這裡插入圖片描述 響應是一個視訊檔案
在這裡插入圖片描述 響應是一個 SilverLight
在這裡插入圖片描述 響應是一個 FLASH
在這裡插入圖片描述 響應是一個字型
在這裡插入圖片描述 普通響應成功
在這裡插入圖片描述 響應是 HTTP/300、301、302、303 或 307 重定向
在這裡插入圖片描述 響應是 HTTP/304(無變更):使用快取檔案
在這裡插入圖片描述 響應需要客戶端證書驗證
在這裡插入圖片描述 服務端錯誤
在這裡插入圖片描述 會話被客戶端、Fiddler 或者服務端終止

好了,文章到此結束了~~大家Fiddler用起來吧

下一篇,將寫一下如何爬取美空APP

在這裡插入圖片描述