網絡爬蟲 - App爬蟲及代理的使用(十一)

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和端口,所有的模擬器網關都會走這里。因此當我們單獨啟動模擬器的時候是沒有網絡的。

所以每次軟件的啟動的順序如下,這樣啟動模擬器才會有網絡:

  1. 先打開reqable
  2. 再打開夜神模擬器

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測試。

  1. 教學所用的代理服務網站是:巨量IP,用其他網站的代理服務也可以,使用方法大同小異

  2. 品易HTTP網址:https://www.juliangip.com/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82423.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82423.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82423.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【25.06】FISCOBCOS使用caliper自定義測試 通過webase 單機四節點 helloworld等進行測試

前置條件 安裝一個Ubuntu20+的鏡像 基礎環境安裝 Git cURL vim jq sudo apt install -y git curl vim jq Docker和Docker-compose 這個命令會自動安裝docker sudo apt install docker-compose sudo chmod +x /usr/bin/docker-compose docker versiondocker-compose vers…

【基礎】Unity中Camera組件知識點

一、投影模式 (Projection) 1. 透視模式 (Perspective) 原理:模擬人眼,近大遠小(錐形體視錐) 核心參數: Field of View (FOV):垂直視場角 典型值:第一人稱 60-90,駕駛艙 30-45 特…

PCA(K-L變換)人臉識別(python實現)

數據集分析 ORL數據集, 總共40個人,每個人拍攝10張人臉照片 照片格式為灰度圖像,尺寸112 * 92 特點: 圖像質量高,無需灰度運算、去噪等預處理 人臉已經位于圖像正中央,但部分圖像角度傾斜(可…

【Git】View Submitted Updates——diff、show、log

在 Git 中查看更新的內容(即工作區、暫存區或提交之間的差異)是日常開發中的常見操作。以下是常用的命令和場景說明: 文章目錄 1、查看工作區與暫存區的差異2、查看提交歷史中的差異3、查看工作區與最新提交的差異4、查看兩個提交之間的差異5…

deepseek原理和項目實戰筆記2 -- deepseek核心架構

混合專家(MoE) ??混合專家(Mixture of Experts, MoE)?? 是一種機器學習模型架構,其核心思想是通過組合多個“專家”子模型(通常為小型神經網絡)來處理不同輸入,從而提高模型的容…

GPU層次結構(Nvidia和Apple M芯片,從硬件到pytorch)

這里寫目錄標題 0、驅動pytorch環境安裝驗證1.window環境2.Mac Apple M芯片環境 1、Nvidia顯卡驅動、CUDA、cuDNN關系匯總1**1. Nvidia顯卡驅動(Graphics Driver)****2. CUDA(Compute Unified Device Architecture)****3. cuDNN&a…

OpenWrt 搭建 samba 服務器的方法并解決 Windows 不允許訪問匿名服務器(0x80004005的錯誤)的方法

文章目錄 一、安裝所需要的軟件二、配置自動掛載三、配置 Samba 服務器四、配置 Samba 訪問用戶和密碼(可選)新建 Samba 專門的用戶添加無密碼的 Samba 賬戶使用root賬戶 五、解決 Windows 無法匿名訪問Samba方案一 配置無密碼的Samba賬戶并啟用匿名訪問…

CentOS 7鏡像源替換

更換為阿里云鏡像源(適用于 CentOS 7) 1、備份原來的 repo 文件: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下載阿里云的 CentOS 7 repo 文件: curl -o /etc/yum.repos.d/CentOS-Base…

功能結構整理

C# Sxer Sxer.Base:基礎子功能 Sxer.Base.Debug:打印 Sxer.Utility:工具類 Sxer.CustomFunction:獨立功能點開發 Unity

云計算Linux Rocky day02(安裝Linux系統、設備表示方式、Linux基本操作)

云計算Linux Rocky day02(安裝Linux系統、設備表示方式、Linux基本操作) 目錄 云計算Linux Rocky day02(安裝Linux系統、設備表示方式、Linux基本操作)1、虛擬機VMware安裝Rocky2、Linux命令行3、Linux Rocky修改字體大小和背景顏…

【論文閱讀】《PEACE: Empowering Geologic Map Holistic Understanding with MLLMs》

目錄 前言一、研究背景與問題1-1、地質圖的重要性1-2、現有MLLMs的不足 二、 主要貢獻2-1、GeoMap-Bench:首個地質圖理解評估基準2-2、GeoMap-Agent:首個地質圖專用AI代理2-3、實驗驗證與性能優勢 三、關鍵技術3-1、 數據構建與預處理3-2、分層信息提取&…

計算機網絡通信技術與協議(八)----關于IS-IS的基礎概念

關于IS-IS最早是ISO為CLNP(Connectionless Network Protocol,無連接網絡協議)而設計的一種動態路由協議。 目錄 這里提到了CLNP這個概念,在這里解釋一下: CLNS由以下三個協議構成: 那么為什…

網絡原理1

協議 在網絡通信中,協議是非常重要的概念。協議是在網絡通信過程中的約定。發送方和接收方需要提前商量好數據的格式,才能確保正確進行溝通。 應用層協議 應用層,對應著應用程序,是跟我們程序員打交道最多的一層。調用操作系統…

【運維】統信UOS操作系統aarch64自制OpenSSH 9.6p1 rpm包(含ssh-copy-id命令)修復漏洞

為修復如下OpenSSH漏洞,openssh從8.2升級至9.6,然而并未找到統信9.6的rpm源,所以自己動手制作,折騰了一天,在此記錄一下 準備工作 檢查版本 cat /etc/os-releaseuname -a如圖當前環境為aarch64架構,在其…

CI/CD 持續集成、持續交付、持續部署

CI/CD 是 持續集成(Continuous Integration) 和 持續交付/持續部署(Continuous Delivery/Deployment) 的縮寫,代表現代軟件開發中通過自動化流程快速、可靠地構建、測試和發布代碼的實踐。其核心目標是 減少人工干預、…

Spring Boot 應用中實現配置文件敏感信息加密解密方案

Spring Boot 應用中實現配置文件敏感信息加密解密方案 背景與挑戰 🚩一、設計目標 🎯二、整體啟動流程 🔄三、方案實現詳解 ??3.1 配置解密入口:EnvironmentPostProcessor3.2 通用解密工具類:EncryptionTool 四、快速…

OpenCV CUDA模塊特征檢測------角點檢測的接口createMinEigenValCorner()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 該函數創建一個 基于最小特征值(Minimum Eigenvalue)的角點響應計算對象,這是另一種經典的角點檢測方法&…

性能優化 - 理論篇:CPU、內存、I/O診斷手段

文章目錄 Pre引言1. CPU 性能瓶頸1.1 top 命令 —— 多維度 CPU 使用率指標1.2 負載(load)——任務排隊情況1.3 vmstat 命令 —— CPU 繁忙與等待 2. 內存性能瓶頸2.1 操作系統層面的內存分布2.2 top 命令 —— VIRT / RES / SHR 三個關鍵列2.3 CPU 緩存…

GPIO的內部結構與功能解析

一、GPIO總體結構 總體構成 1.APB2(外設總線) APB2總線是微控制器內部連接CPU與外設(如GPIO)的總線,負責CPU對GPIO寄存器的讀寫訪問,支持低速外設通信 2.寄存器 控制GPIO的配置(輸入/輸出模式、上拉/下拉等&#x…

汽車總線分析總結(CAN、LIN、FlexRay、MOST、車載以太網)

目錄 一、汽車總線技術概述 二、主流汽車總線技術對比分析 1. CAN總線(Controller Area Network) 2. LIN總線(Local Interconnect Network) 3. FlexRay總線 4. MOST總線(Media Oriented Systems Transport&#x…