Charles 抓包 並Mock資料

2022-09-07 04:18:15 字數 2523 閱讀 3695

寫本文的契機主要是前段時間有次用青花瓷抓包有一步忘了,在網上查了半天也沒找到寫的完整的教程,於是待問題解決後抽時間截了圖,自己寫一遍封存在中以便以後隨時查閱。

charles又名青花瓷,在ios開發中的抓包中具有重要作用。最大的三點用處,一就是攔截別人軟體的傳送的請求和後端介面,練習開發。二是自己後端返回的response攔截修改後再接收以達到測試臨界資料的作用。三寫指令碼重複攔截抓取別人的資料。(因為不太道德,本文不提第三點)

首先安裝一下這個軟體

這個相信很多人電腦裡應該都安裝了,沒安裝的搜charles破解版也能很容易搜到。如果沒安裝j**a環境,首次進入charles會提示讓你安裝j**a包得,直接給你鏈結是蘋果官網的,去下乙個一鍵安裝就行了。

安裝完成後先開啟,在進行下面操作。

然後去自己電腦的系統偏好設定-》網路-》選中現在連著的網(大部分人應該都是wifi吧)可以查到自己這個電腦在現在這個wifi裡的ip位址,比如我現在這個就是192.168.0.105(建議最好用私人網路,用公司網路的話可能會有限制會出現沒反應的問題)

然後找到自己手機也連著這個同名的wifi,然後選中右邊的藍色i。

然後進入到了這個無線區域網的高階設定頁面。進去之後拉到最下方,找到http**字樣。然後選中手動**,並在伺服器中填自己電腦查到的ip位址,然後把埠調8888,最後點選左上角返回。返回值後系統會自動設定**重新連線。

這時候你的手機上網的過程中就要經過你的電腦了。剛用手機開啟乙個聯網的程式,你的電腦上應該會顯示乙個彈窗問你【allow】還是【deny】肯定不能拒絕啊就點allow吧。這個只有第一次才彈窗,圖沒截上,你到時候看見肯定能看懂的。點了同意之後你手機發出的每乙個請求都會被攔截出痕跡。

拿網易新聞舉例,以前就練習這寫過網易新聞的專案,其中網易的介面全是用charles攔截的。攔截到了網易發請求時發的是什麼,然後在練習專案中需要獲取資料的地方也把這一串鏈結直接拿過來用即可。

當然這上面攔到的比較多,如果有過開發經驗的話應該能很快看出來右邊哪個是真正返回json資料的介面。或者乙個乙個點看內容也行啊。

比如選中乙個url然後右鍵點選copy。

放到瀏覽器位址列裡打一下。能看到

這就說明這個介面是對的了。可以獲取到資料。然後可以給他轉化一下看的更清楚。雖然很多人都是用bash看,但我還是推薦乙個**轉json之後看的非常清晰。大部分軟體json整理後都是預設把大括號全都開啟,而僅有這個**是預設全給你把大括號關上。想點哪個再點開,而且能知道字典裡有多少個鍵值對,所以看著非常清晰。

到此就已經完成了一次完整的,拉取介面,和獲得資料。

這裡有兩點我想說下:

這個是重點了。因為這種做法可以讓乙個ios前端的開發人員獨立完成測試而不用拉過來乙個後端一起聯調。並且各種特殊維度,或是臨界的賬號也不用再去辛苦找了,僅僅自己在青花瓷上改來改去就可以達到效果了。比如這個地方如果返回了nil程式會不會崩,直接改response就行了。下面是具體操作方案。

開啟青花瓷切換成結構頁面

這裡可以看到斷點和除錯資訊

然後找乙個我們公司的頁面。這個頁面本來應該返回是這樣的:如上圖右邊

你先正常的開啟這個頁面把玩幾下,這個青花瓷就會抓取很多介面和網域名稱分類了。在這裡找到你這個頁面所屬的網域名稱分類應該不難。然後打上斷點。這裡要注意是在網域名稱上打斷點而不是在下面的單個請求上打斷點。

再次用手機進入這個頁面,就會通過你剛才打斷點的那個網域名稱來請求資料,就會被斷點攔住,如下圖所示。

右邊的資訊也很清晰,一開始可以編輯請求。如果點選單步執行,等一下相應回來了也可以編輯響應。

這裡的有好幾種檢視的方式,但是推薦使用json text看的比較清楚。 現在我們對攔截回來的資料進行修改,我把這些統計資料全改成999如下圖

這麼做的意義:

**

Charles 手機抓包

開啟 charles,選擇 proxy mac os x proxy,這樣,瀏覽器重新整理頁面,http 資源就可以列印到 charles 裡面。如圖 兩個步驟,我們就可以輕鬆訪問 http 資源啦 在上面兩步驟的基礎之上,選擇 proxy ssl proxying settings 選項 開啟 s...

抓包軟體 Charles

修正 手機不必一定連線電腦分享的熱點,只需要手機和電腦在同乙個區域網下就可以了,手機 ip設定為電腦的ip。之前寫過一篇通過wireshark進行抓包,分析網路連線的文章 通過wireshark抓取ios聯網資料例項分析 最近一些工作需要抓包,在我的mac上安裝了wireshark之後,發現執行不了...

Charles 抓包配置

本文參考 charles 抓包配置 設定 設定的主介面如下 動態埠 啟用動態埠選項來監聽動態埠,每次查詢啟動時選擇。這樣可以避免與計算機上可能執行的其他網路服務的衝突,包括charles的其他例項 如果是共享計算機 如果你開的埠很多,搞到你自己都記不清楚了,那麼推薦你用這個 但是我都是寫好乙個埠的,...