1. 程式人生 > >Fiddler iOS https抓包加爬蟲

Fiddler iOS https抓包加爬蟲

在爬取B2B網站企業聯絡方式之後,老闆又突發奇想要抓取競爭對手手機APP中顯示的客戶資訊,於是乎,對於手機抓包、APP爬蟲一無所知的我開始了艱難的探(百)索(度)之路,最終成功拿到兩家競爭對手APP中的客戶列表。如果你也想爬取某個APP,這篇文章或許能幫到你。

各類問答平臺、部落格網站的前輩們分享的經驗固然豐富,卻不一定是在同樣的環境(譬如系統版本)下做出來的,因此借鑑的意義也比較有限,總之大家都是摸著石頭過河。

系統:Win10

Fiddler:V4.6

手機:iOS 10.3.3

第一步:設定Fiddler與手機

關於Fiddler的下載,安裝,與手機端HTTP代理的設定,隨便百度“手機APP抓包”就能出來一堆非常相似的文章。譬如這篇講得很詳細:

使用Fiddler進行iOS APP的HTTP/HTTPS抓包

不過其中可能遇到的最大困難就是HTTPS的擷取,作為新手的我,真是吃盡了苦頭。在百度過N篇文章後,我總結了以下幾個步驟(這裡假設你已經按照上述部落格指導流程走了一遍):

1、開啟Fiddler,點選工具欄中Tools,選擇Options,選擇其中HTTPS一欄,右上角Actions點開有一個選項叫做Reset All Certificates,點選就相當於將所有fiddler的證書刪除並重新下載,其間會有很多視窗彈出,基本上都是選擇Yes或者Trust就可以搞定了。


這時嘗試在瀏覽器中開啟百度,由於百度首頁也是HTTPS協議,因此可以檢驗我們是否設定好PC端的證書。如果你看到的是如下圖,說明OK了:


2、如果你開啟手機上的Safari,進入百度主頁,頁面卻沒有載入,反而給出錯誤提示:瀏覽器無法建立與伺服器的安全連線,那就說明手機端的證書沒有搞定了。這時簡單粗暴的方法就是刪除手機上的Fiddler證書,按照上述部落格中的方法再下載安裝一次。注意:在iOS 10.3.3 中即使安裝證書也不會預設啟用,需要在“設定 –> 通用 –> 關於本機 –> 證書資訊設定”中開啟Fiddler證書。如下圖:


感謝在這個問題下的答主:連結

這時嘗試在微信中開啟公眾號文章,如果能正常載入並擷取HTTPS說明手機端的證書也搞定了。如下圖:


3、如果PC或者手機剛剛升級,或者Fiddler版本更新,這時出現HTTPS無法正常抓包情況,可以簡單粗暴將1、2再做一次。

如果有些APP依然無法正常載入,譬如餓了麼,大概是因為APP開發者本身運用證書鎖定技術,防止類似Fiddler這樣的中間人代理。

第二步:擷取,檢視,分析請求

設定好之後開啟你想爬取的APP,進入包含你所需要的資訊的介面(對我而言,所有客戶的列表頁),由於客戶端要向伺服器請求資訊,會產生GET或者POST請求,而伺服器也會有相應的Response。如下圖:


右下角是Response的區域,可以看到我們想要的客戶資訊就在伺服器傳回來的JSON檔案中,companyName很明顯就是公司名稱,而industry就是客戶公司所在的行業。

接下來的任務就是用指令碼模擬這條請求,產生一系列的請求獲取所有公司的資訊。於是我操作APP下拉列表,試圖擷取第二條類似的請求,以尋找規律。

結果發現,第二次請求返回的公司列表與第一次不同(廢話),但是它們的請求頭(包括url)幾乎完全一樣。這種情況與網頁版百度地圖搜尋請求一模一樣,因為請求除了頭,還帶上了一個表格,這個表格中的內容告訴伺服器應該給什麼Response。點選Inspectors下面的WebForms,如下圖:


第三部:用Python request 庫批量傳送請求,解析JSON檔案

觀察到第一頁請求skip的值為0,第二頁請求skip的值為1,以此類推,將WebForms中的表格內容以Python資料型別的“字典”形式,傳給requests函式中的data引數。

彩蛋:對於有些安全措施不嚴密的APP,Fiddler甚至可以擷取到伺服器傳送給客戶端的正確驗證碼的明文,若這個APP只需手機驗證碼正確即可登入,則攻擊者一旦知道某一使用者的註冊手機號,就可以登入他/她的賬號為所欲為。

相關推薦

Fiddler iOS https爬蟲

在爬取B2B網站企業聯絡方式之後,老闆又突發奇想要抓取競爭對手手機APP中顯示的客戶資訊,於是乎,對於手機抓包、APP爬蟲一無所知的我開始了艱難的探(百)索(度)之路,最終成功拿到兩家競爭對手APP中的客戶列表。如果你也想爬取某個APP,這篇文章或許能幫到你。 各類問答平臺

Mac 下 android/iOS https

選擇 and 偏好設置 browser jdk 相對 需要 nbsp img 一.Charles簡介 Charles,是用Java開發的,所以跨平臺,不僅可以在Mac上使用,Linux以及Window下都是可以使用的,當然需要安裝JDK,才能運行,但目前是收費的。 二.

fiddler 手機 https

fiddler手機抓包原理 fiddler手機抓包的原理與抓pc上的web資料一樣,都是把fiddler當作代理,網路請求走fiddler,fiddler從中攔截資料,由於fiddler充當中間人的角色,所以可以解密https 下面開始手機抓包設定教程 設定fiddle

fiddler 手機 https 以及一些fiddler無法解決的https問題http2、tcp、udp、websocket證書寫死在app中無法

原文: https://blog.csdn.net/wangjun5159/article/details/52202059 fiddler手機抓包原理 fiddler手機抓包的原理與抓pc上的web資料一樣,都是把fiddler當作代理,網路請求走fiddler,fiddler從中攔截資料,由於fid

fiddler pc https

原理 fiddler抓包原理 fiddler 偵錯程式註冊到作業系統因特網服務中,系統所有的網路請求都會走fiddler的代理,所以fiddler才能抓包。 Debug traffic from any client and browser

使用Fiddler進行iOS APP的HTTP/HTTPS

Fiddler不但能截獲各種瀏覽器發出的HTTP請求, 也可以截獲各種智慧手機發出的HTTP/HTTPS請求。Fiddler能捕獲IOS裝置發出的請求,比如IPhone, IPad, MacBook. 等等蘋果的裝置。  同理,也可以截獲Andriod,Windows P

Https工具之Fiddler

簡介 抓包工具可以幫助開發或者測試人員很方便的檢視到實時資料傳輸內容。 操作說明 第一步:設定Fiddler 點選頂部選單欄的Tools>Options,具體選項可以按照我的配置來,只需配置前三個選項夠了。如下圖 第二步:配置手機代理

fiddler對手機https

1、將手機和fiddler連線成功之後 2、用手機瀏覽器訪問fiddler地址與埠,IP:8888  3、訪問之後,點選圖中按鈕,IOS信任後安裝,android信任後下載 4、IOS安裝後檢視fiddler是否可以抓到https的包,如果不能,那是因為IO

Fiddler】開啟手機的http或https

fiddler安裝 下載fiddler最新版; 預設安裝; 開啟fiddler工具,預設介面: 選擇上方,Tools-→options General介面 HTTPS介面 CONNECTIONS,port是代理時的埠號,可隨意填寫,儘量不要衝突本機埠

移動端https那些事--進階篇

ssh nload 詳細 tro 盤古 支持 url 框架 官方下載 上一次和大家介紹了手機端https抓包的初級篇,即在手機未root或者未越獄的情況下如何抓取https流量,但是當時分析應用時會發現,好多應用的https的流量還是無法抓取到,這是為什麽呢? 主要原因還是

charles支持https配置

alt port 都是 手機瀏覽器 安裝完成 數據 基礎上 export tex 自從公司站點全部啟用https後,使用charles就不能像以前那樣愉快的抓包啦!不過沒關系,這裏教你怎麽配置charles,使其支持https抓包。之前有一篇介紹charles的使用,參考這

Mac使用Charles進行HTTPS

char mac AC 管理 無線 下載 ica 選擇 settings 第一步 配置HTTP代理,這步與抓取HTTP請求是一樣的: 選擇在8888端口上監聽,然後確定。夠選了SOCKS proxy,還能截獲到瀏覽器的http訪問請求。 第二步 安裝電腦端根證

fiddler之手機

抓包 命令 erro RR cert 點擊 http alt bsp 1、首先確保手機與電腦連接的是同一局域網 2、在電腦端命令行中輸入 ipconfig 找到ip地址 3、打開fiddler->Tools->Options->Connecti

CharlesHTTPS配置

char 警告 剛才 有時 port 沒有 機構 需要 ron 訪問我的博客 前言 由於工作中經常需要配置客戶端開發人員對接接口,有時候對接地不太順利,因此需要經常性地對公司 APP 進行抓包看請求,找出具體的原因。 在公司中開發使用的 Windows 臺式電腦,抓包工具選

libcurl 設定代理,通過Fiddler可以進行

轉載:https://blog.csdn.net/jaryguo/article/details/53021923 用libcurl在專案開發過程中,除錯階段需要進行抓包測試,但Fiddler不能收到應用的Http連線。 Google了一下,因為應用用了libcurl的介面來建立HTTP連線,如果要使用F

Android7.0、8.0、9.0的https,charles解決方案

原文地址:https://blog.csdn.net/u011045726/article/details/76064048   Android7.0 和 Charles 的抓包 關於android手機在mac版charles上抓不到包這個問題困擾了很久,查閱了很多資料,發現是an

spy-debugger移動手機除錯和HTTP/HTTPS

簡介 一站式頁面除錯、抓包工具。用於遠端除錯微信、HybridApp等各種WebView樣式、手機瀏覽器的頁面真機除錯。便捷的遠端除錯手機頁面、抓包工具,支援:HTTP/HTTPS,無需USB連線裝置。 spy-debugger原理是集成了weinre,簡化了weinre需要給每

Charles--/安裝/破解/支援https

 一、安裝破解Charles   1.下載charles4.0.2版本,下面的jar包需要和charles版本對應   2.下載地址:https://www.cr173.com/soft/494576.html    2.1這裡下的是破解版裡面有破

fiddler 不能解決

早上使用金山毒霸掃描了一遍電腦,然後開啟fiddler後,出現了一個提示(當時沒有注意看),直接點了確定,導致結果是不能抓包了,百度了很多方法,最後直接解除安裝金山毒霸,然後將防火牆還原為預設設定(風險不小)。再開啟fiddler後,可以正常抓包! 瀏覽器區域網設定代理伺服器時,選擇自動。 另一種方法: 單擊

charles Https

ssl ron width 端口號 使用 9.png 筆記本 代理ip tro 一、抓移動端http請求 1.在 Mac 中打開 Charles 應用;Proxy--Proxy Settings 設置port 8888,OK 2.設置手機HTTP代理:確保移