爬前叨叨
從40篇部落格開始,我将逐漸講解一下手機APP的爬蟲,關于這部分,我們盡量簡化部落格内容,在這部分中可能涉及到一些逆向,破解的内容,這部分盡量跳過,畢竟它涉及的東西有點複雜,并且偏離了爬蟲體系太遠,有興趣的博友,可以一起研究下。
之前看到知乎有人對手機App爬蟲歸類,基本符合規則,接下來的10篇部落格可能集中在80%的App上,是以還是比較簡單的
- 50%的app,通過抓包軟體就可以分析出抓取參數并抓取到資訊。
- 30%的app,可能需要适當的反編譯,分析出加密算法并抓取到資訊。
- 10%的app,可能加強,需要脫殼,然後反編譯,分析出加密算法并抓取到資訊
- 10%的app,通過各式各樣的簽名,證書,裝置綁定等方法,隐藏加密算法。
首先配置第一輪的環境,配置好了,下一篇部落格,就采用Fiddler+夜神模拟器[雷電模拟器]等實作兒歌多多APP的資料抓取工作
抓包
抓包是爬蟲裡面經常用到的一個詞,完整的應該叫做抓取
資料請求響應包
,而Fiddler這款工具就是幹這個的,當然還有其他工具,後面的部落格中咱也會提及到
你可以百度關鍵字:Fiddler抓取手機APP 相關的部落格一大票~,哪篇部落格基本都可以叫你入門,是以你可以看看各家的,今天我這篇部落客要寫的是Fiddler配合模拟器實作抓包操作。

百度Fiddler軟體,找到官網,下載下傳按照流程安裝即可,當然你可以自己去找一個漢化版,這個看你使用百度的水準了,我使用的是4.0以上版本,建議你也使用這個吧,當然版本越高越好。
做一些簡單的配置
普通https抓包設定
打開Fiddler ------> Options .然後打開的對話框中,選擇HTTPS tab頁,如圖所示:
說明 (配置完後記得要重新開機Fiddler)
- 選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求
- Ignore server certificate errors忽略證書錯誤
第一次會提示是否信任fiddler證書及安全提醒,選擇yes,之後也可以在系統的證書管理中進行管理。
配置Fiddler允許遠端連接配接
切換tab頁籤到
Connections
配置端口
- 選中"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