iOS安全 - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

您當前位置>首頁 » 新聞資(zī)訊 » 技術(shù)分享 >

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重要的功能包含:

  1. 支撐SSL代勞。可(kě)以朝長進步分析SSL的請求。

  2. 支撐流量控制。可(kě)以模仿慢速收集以及等待時光(latency)較長的請求。

  3. 支撐AJAX調試。可(kě)以主動(dòng)将json或xml數據格局化,便利查看。

  4. 支撐AMF調試。可(kě)以将Flash Remoting 或 Flex Remoting信息格局化,便利查看。

  5. 支穩重發收集請求,便利後端調試。

  6. 支撐修改收集請求參數。

  7. 支撐收集請求的截獲并動(dòng)态修改。

  8. 檢查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à):

  1. 去 http://www.charlesproxy.com/ssl.zip 下(xià)載CA證書文(wén)件。

  2. 解壓該zip文(wén)件後,雙擊個(gè)中(zhōng)的.crt文(wén)件,這時刻在彈出的菜單中(zhōng)選擇“老是信賴”,如(rú)下(xià)所示:[img]http://essay.b0.upaiyun.com/84/501285/1.jpg

  3. 大年夜鑰匙串拜訪中(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”。

  1. Structure視圖将收集請求按拜訪的域名分類。

  2. Sequence視圖将收集請求按拜訪的時光排序。

大年夜家可(kě)以根據具體的須要在這兩種視圖之前去返切換。
對于某一個(gè)具體的收集請求,你(nǐ)可(kě)以查看其具體的請求内容和(hé)響應内容。如(rú)不雅響應内容是JSON格局的,那麼Charles可(kě)以主動(dòng)幫你(nǐ)将JSON内容格局化,便利你(nǐ)查看。


過濾收集請求


平日情況下(xià),我們須要對收集請求進行過濾,隻監控向指定目次辦事器(qì)上發送的請求。對于這種需求,我們有2種辦法。

  1. 在主界面的中(zhōng)部的Filter欄中(zhōng)填入須要過濾出來的關(guān)鍵字。例如(rú)我們的辦事器(qì)的地址是:http://yuantiku.com ,那麼隻須要在Filter欄中(zhōng)填入yuantiku即可(kě)。

  2. 在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é)調試。

相關(guān)案例查看更多