如何優雅的扒站——抓包篇


  前兩節說了利用瀏覽器或者借助仿站工具來扒站,這些方法適用於一般的web站點,對於某些不能在PC端打開的站點就比較困難了。如果只是在后台檢驗客戶端來限制用戶瀏覽,比如你用PC訪問的時候自動轉到PC頁面或者直接禁止訪問,這種模式尚能利用某些瀏覽器模擬移動端。但是還有一些借助第三方授權才能訪問的站點就難以逾越了,比如你覺得某個公眾號推送的文章特別棒,然后把url拷貝出來在PC端瀏覽器上打開妄圖把源碼扒下來,結果赫然出現一行大字——“請在微信客戶端打開”。
        除了上面說的情況,還有個問題,就是https加密傳輸協議。這個協議的目的是為了防止那些釣魚網站,尤其是那些涉及到支付的站點。具體的原理我就不細說了,大概意思就是你通過這個鏈接發送的數據,別人截獲了也破解不了;同樣這個站點給你傳送的數據被別人截獲了也解析不了。因為它要涉及到證書加密和解密。我們在瀏覽器上能看到解析好的數據是因為瀏覽器已經驗證了站點並用公鑰解析好了,而靠抓包工具獲取站點傳送的數據是未解析的,只能是一堆亂碼。
        下面要講的就是如何解決上面的問題,總的來說就是抓取移動端的站點源碼,當然不是亂碼的那種了。
        主要借助的工具是fiddler,一款使用簡單而且輕量的抓包工具。它的功能特別強大,在前端調試方面功不可沒。我們用它來扒站只是用了它的神奇之處的一小點。原理也比較好理解,fiddler作為一個代理工具,移動端的數據發送和收取都要經過fiddler,所以它在服務端和客戶端之間來回變換角色,以客戶端的身份與站點服務器交互,再以服務端的角色與移動端來交互。在這一套過程中,移動端展示的源碼都已被fiddler抓到了,更神奇的是,它的客戶端身份還能成功騙過服務器和移動端,實現源碼解析。
    理論就講到這兒了,下面要上步驟了。
    一,去fiddler官網下載程序;另外還有兩個插件是移動端抓包必備的,分別是FiddlerCertMaker和fiddlersyntaxsetup,先安裝fiddler主程序,再依次運行安裝另外兩個就ok了。如下圖打開后便是這個樣子,左框顯示是傳輸的站點。右框是詳細數據。咱們主要用到的是Inspectors菜單下的Webview和SyntaxView,分別是源碼和預覽效果。
 
圖片

圖片

 
    二、配置監聽https。
    選擇tools->options,打開https功能項,勾選Capture HTTPS CONNECTs,Decrypt HTTPS traffic,Ignore server certificate errors(unsafe),Check for certificate revocation(就是全部勾選),接着會有是否信任證書,是否安全,是否安裝的提示,一路yes就噢了。接下來我打開一個https的站點。
   
 圖片圖片
    很明顯我們看到了正在數據傳輸的站點和數據,不過顯示亂碼,也就是說現在看到的是加密過的數據。萬幸的是右框中間有個點擊此處進行解析的提示按鈕,於是按下去,奇跡出現了。已經是我們熟悉的html標簽了。
   
 圖片

    三,設置移動端代理。
    你要先保證手機和PC是在同一個局域網里,不然后面就白扯了。
    還是老樣子選擇tools->options,打開Connections功能項,勾選Allow remote computers to connect,端口默認是8888,盡量不要動。然后重啟fiddler.PC端設置部分就ok了。
 圖片
    接着打開手機設置的地方,不同的手機可能不一樣。我拿小米手機舉例,連接上wifi后,進入設置wifi的操作界面,找到設置代理的地方,切換成手動模式,填入ip地址和端口號,ip地址就是你安裝fiddler的電腦IP,端口號是8888,最后保存。為了測試效果,可以用手機訪問一個指定站點,如果在fiddler左框中有展示就說明代理成功了。
 
    圖片
    還有關鍵的一步,安裝證書。在手機瀏覽器里訪問剛才填寫的代理地址,http://IP:8888,仔細看頁面最后一行,有提示下載證書。點擊下載並安裝。
    到這一步就算完成了。試一下瀏覽公眾號里的文章,是否能夠抓到其中的源碼呢。關於數據的抓取和防抓取,就像web站點的黑與防黑是個永遠不會停止的戰爭。祝福大家不要掉隊。
    備注:如果https解析出現問題,通常是PC端證書的問題。按win+R組合鍵,在運行對話框里輸入certmgr.msc,依次雙擊個人->證書,把已安裝的證書全部刪除,重啟fiddler后再試。
 圖片

   
   



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM