用Fiddler、Charles和mitmproxy進行手機抓包的配置教程

寫爬蟲時,有些數(shù)據(jù)pc端并不能提供我們需要的數(shù)據(jù)例如抖音,就需要對手機端數(shù)據(jù)進行抓取,目前來說比較常用的app抓包軟件:Fiddler,mitmproxy,Charles,這些軟件在進行數(shù)據(jù)抓包之前都需要進行相應的代理配置:下載,保證pc端跟手機端在同一個局域網(wǎng)內(nèi),證書下載,端口配置等。

利用Fiddler代理配置方法

首先在在官網(wǎng)將Fiddler下載,下載地址:http://www.telerik.com/fiddler;下載到本地之后,按正常的安裝流程即可。安裝后打開的頁面如下:

Fiddler抓取Android/Iphone的數(shù)據(jù)包,第一步,要保證電腦端Fiddler手機端跟電腦端在同一局域網(wǎng),在這種情況下才能夠實現(xiàn)Fiddler抓取手機端的數(shù)據(jù);同一局域網(wǎng)就是有兩臺或以上的設備連接,并擁有相同IP網(wǎng)段的網(wǎng)絡,例如pc端跟手機端連接同一個wifi,或者說電腦開熱點手機連接。

第二步,對Fiddler進行相關設置:打開【Fiddler -> Tools ->options】;然后選中【Connections】選項 ,圖中設置手機端需要連接Fiddler的服務器端口(一般默認即可),下面對選項[【Allow remote computers to connect】 (允許遠程發(fā)送請求)進行勾選。

打開【Fiddler -> Tools -> ?options】;選擇HTTPS選項,勾選【Decrypt HTTPS traffic】 下面選擇【from all process】選項,用來抓取手機端的https請求,如果想抓取https請求還需要在手機端安裝安全證書。

第三步,手機端安裝證書,先找到電腦的ip地址,在fiddler上方菜單欄里點擊Online就能看到電腦的ip地址;用手機訪問地址:http://IP地址:代理端口,點"FiddlerRoot certificate" 然后安裝證書,例如:http://192.168.1.173:8888;有的手機在安裝證書之前需要設置鎖屏密碼(例如小米),否則會安裝不上。

接下來就是對對手機端的wifi修改代理設置;打開連接中的wifi,點記下面的代理切換到手動,以pc端的ip名為主機名,端口為Fiddler設置的端口進行填寫,然后點擊確定即可。

配置成功結果如下:

利用Charles代理配置方法

Charles官方下載地址:https://www.charlesproxy.com/;下載Charles,然后一鍵安裝即可,下載后打開的頁面如下,頁面分為兩種標簽,一種是Structure,是按照域名進行區(qū)分;一種是Sequence,是按照訪問時間先后進行排序:

先對Charles軟件進行配置,打開客戶端,點擊菜單Proxy->Proxy Settings,設置服務器端口,自己也可以對端口進行修改,把下面【Enable ?transpaent ?HTTP ?proxing】勾選上為了是讓Charles自己設置成代理服務器實現(xiàn)抓包,對于本地系統(tǒng)發(fā)出的訪問請求都會被截取下來。如果只是用Charles對手機抓包,菜單上的Windows proxing 就不需要勾選,可以避免pc端訪問請求數(shù)據(jù)的干擾。

跟Fiddle一樣,需要把電腦端和手機端配置到同一局域網(wǎng);在獲取Charles端口之后,也需要得到電腦端的ip地址,電腦IP地址查詢方式:windows+R ?輸入cmd卡開命令行,然后輸入ipconfig,IPv4即為本機的IP地址。

更改手機端WiFi的代理及端口:

有些小伙伴可能在配置成功的時候,手機端會出現(xiàn)"wifi已連接,但無法訪問互聯(lián)網(wǎng)“的現(xiàn)象,這時候可以先把wifi代理先轉換成【無】,然后wifi斷連再重新連接,這時候WiFi可以正常使用之后再更改wifi的代理,更改主級名以及端口保存即可,這時候手機就可以正常訪問網(wǎng)絡了。

用win10的小伙伴們注意一下,在進行設置之前最好先把防火墻關閉,配置成功之后,Charles的頁面就如下圖:

避免抓取本地或者移動端http數(shù)據(jù)亂碼或者失敗,需要相應配置SSL證書,電腦端跟移動端都需要相應進行配置。

電腦端安裝證書,打開Charles客戶端,選擇菜單【?"Help" -> "SSL Proxying" -> "Install Charles Root Certificate"】

按步驟進行安裝即可;

在選擇證書儲存位置時,只要選【個人】即可,一般來說選擇的是第二項。

然后配置SSL的抓取域名:選中【"Proxy"->"SSL Proxying Settings"】,啟用【Enable SSL Proxying】選項,選擇add選項,Charles的Location配置是支持通配符的,因此在Host設置一個"*"就可以用來表示所有域名,port不用寫。

之后如果配置某一個指定域名的時候,這里的port可以設置為443即可,這樣就可以抓到指定域名的數(shù)據(jù);

手機端SSL證書安裝,打開Charles客戶端,點擊【"Help"-> "SSL Proxying" ->"Install Charles Root Certificate on a Mobile Device or remote Browser"】,

會出現(xiàn),如下頁面,意思就是讓你手機端設置一個代理:192.168.2.173:1111,就是要保證移動端與pc端在同一局域網(wǎng),然后用手機端瀏覽器訪問chls.pro/ssl:

下載成功后,需要手機端本地安裝,這里以紅米為例,小米手機安裝安全證書時需要提前設置解鎖密碼,否則安裝不了,以下就是安裝流程:

安裝完之后,就可以利用charles抓取手機端http的數(shù)據(jù)了。

mitmproxy收機抓包的相關配置

mitmproxy是一個支持HTTP和HTTPS的抓包程序,有類似Fiddler、Charles的功能,只不過它是一個控制臺的形式操作。

mitmproxy還有兩個關聯(lián)組件。一個是mitmdump,它是mitmproxy的命令行接口,利用它我們可以對接Python腳本,用Python實現(xiàn)監(jiān)聽后的處理。另一個是mitmweb,它是一個Web程序,打開它是一個監(jiān)視網(wǎng)頁,我們可以很清楚地觀察到mitmproxy捕獲的請求。這里是以windows為實例來進行演示。

下載方式分為兩種:一種是可以直接從官網(wǎng)中進行下載,網(wǎng)址:https://docs.mitmproxy.org/,另一種是借助于python安裝包pip,利用pip ?install ?mitmproxy命令;下載完之后,找到mitmproxy的下載目錄,把下載目錄配置到系統(tǒng)的環(huán)境變量中,配置環(huán)境變量的教程網(wǎng)上有很多,可以自行學習;方便使用,我們可以借助命令行測試一下,看mitmproxy是否安裝成功;windows不支持mitmproxy命令,但不影響,因為windows支持mitmdump和mitmweb命令。

這里可以能夠直接獲取得到mitmproxy的端口為8080,第二步跟Charles一樣,確保手機端與電腦端在同一局域網(wǎng),電腦端的IP地址獲取方式與Charles中一樣,配置成功后的mitmdump如下圖:

與Charles一樣,如果要通過mtmproxy抓取本地跟手機端的HTTP數(shù)據(jù),則電腦端與手機端也需要安裝相應的安全證書,安裝方式與Charles中介紹的方式一樣,證書的獲取地址為在c盤存放mitmproxy地址:【C盤 -> 用戶 -> 用戶名 -> mitmproxy】 。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容