iOS安全
發表時間:2020-10-19
發布人:葵宇科技
浏覽次數:28
之前寫了一篇文(wén)┞仿:
iOS開辟- 以圖搜圖功能實現 (源碼+解析)
很多多少(shǎo)同夥都比較好奇我是若何獲取到百度以圖搜圖的API, 其拭魅這異常簡單。 應用收集封包分析對象 “ Charles ” 就能輕松實現。
獲取以圖搜圖API,隻有簡單3步:
1. 打開Charles
2. 模仿識圖,發送請求
3. 分析請求
本來想本身介紹下(xià)這個(gè)對象的,不過看到唐巧大年夜神有一篇相幹的文(wén)┞仿,我就不班門弄斧了。這裡參考他的介紹。
别的, 拉票先~
如(rú)不雅對你(nǐ)有所贊助,點擊下(xià)方的投票鍊接,給我投上一票吧。
感謝。[img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif
Charles 3.9.2 下(xià)載鍊接: http://download.csdn.net/detail/hitwhylz/8329253
簡介
Charles是在Mac下(xià)常用的朝長進步收集封包的對象,在做iOS開辟時,我們為了調嗜吒躊事器(qì)端的收集通(tōng)信協定,經常須要朝長進步收集封包來分析。Charles經由過程将本身設置成體系的收集拜訪代勞辦事器(qì),使得所有的收集拜訪請求都經由過程它來完成,大年夜而實現了收集封包的朝長進步和(hé)分析。
Charles重要的功能包含:
支撐SSL代勞。可(kě)以朝長進步分析SSL的請求。
支撐流量控制。可(kě)以模仿慢速收集以及等待時光(latency)較長的請求。
支撐AJAX調試。可(kě)以主動(dòng)将json或xml數據格局化,便利查看。
支撐AMF調試。可(kě)以将Flash Remoting 或 Flex Remoting信息格局化,便利查看。
支穩重發收集請求,便利後端調試。
支撐修改收集請求參數。
支撐收集請求的截獲并動(dòng)态修改。
檢查HTML,CSS和(hé)RSS内容是否相符W3C标準。
安裝Charles
去Charles的官方網站(zhàn)(http://www.charlesproxy.com)下(xià)載最新版的Charles安裝包,是一個(gè)dmg後綴的文(wén)件。打開後将Charles拖到Application目次 下(xià)即完成安裝。
安裝SSL證書
如(rú)不雅你(nǐ)須要朝長進步分析SSL協定相幹的内容。那麼須要安裝Charles的CA證書。具體步調如(rú)下(xià):
去 http://www.charlesproxy.com/ssl.zip 下(xià)載CA證書文(wén)件。
解壓該zip文(wén)件後,雙擊個(gè)中(zhōng)的.crt文(wén)件,這時刻在彈出的菜單中(zhōng)選擇“老是信賴”,如(rú)下(xià)所示:[img]http://essay.b0.upaiyun.com/84/501285/1.jpg
大年夜鑰匙串拜訪中(zhōng)即可(kě)看到添加成功的證書。如(rú)下(xià)所示: [img]http://essay.b0.upaiyun.com/84/501285/2.jpg
将Charles設置成體系代勞
之前提到,Charles是經由過程将本身設置成代勞辦事器(qì)來完成封包朝長進步的,所以應用Charles的第一步是将其設置成體系的代勞辦事器(qì)。
啟動(dòng)Charles後,第一次Charles會請求你(nǐ)給它設置體系代勞的權限。你(nǐ)可(kě)以輸入登錄暗碼授予Charles該權限。你(nǐ)也可(kě)以忽視該請求,然後在須要将Charles設置成體系代勞時,選擇菜單中(zhōng)的 “Proxy” –> “Mac OS X Proxy”來将Charles設置成體系代勞。如(rú)下(xià)所示:
[img]http://essay.b0.upaiyun.com/84/501285/3.jpg
之後,你(nǐ)就可(kě)以看到源源赓續的收集請求湧如(rú)今Charles的界面中(zhōng)。
Charles主界面介紹
[img]http://essay.b0.upaiyun.com/84/501285/4.jpg
Charles重要供給2種查看封包的視圖,分别号為“Structure”和(hé)”Sequence”。
Structure視圖将收集請求按拜訪的域名分類。
Sequence視圖将收集請求按拜訪的時光排序。
大年夜家可(kě)以根據具體的須要在這兩種視圖之前去返切換。
對于某一個(gè)具體的收集請求,你(nǐ)可(kě)以查看其具體的請求内容和(hé)響應内容。如(rú)不雅響應内容是JSON格局的,那麼Charles可(kě)以主動(dòng)幫你(nǐ)将JSON内容格局化,便利你(nǐ)查看。
過濾收集請求
平日情況下(xià),我們須要對收集請求進行過濾,隻監控向指定目次辦事器(qì)上發送的請求。對于這種需求,我們有2種辦法。
在主界面的中(zhōng)部的Filter欄中(zhōng)填入須要過濾出來的關(guān)鍵字。例如(rú)我們的辦事器(qì)的地址是:http://yuantiku.com ,那麼隻須要在Filter欄中(zhōng)填入yuantiku即可(kě)。
在Charles的菜單欄選擇”Proxy”–>“Recording Settings”,然後選擇Include欄,選擇添加一個(gè)項目,然後填入須要監控的協定,主機地址,端标語。如(rú)許就可(kě)以隻朝長進步目标網站(zhàn)的封包了。如(rú)下(xià)圖所示:
[img]http://essay.b0.upaiyun.com/84/501285/5.jpg
平日情況下(xià),我們應用辦法1做一些臨時性的封包過濾,應用辦法2做一些經常性的封包過濾。
朝長進步iPhone上的收集封包
Charles平日用來朝長進步本地上的收集封包,然則當我們須要時,我們也可(kě)以用來朝長進步其它設畢喔贍收集請求。下(xià)面我就以iPhone為例,講解若何進行響應操作。
Charles上的設置
要朝長進步iPhone上的收集請求,我們起首須要将Charles的代勞功能打開。在Charles的菜單欄上選擇“Proxy”->“Proxy Settings”,填入代勞端口8888,并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的設置。如(rú)下(xià)圖所示:
[img]http://essay.b0.upaiyun.com/84/501285/6.jpg
iPhone上的設置
起首我們須要獲取Charles運行地點電腦的IP地址,打開Terminal,輸入
ifconfig en0
, 即可(kě)獲得該電腦的IP,如(rú)下(xià)圖所示:
[img]http://essay.b0.upaiyun.com/84/501285/7.jpg
在iPhone的 “設置”->“無線局域網“中(zhōng),可(kě)以看到當前連接的wifi名,經由過程點擊右邊的詳情鍵,可(kě)以看到當前連接上的wifi的具體信息,包含IP地址,子(zǐ)網掩碼等信息。在其最底部有“HTTP代勞”一項,我們将其切換成手動(dòng),然後填上Charles運行地點的電腦的IP,以及端标語8888,如(rú)下(xià)圖所示:
[img]http://essay.b0.upaiyun.com/84/501285/8.jpg
設置好之後,我們打開iPhone上的随便率性須要收集通(tōng)信的法度榜樣,就可(kě)以看到Charles彈出iPhone請求連接切實其實認菜單(如(rú)下(xià)圖所示),點擊“Allow”即可(kě)完成設置。
[img]http://essay.b0.upaiyun.com/84/501285/9.jpg
朝長進步SSL信息
Charles默認并一向取SSL的信息,如(rú)不雅你(nǐ)想對朝長進步某個(gè)網站(zhàn)上的所有SSL收集請求,可(kě)以在該請求上右擊,選擇SSL proxy,如(rú)下(xià)圖所示:
[img]http://essay.b0.upaiyun.com/84/501285/10.jpg
如(rú)許,對于該Host的所有SSL請求可(kě)以被朝長進步到了。
模仿慢速收集
在做iPhone開辟的時刻,我們經常須要模仿慢速收集或者高延遲的收集,以測試在移動(dòng)收集下(xià),應用的表示是否正常。Charles對此需求供給了很好的支撐。
在Charles的菜單上,選擇”Proxy”–>“Throttle Setting”項,在之後彈出的對話框中(zhōng),我們可(kě)以勾選上“Enable Throttling”,并且可(kě)以設置Throttle Preset的類型。如(rú)下(xià)圖所示:
[img]http://essay.b0.upaiyun.com/84/501285/11.jpg
如(rú)不雅我們隻想模仿指定網站(zhàn)的慢速收集,可(kě)以再勾選上圖中(zhōng)的”Only for selected hosts”項,然後在對話框的下(xià)半部分設置中(zhōng)增長指定的hosts項即可(kě)。
修改收集請求内容
有些時刻為了調試辦事器(qì)的接口,我們須要反複測驗測驗不合參數的收集請求。Charles可(kě)以便利地供給收集請求的修改和(hé)重發功能。隻須要在以往的收集請求上點擊右鍵,選擇“Edit”,即可(kě)創建一個(gè)可(kě)編輯的收集請求。如(rú)下(xià)所示:
[img]http://essay.b0.upaiyun.com/84/501285/12.jpg
我們可(kě)以修改該請求的任何信息,包含url地址,端口,參數等,之後點擊“Execute”即可(kě)發送該修改後的收集請求(如(rú)下(xià)圖所示)。Charles支撐我們多次修改和(hé)發送該請求,這對于我們和(hé)辦事器(qì)端調試接口異常便利。
[img]http://essay.b0.upaiyun.com/84/501285/13.jpg
總結
經由過程Charles軟件,我們可(kě)以很便利地在日常開辟中(zhōng),朝長進步和(hé)調試收集請求内容,分析封包協定以及模仿慢速收集。用好Charles可(kě)以極大年夜的便利我們對于帶有收集請求的App的開辟和(hé)調試。