App爬蟲及代理的使用
- 一、App抓包
- 1. App爬蟲原理
- 2. reqable的安裝與配置
- 1. reqable安裝教程
- 2. reqable的配置
- 3. 模擬器的安裝與配置
- 1. 夜神模擬器的安裝
- 2. 夜神模擬器的配置
- 4. 內聯調試及注意事項
- 1. 軟件啟動順序
- 2. 開啟抓包功能
- 3. reqable面板功能
- 4. 夜神模擬器設置項
- 5. 注意事項
- 5. Requable代理瀏覽器網絡
- 1. 配置瀏覽器代理
- 2. Requable配置瀏覽器代理
- 二、代理的使用
- 1. 付費代理
- 1. 找付費代理服務站點
- 2. 生成獲取代理的api接口
- 3. python請求接口
- 4. 代理使用注意事項
- 2. 免費代理
- 1. 代理池設計
- 2. Redis數據庫
- 1. Redis是什么?
- 2. Redis應用場景
- 3. Redis安裝
- 4. Redis數據庫有序集合操作
- 3. 代理池實現
- 1. 采集模塊
- 2. 存儲模塊
- 3. 檢測模塊
- 4. web接口
- 5. 調度模塊
- 6. 配置文檔
- 總結:
一、App抓包
1. App爬蟲原理
Application(以下稱App)主要指安裝在智能手機上的應用程序。APP 運行在相應的操作系統上,如蘋果公司的 iOS 系統或谷歌公司的 Android 系統。
App 和網站都是 Web 應用,它們與服務器通信時使用的協議是相同的。
與網站不同的是,App 的網絡傳輸和數據收發相對隱蔽,用戶既無法直接查看客戶端發出的請求信息和服務器端返回的響應內容,也無法直接查看 App 的代碼。
為了能像使用瀏覽器開發者工具一樣對APP數據進行抓包,就必須先要一個能夠對app數據進行抓取的開發者工具。
2. reqable的安裝與配置
reqable是位于客戶端和服務器端之間的代理,也是目前最常用的抓包工具之一 。它能夠記錄客戶端和服務器之間的所有 請求,可以針對特定的請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至可以修改服務器返回的數據,功能非常強大,是web調試的利器。
看到這么多的應用,是不是就迫不及待的想要開始你的抓包之旅呢,不要急,俗話說的好:工欲善其事,必先利其器,我們先來安裝reqable吧。
官網下載地址:https://reqable.com/
1. reqable安裝教程
● 安裝教程如下:
(1)雙擊安裝包,如下所示,選擇想要存放的目錄,如果不需要修改,使用默認的即可,然后點擊Next:
(2)會出現以下界面,繼續點擊Next
(3)點擊Install,等待幾秒即可安裝
(4)安裝后雙擊運行,如下所示到這里我們就初步安裝成功了
2. reqable的配置
如果想要對手機上的app進行抓包怎么辦呢,那么你還需要進行以下操作:
- 首先你的Fiddler所在的電腦和手機必須處在同一個局域網內(即連著同一個路由器)。
- 其次需要修改reqable監聽的ip和端口號,如下所示:
這個ip和端口號就是手機app設置的代理,后續在手機端我們會設置
最后就是需要配置證書,沒有證書就會導致手機沒網絡。配置證書在本教程中需要配置到模擬器,后續在配置模擬器的再詳細介紹。證書配置的教程在reqable中也有教程,具體參照:安裝教程
3. 模擬器的安裝與配置
為了能像使用瀏覽器開發者工具一樣對APP數據進行抓包,就必須要一個能運行APP的環境。目前主流的是使用模擬器進行抓包,原因有以下幾點:
- Android8.0 以上安卓系統有些數據抓取不到
- 模擬器環境配置相對簡單,容易root之后獲取更高的權限
當然也可以選擇使用真機進行調試。但是實際采用真機會有很多不必要的麻煩,必須重做系統、獲取root權限多多少少會影響到正常的使用,如果專門購買一個真機專門用于app調試,也免不了要多踩很多坑(國內的廠商都有自己的優化,并且手機型號、系統版本等等都會影響到調試)。
1. 夜神模擬器的安裝
● 官網下載地址:https://www.yeshen.com/
● 雙擊安裝包,選擇安裝路徑,點擊安裝即可:
2. 夜神模擬器的配置
安裝高版本安卓系統
● 目前許多app應用對低版本的安卓系統會有不兼容的情況。所以建議在夜深模擬器中安裝安卓9的系統版本
『使用模擬器助手,即可選擇系統版本安裝』
配置代理
● 在系統頁面中找到 工具 中找到 設置,在設置頁面下拉找到網絡和互聯網點擊
● 點擊 WLAN
● 點擊 編輯 按鈕
● 點擊 設置 按鈕
● 點擊 高級選項 下拉按鈕
● 代理模式選擇 手動,填寫代理服務器主機名和代理服務器端口,點擊保存
注意:reqable中顯示監聽的ip和端口是什么,那么在這里就填寫什么
配置證書
Android 7.0之后默認不相信用戶自己安裝的證書,這樣一來抓包工具就無法抓取https加密的報文,這種情況下解決辦法只有兩個,一個是不用android7.0以上的設備,還有一個方法就是安裝系統的根證書。接下來我們來看看如何安裝系統的根證書。
● 配置 ADB
ADB 全稱為 Android Debug Bridge,起到調試橋的作用,是一個客戶端-服務器端程序。其中客戶端是用來操作的電腦,服務端是 Android 設備。
ADB 也是 Android SDK 中的一個工具,可以直接操作管理 Android 模擬器或者真實的 Android設備。
(1)Google很好心,直接放出ADB的zip供人下載。路徑如下:
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://googledownloads.cn/android/repository/platform-tools-latest-darwin.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip
(2)配置 ADB系統環境變量
ADB 壓縮包解壓到指定目錄后,把解壓路徑放到系統變量里去(Path)
(3)電腦打開cmd窗口,輸入 adb version ,顯示 adb 版本,說明安裝成功
● 使用 ADB 操作證書移動以及權限的修改
(1)在 Reqable 中下載證書,每臺電腦下載的文件名字會不一樣
(2)打開CMD操作證書的移動及權限的修改
要啟動夜神模擬器操作、關掉退出殺毒軟件等
① 用 ADB 指令先連接模擬器
adb devices
注意!!!注意!!!注意!!!
連接為空,可以使用端口連接夜神模擬器
adb connect 127.0.0.1:62001
(3) 將下載好的證書移動到模擬器安卓系統根路徑 / 下
① 首先要進入模擬器安卓系統修改文件目錄權限
adb shell
② 修改根目錄和system目錄權限可讀可寫
mount -o rw,remount /
mount -o rw,remount /system
③ 輸入 exit 退出模擬器安卓系統終端
exit
④ 將證書從windows系統移動到模擬器安卓系統下
格式:adb push 證書路徑 存放在模擬器路徑
adb push 證書路徑 /system/etc/security/cacerts/
⑤ 再次進入模擬器安卓終端,修改證書權限
chmod 644 /system/etc/security/cacerts/證書文件名
至此為止, 證書安裝成功, 需要重啟模擬器生效
● 查看證書是否安裝到系統證書
手機進入:設置–>安全性和位置信息–>加密與憑據–>信任的憑據–>系統
4. 內聯調試及注意事項
1. 軟件啟動順序
因為在模擬器中配置了代理服務器主機名和代理服務器端口,對應的就是reqable監聽的ip和端口,所有的模擬器網關都會走這里。因此當我們單獨啟動模擬器的時候是沒有網絡的。
所以每次軟件的啟動的順序如下,這樣啟動模擬器才會有網絡:
- 先打開reqable
- 再打開夜神模擬器
2. 開啟抓包功能
如果reqable需要抓取模擬器的請求,需要在軟件界面啟動抓包功能,如下所示:
但是如果直接這樣啟動會抓取到很多系統代理,我們不需要分析這類系統代理請求,可以關閉此功能,如下所示:
3. reqable面板功能
完整的面板功能介紹請參考官方文檔:http://reqable.com/docs/overview
列表部件功能
列表數據
選中一個列表項,雙擊可以打開詳情:
快捷操作欄
4. 夜神模擬器設置項
5. 注意事項
系統代理
reqable配置了系統證書后,會自動代理系統代理。導致后續使用代碼發送http請求的時候報代理錯誤。因此在使用代碼請求的時候需要在系統設置里面關閉系統代理。
安裝App應用
系統應用無法安裝App應用,如需安裝可以在豌豆莢下載App應用安裝包
豌豆莢官網地址:https://www.wandoujia.com/
選擇普通下載
下載的文件尾綴是apk,此格式也是安卓應用安裝包格式
將下載的apk安裝包拖入到模擬器即可安裝應用
5. Requable代理瀏覽器網絡
某些網站會檢測瀏覽器開發者工具狀態 ,一旦啟用開發者工具進行抓包,會進入無線Debug狀態。在此狀態下我們無法抓取數據包,那么我們可以不使用瀏覽器開發則會工具抓包。可以配置代理后使用Requable進行抓包。
目標站點:https://www.qidian.com/rank/yuepiao/
1. 配置瀏覽器代理
瀏覽器需要走自己的代理,可以借助SwitchyOmega代理插件,將此插件安裝在瀏覽器后,按照如下方式配置:
配置好代理插件后,可以在插件欄固定,方便切換代理:
使用插件,選擇配置好的代理:
2. Requable配置瀏覽器代理
首先需要安裝windows系統證書
配置抓包的服務器ip和端口,啟動即可抓包
效果顯示:
溫馨提示:瀏覽器不使用代理的時候需要切換到直接連接模式,不然會沒有網絡。
二、代理的使用
1. 付費代理
1. 找付費代理服務站點
搜索 代理ip ,能夠發現有很多付費代理服務站點
目前付費代理站點一般注冊后,會有免費的測試代理用量,學習階段用免費的做測試就夠用了。不過現在代理網站普遍都需要實名認證,也會有站點的工作人員聯系你添加聯系方式,額外也會送你一些ip測試。
-
教學所用的代理服務網站是:巨量IP,用其他網站的代理服務也可以,使用方法大同小異
-
品易HTTP網址:https://www.juliangip.com/