抓包工具 Charles 使用心得

来源:http://www.cnblogs.com/victorwill/archive/2017/05/17/6866292.html
-Advertisement-
Play Games

前言 雖然實習工作還沒有著落,但學習還是要繼續的嘛,今天就來學習使用下 Mac 下截取網路封包的工具:Charles。 我想,如果你是個善於利用搜索引擎的人,那麼在 Google 中輸入「Charles 使用」等相應的關鍵字,便會出現一大把文章。不過呢,之所以會有這篇文章,就是因為今天在安裝和初步使 ...


前言

雖然實習工作還沒有著落,但學習還是要繼續的嘛,今天就來學習使用下 Mac 下截取網路封包的工具:Charles

我想,如果你是個善於利用搜索引擎的人,那麼在 Google 中輸入「Charles 使用」等相應的關鍵字,便會出現一大把文章。
不過呢,之所以會有這篇文章,就是因為今天在安裝和初步使用的過程中,遇到了些問題,而目前搜索出來的絕大數文章並沒有提及(或者解決辦法已經過時)。所以,我在此記錄下來,希望能幫助到通過搜索找到這的朋友們。


付費 & 正版 & 破解

Charles 是收費軟體,可以免費試用 30 天。試用版本每次使用時間不能超過 30 分鐘,使用過程中不定時會中斷 5 秒鐘,並且啟動時將會有 10 秒種的延時。因此,該試用方案對廣大用戶還是相當友好的,只是當你需要長時間進行封包調試時,會因為 Charles 強制關閉而遇到影響。

如果手頭經濟寬裕,建議上官網購買正版。

除此之外,網上也有破解版,在 http://charles.iiilab.com/ 這個網站可以下載到Charels各個版本的破解版。


VPN

當我打開 Charles(Mac OS X Proxy 已選擇),按理說,我立刻就能看見源源不斷的網路請求出現在 Charles 的界面中啦,可為什麼始終是一片空白呢?

一番搜索,終於在這裡 Charles proxy not working with Chrome 找到了答案:

For anyone else using VPN: Charles must be turned on before VPN. So quitting VPN after turning on Charles won’t work either.

沒辦法,為了正常使用 Charles,只能暫時把梯子撤了:


亂碼

剛開始用著挺好的啊,怎麼一言不合,就來個亂碼呢?

於是,便在 Google 中輸入「Charles 亂碼」,我保證,你能搜到的絕對是這樣的答案:

可我告訴你,反正我嘗試了在各種地方進行添加,最後都沒有成功。
而我最終解決了亂碼的問題,但根本沒有涉及到 Info.plist。你只要確保,我接下來提及的問題,你有正確進行設置。

安裝 SSL 證書

Mac 端

首先去 http://www.charlesproxy.com/ssl.zip 下載 CA 證書文件,然後雙擊 .crt 文件,選擇「總是信任」按鈕,在鑰匙串訪問中即可看到添加成功的證書。

看看,人家說的多麼簡單啊,可事實呢?當我訪問上述網址時,出現的是如下的文字:

If you are running Charles v3.10 or later, please go to Charles and consult the SSL Proxying submenu in the Help menu, for instructions on installing your new Charles Root Certificate.

我那蹩腳的英文告訴我:如果你使用的是 v3.10 及之後的版本,安裝方法已經變了,正確的姿勢:啟動 Charles 軟體,在菜單中找到 Help -> SSL Proxying -> Install Charles Root Certificate. 如下圖所示:


隨後是這樣的:



iPhone 端

步驟:Help -> SSL Proxying ->Install Charles Root Certificate on a Mobile Device…

Mac 上的設置

  1. 在 Charles 的工具欄上點擊設置按鈕,選擇 SSL Proxy Settings,選中 Enable SSL Proxying。(別急,選完先別關掉)

  2. SSL 選項卡的 Locations 里填寫要抓包的功能變數名稱和埠,點擊 Add 按鈕,在彈出的表單中 Host 填寫功能變數名稱。比如填api.instagram.com,Port 填 443


關於亂碼,如果沒有做這項操作,則肯定會出現亂碼。而至於否是在 Info.plist 中添加 UTF-8 的欄位,反正最後我沒加,但一切正常。

所以這個坑,我也是無意間解決的。

iPhone 上的設置

首先我們需要獲取 Charles 運行所在電腦的 IP 地址,Charles 的頂部菜單的 “Help”->”Local IP Address”,即可在彈出的對話框中看到 IP 地址,如下圖所示:

然後就是在 iPhone 上的一系列操作,又是很簡單,有木有!

可是,為什麼尼瑪我怎麼試都不成果呢?!iPhone 上瀏覽器網址都打不開了….於是又嘗試了另一種方式,在終端敲入 ifconfig en0


Done! 終於可以愉快的玩耍了:)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # vuejs tutorial ![vue-logo](img/logo.png) ## 搭建案例演示自動刷新環境 創建一個 `package.josn` 文件: ```bashnpm init -y``` 安裝 `browser-sync`: ```bash# npm install --sav ...
  • 一、安裝express cnpm || npm install express --save ; 1. Hello World 2.express路由 3.靜態資源 app.user(express.statice('public')); 二、express的中間件 1.應用級中間件 2.路由級中間 ...
  • 1.模塊的寫法 模塊化編程一般都有這麼幾個過渡過程,如下描述。 原始方法 上面的函數m1()和m2(),組成一個模塊。使用的時候,直接調用就行了。 這種做法的缺點很明顯:"污染"了全局變數,無法保證不與其他模塊發生變數名衝突,而且模塊成員之間看不出直接關係。 對象寫法 為瞭解決上面的缺點,可以把模塊 ...
  • 最近遇到一個問題:HTML里的哪一部分Javascript 會在頁面載入的時候被執行()A : 文件頭部 B : 文件尾 C : <head>標簽部分 D : <body>標簽部分 雖然大家都知道選D,但是關於答案的解析眾說紛紜,由此可見大家對於瀏覽器的載入解析渲染還是不夠瞭解。 瀏覽器是從上到下依 ...
  • 一、Sublime3下載 1.百度搜索Sublime3,選擇進入下載頁面 2.小編選擇下載Win64位安裝程式 二、Sublime3安裝 傻瓜式安裝,此處省略千言萬語,然後打開就可以使用了,大家要註意的一點是,Sublime3是收費軟體,最傻的是,如果用戶不購買的話,在使用過程中會時不時出現要求購買 ...
  • Dom是Document Object Model的縮寫,意思是文檔對象模型。DOM是一種與瀏覽器、平臺、語言無關的介面,使用該介面可以輕鬆訪問頁面中所有的標準組件。DOM操作可以分為三個方面即DOM Core(核心)、HTM-DOM和CSS-DOM。 每一個網頁都可以用DOM表示出來,每個DOM都 ...
  • jQuery 篩選 1)過濾 2)查找 3)串聯 eq(index| index) 獲取匹配的第二個元素 HTML 代碼: This is just a test. So is this jQuery 代碼: $("p").eq(1).css("color","red") 結果: [ So is t ...
  • 這幾天在接谷歌的支付,在拉谷歌商品列表的時候轉菊花,長時間不返回(querySkuDetails),一開始以為因為IAP有key不對導致的,查了下發現沒有問題。 再看logcat,發現了這行: 確實IAP商品有23個,解決方案有兩個: 1. https://code.google.com/archi ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...