Android 常用抓包工具介紹之Charles

来源:http://www.cnblogs.com/TingyunAPM/archive/2016/04/29/5445476.html
-Advertisement-
Play Games

➠更多技術乾貨請戳:聽雲博客 Charles是一款抓包修改工具,相比起TcpDump,charles具有界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優勢!前面介紹瞭如何使用TcpDump抓包,下麵給大家介紹一下Charles的使用。 Charles抓包 Charle ...


更多技術乾貨請戳:聽雲博客

Charles是一款抓包修改工具,相比起TcpDump,charles具有界面簡單直觀,易於上手,數據請求控制容易,修改簡單,抓取數據的開始暫停方便等等優勢!前面介紹瞭如何使用TcpDump抓包,下麵給大家介紹一下Charles的使用。

Charles抓包


 Charles是一個HTTP代理伺服器/HTTP監視器/反轉代理伺服器。它允許一個開發者查看所有連接互聯網的HTTP通信。這些包括request、response現HTTP headers(包含cookies與caching信息)。

1、配置抓包環境

1)下載Charles

http://www.charlesproxy.com/

2)安裝Charles

下載完畢之後,直接進行安裝即可正常使用

(ps:不註冊的話,每次使用30分鐘,工具就會自動關閉)。

5.667.png  

2、使用Charles進行抓包

1)Http抓包

6.777.png 

i.打開Charles抓包工具 

8.999.png 

ii.打開網路偏好設置查看本機IP地址為:10.1.1.139

註:Android 設備需要與PC連接同一網段 

90.png 

iii.連接同一WiFi後設置本機代理 

98.png 

iv.這裡的IP地址為:10.1.1.139;埠號預設為:8888

97.png 

v.在Charles上查看即可

2)Https抓包(中間人)

a)下載Charles證書

如果要查看Https的數據需要安裝Charles的證書

下載地址: http://www.charlesproxy.com/assets/legacy-ssl/charles.crt

b)安裝Charles證書

將下載完成的charles.crt證書push到Android設備上(也可用常用工具)

$ adb push charles.crt /sdcard/

77.png 

i.進入設置à安全à從手機存儲卡安裝證書

88.png 

ii.找到charles.crt點擊安裝

776.png 

iii.輸入證書名稱為:charles

註:點擊確認後需要設置手機解鎖密碼

55.png 

iv.安裝成功後即可通過Charles查看Https的數據了

c)添加需要查看的Https地址

44.png 

i.點擊ProxyàSSL Proxying Settings…

33.png     

ii.在SSL Proxying中點擊Add添加Https功能變數名稱 

221.png

iii.可在charles中查找需要查看的Https功能變數名稱複製到Host中點擊Ok即可

1233.png 

iv.配置完成後重新訪問Https功能變數名稱,即可查看Https數據

3、使用Charles模擬弱網環境

測試過程中經常需要模擬網路環境,那麼如何通過Charles來模擬弱網呢?

455.png 

i.選擇ProxyàThrottle Setting…

56.png 

ii.勾選Enable Throttle並選擇需要設置的網路環境即可

4、使用Charles設置斷點

Charles能在網路訪問過程中設置斷點,對於開發者和測試人員來說,堪稱神器。它能夠斷到發送請求前(篡改Request)和請求後(篡改Response)

1)使用Breakpoint Settings設置斷點

333.png 

555.png 

2)選中功能變數名稱插入斷點

343.png

i.右擊選中需要修改的功能變數名稱,點擊Breakpoints

2233.png 

ii.重新訪問該功能變數名稱,選擇Edit Request進入修改頁面

112.png 

註:Charles能夠修改Request的:URL、Headers、Text、Raw;

以及Response的:Headers、Set Cookie、Text、Html、Raw;

這裡以Request的headers參數為例進行修改

11222.png   

iii.這裡查看原Headers攜帶參數為:{NBSHeaderTest1,NBSApp;b,NBSApp}

現在通過斷點方式修改為:{NBSHeaderTest1,TingyunTest}

667.png 

iv.修改完畢後點擊Execute查看Request中的Headers已經修改為NBSHeaderTest1 TingyunTest

5、使用repeat測試

在Charles中可以通過repeat和repeat Advances來重覆發送請求

445.png 

repeat Advances可以自定義重覆次數和重覆間隔

原文鏈接:http://blog.tingyun.com/web/article/detail/516


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

-Advertisement-
Play Games
更多相關文章
  • android:theme="@style/AppTheme"換成android:theme="@style/Theme.AppCompat.NoActionBar" ...
  • 運行效果 ...
  • 正在看《第一行代碼》,記錄一下使用 HTTP 協議訪問網路的內容吧! 在Android發送Http請求有兩種方式,HttpURLConnection和HttpClient。 1.使用HttpURLConnection 首先要獲取到HttpURLConnection的實例,只需要new出一個URL對象 ...
  • 一.Activity組件1.簡介:Activity組件是Android四大組件之一,通常一個Activity相當於一個用戶界面,我們可以通過載入佈局文件將Android提供的各種控制項及自定義控制項顯示到用戶界面,併為其註冊監聽,來響應用戶的即時操作。2.Activity生命周期方法:①onCreate ...
  • App Store: 天的故事 一個寫故事、分享故事、閱讀故事的應用。 五彩繽紛的首頁。 故事有開端、中段、結尾,一天有上午、下午、晚上,每一天都是個完整的故事,也是個多彩的故事。 好故事要能一句話概括,天的故事只要330字,配上豐富的色彩來表現感受和心情,天的故事簡潔美觀,有趣易讀。 在這裡,你可 ...
  • 跳到健康設置 上網找了一下 你會發現很難找到。代碼如下 不信你試試 。 NSURL *url = [NSURL URLWithString:@"prefs:root=Privacy&path=HEALTH"]; if ([[UIApplication sharedApplication] canOp ...
  • 今天在查看蘋果介面文檔時,突然對於介面的聲明知識點比較感興趣,再網路找到下麵這個比較不錯的文章,記錄一下並分享; 如你所知,已廢棄(Deprecated)的API指的是那些已經過時的並且在將來某個時間最終會被移除掉的方法或類。通常,蘋果在引入一個更優秀的API後就會把原來的API給廢棄掉。因為,新引 ...
  • 繼續前兩篇,接著本第三篇《學習Coding-iOS開源項目日誌(三)》講解Coding-iOS開源項目。 前 言:作為初級程式員,想要提高自己的水平,其中一個有效的學習方法就是學習別人好的項目。本篇開始會陸續更新本人對github上開源的一個很不 錯的項目的一點點學習積累。也就是,探究著別人寫的源碼 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...