Charles08--常用代理配置


Charles代理設置

設置的主界面如下:

動態端口

啟用動態端口選項來監聽動態端口,每次查詢啟動時選擇。這樣可以避免與計算機上可能運行的其他網絡服務的沖突,包括Charles的其他實例(如果是共享計算機)如果你開的端口很多,搞到你自己都記不清楚了,那么推薦你用這個;但是我都是寫好一個端口的,比如代理寫8888,別的就不會監聽這個端口了,而且為了手機方便連接,都是使用指定好的端口。

注意;如果你charles設置了8888的端口,別的服務就不能再使用這個端口號了,否則沖突會發生意外的錯誤;

透明的HTTP代理

透明代理使Charles能夠支持不支持HTTP代理服務器的客戶端,或者不知道他們正在使用HTTP代理服務器,例如TCP / IP連接由路由器或防火牆重定向到Charles。這里可以被手機連接;

手機連接的時候,http代理那里寫=選手動,並填寫此時charles的本機地址和上面設置的8888端口即可;

options 里 主要是設置 繞過代理

這里可以設置您的瀏覽器/操作系統遇到哪些域名的時候,使用默認而不用Charles;配置的列表使用空格或逗號分隔,並在Charles配置其代理設置時注入瀏覽器。 有關詳細信息,請參閱操作系統和瀏覽器特定選項卡。

后面系統代理和火狐瀏覽器的就不寫了,主要是一些開關和配置,因為也不用火狐,都默認就可以了;

SSL Proxying Srtting

這里最常用的設置就是第一個ssl proxying,這里記錄了需要捕獲哪些ssl的信息;

注意,如果你不在這里設置,雖然你安裝了ssl的charles證書,你依然無法正常捕獲;

通過SSL代理,您的瀏覽器或應用程序將收到由Charles簽名的證書,而不是來自遠程Web服務器的原始證書。這將在您的瀏覽器或應用程序中觸發警告,某些應用程序實際上可能會拒絕該連接。
您可以將瀏覽器或應用程序配置為接受Charles的證書;

具體請查看 http://www.charlesproxy.com/ssl 的說明,或者“幫助”菜單中的“SSL代理”菜單。

為在這里設置了通配符,表示為要捕獲記錄所有ssl協議的請求和響應;

具體請查看Charles的HTTPS抓包方法及原理

access control settings 訪問賬戶設置;

這里可以配置連接到charles時的一些配置;

這個訪問控制確定誰可以使用這個charles,

本機是永遠都可以訪問的,默認的訪問控制列表如果是空的;

意味着除了這台電腦以外,沒有任何設備可以使用charles。

如果你把下面的提示開始,未經授權的設備連接時候會提示你是否允許;

類似下面這種提示框

當你手機訪問的時候,電腦會提示的;

這里設置后的host,連接時候是無需確認的;

external proxy 外部代理設置

有時候您可能需要使用網絡上的代理服務器才能訪問Internet。在這種情況下,您需要為Charles配置外部代理。

您可以為每種代理類型配置身份驗證信息。 Charles支持基本身份驗證和NTLM身份驗證。對於NTLM身份驗證,您可以輸入“域名”選項。
如果您沒有配置身份驗證和外部代理請求認證,Charles會將驗證請求傳遞給瀏覽器,就像Charles本身正在請求身份驗證一樣。

排除列表
您可以輸入繞過外部代理的loacation列表。

該列表是空格分隔的,每個location都是一個主機或ip地址與可選端口匹配(例如hostname:port),並且支持通配符。
請注意:之前的Charles自動在排除location列表中進行了前綴匹配。

在Charles 3.5中更改了支持全局通配符的系統。

Web Inerface

Web界面可以讓您使用Web瀏覽器控制查詢,您可以訪問 http://control.charles ⬆️的Web界面,當查詢運行時,您可以啟用此功能並配置下面的訪問控制;

首先你必須要開啟web inter face,否則你訪問http://control.charles的時候就提示你沒有開啟;如下的提示;

Charles Web Interface

The Web Interface is disabled. You can enable it in the Web Interface Settings in the Proxy menu.

Charles代理設置常用步驟

點擊Proxy菜單中的代理設置:Proxy Settings

Charles抓包設置代理

如果想要抓包,第一件事情,就是把charles設置成為本機和服務端之間的”過濾器”;讓所有的網絡請求全部經過charles,這樣就可以捕獲並記錄到你請求的內容和返回數據了,原理請參照上面那張圖片;需要注意的是,如果你訪問的是web,可以把所有請求抓到;但如果你想抓某些應用(比如手機上的應用等),應用使用的某些資源,如果沒有向服務器發送請求,而是通過調用內部資源的方式進行展現,那么此時charles是抓不到的;驗證這個的方式很簡單,就是把網絡斷掉后,如果還可以繼續展現,就是屬於調用內部資源的,這種時候就不要想着通過抓包工具來捕獲資源了,他都沒有像服務器發起請求,手機點爛也抓不到的;

啟動 Charles 后,第一次 Charles 會詢問你是否把Charles設置為系統的代理,如果此時你忽略了這個詢問敞口,你可以在后期設置的;將 Charles 設置成系統代理:選擇菜單中的 “Proxy” -> “Mac OS X Proxy/windows proxy” 來將 Charles 設置成系統代理,參考如下,如果Mac下有管理密碼,需要輸入密碼后方可進行;

將charles設置為chrome的代理

需要注意的是,Chrome 和 Firefox 瀏覽器並不一定使用的就是本機,可能是一些代理工具,而 Charles 是通過將自己設置成代理服務器來完成資源記錄的,所以如果你的charles無法截取 Chrome 和 Firefox 瀏覽器的網絡請求內容,需要在瀏覽器里做下修改。在 Chrome 中設置成使用系統的代理服務器設置即可,或者直接將代理服務器設置成 127.0.0.1:8888 也可達到相同效果。

charles手機抓包設置和安裝證書

charles經常會進行手機上的網頁抓包,比如去copy別人網站圖片或腳本的時候

手機抓包的原理,和PC類似,手機依靠charles與服務端進行對話;

目標:把手機的網絡委托給charles進行代理;

手機抓包設置,需要進行3步;

第一步,在charles里設置允許手機聯網的權限;你需要把charles設置為允許的狀態並且設置允許的端口號,這樣手機端才能正常的接入;

第二步,把手機按照charles的IP和端口進行配置;

第三步,手機配對成功后,charles還會彈窗是否允許;(charles雖然開放了端口,但並不知道是那一台手機會配入,此窗口起到提示和安全防護的作用;)

上面的三步,有點類似HTTP的握手原理,雙方都保證正常通信后,就可以進行抓包;

第一步:設置charles為允許狀態,並設置好接入端口:

在Charles的菜單欄上選擇“Proxy”->“Proxy Settings”,填入代理端口8888(注意,這個端口不一定填寫8888,也可以寫別的端口,但是需要記住這個段擴,因為這里設置的允許接入的端口,手機端配置的時候需要用到),並且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的設置。如下圖;

需要找到charles的本機IP;

點擊HTLP -> local IP Address 可以看到當前的本機IP地址;

當然,你也可以在終端打開查看,比如window,cmd下;輸入ipconfig可以查看本機的IP

此時我們可以看到,charles允許手機接入的IP和端口是 192.168.0.103:8888

此時如果你手工在瀏覽器輸入 這個HOST會發現charles會提示一個窗口問你是否允許接入;

第二部:把手機按照charles的IP和端口進行配置

手機鏈接wifi,wifi的HTTP代理選擇手動那項(安卓類似)

在iPhone的 “設置”->“無線局域網“中,可以看到當前連接的wifi名,通過點擊右邊的詳情鍵,可以看到當前連接上的wifi的詳細信息,包括IP地址,子網掩碼等信息。在其最底部有“HTTP代理”一項,我們將其切換成手動,然后填上Charles運行所在的電腦的IP,以及端口號8888

第三步,手機配對成功后,charles彈窗詢問是否允許

設置好之后,我們打開iPhone上的任意需要網絡通訊的程序,就可以看到Charles彈出iPhone請求連接的確認菜單

如上圖的彈窗,點擊允許即可;此時已經配對成功,開始愉快的抓包吧;

比如此時,訪問www.tmooc.cn

就可以電腦上就抓到訪問的資源了;

因為本站用的是SSL,所以如果您的charles沒有配置過,是抓取不到HTTPS這種加密協議的內容的;

如果需要抓取HTTPS網站的資源,請查看Charles的HTTPS抓包方法及原理

注意:需要明白一個可能存在的弊端,如果你把手機的上網相關事情委托給了charles,那么當charles出錯或者沒有開啟的時候,此時手機必定沒有辦法正常上網;這個一定要了解,因為很多人把手機的IP委托給charles進行代理后,

第二天早晨上本的時候,手機wifi會默認鏈接你常用的高清度wifi;而此時的wifi的設置里面可能已經委托給charles了,但是此時電腦剛沒有開charles或者重啟后ip變動等;造成charles無法正常使用;由此而導致了無法上網的問題;

注意charles此種捕獲方式,只能捕獲發出請求的資源,如果是APP里,內部的代碼和資源,因為沒有向服務器發情請求,所以這是抓不到的;

判斷是不是調用內部資源,你可以把手機的網絡給斷了,如果此時還可以正常的顯示,說明該資源是寫在APP內部的,通過代理的方式是抓不到的

Charles的HTTPS抓包方法及原理,下載安裝ssl/https證書

本文的Charles,適應windows/MAC/IOS/Android,避免抓包HTTPS失敗和亂碼;

用的版本是V4.1.2,其它版本原理類似;

charles如果不配置SSL通用證書;

會導致HPPTS協議的域名抓取失敗/亂碼的現象;

現在SSL越來越多,很多博客都上了SSL,支付相關的行業更是基礎配置;

charles配置SSL證書,算起來很簡單,操作簡潔;

首先分析我們需要怎么做?

第一步:電腦端安裝 Charles 的 CA 證書(必須

charles需要下載安裝ssl/https證書,因為charles是作為中間的過濾器使用的

這樣你就可以訪問PC端的https資源了,windows/MAC原理一樣;

第二步:電腦上charles的SSL抓取設置(必須)

charles並不是默認抓取ssl的,所以即使你安裝完證書之后,Charles 默認也並不截取 Https的信息,你需要在SSL proxy里設置需要抓的域名;

當然如果你想抓取手機端的HTTPS相關資源,還需要下面的第三步;
(還不會手機抓包普通HTTP的,請點擊charles手機抓包設置)

第三步:手機安裝SSL證書;

無論IOS/Android,都需要安裝SSL證書,原理是手機的SSL證書與電腦上charles SSL證書對接;

具體的操作方法*****

第一步:電腦安裝SSL證書

選擇 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,如果設置了安全防護,會ranging輸入系統的帳號密碼。

會讓你開始安裝charles的證書操作;

默認下一步即可;

第二步,配置SSL的抓取域名;

你可以單獨配置,必須看到某個想要抓取的域名,右鍵點擊“SSL proxying :Enableed”那么當前你設置后的域名,再次訪問就可以抓到了;設置如下圖

可以看到我上面的配置,那個“SSL proxying :Enableed”配置 默認就是灰色的,這是因為我做了通用設置的原因;我是設置為所有的HTTPS協議全部允許捕獲;

我的設置如下;

首先找到proxy – SSL Proxying Settings;

然后選中啟用SSL代理(Enable SSL Proxying),因為charles的location配置都是支持通配符的,所以在HOST里設置一個”*”就可以了,port不寫;

如果你需要配置某個指定域名,也是在這里填寫的;

配制特定域名的時候,一般port為443(SSL常規為443);

這樣,你就可以愉快的抓取到HTTPS的內容了;

第三步:手機安裝SSL證書(如果你需要抓取手機訪問的HTTPS網站,需要做此設置,但如果你不需要手機抓取HTTPS,就沒有必要安裝了)

和上面類似,也是HTLP下面的 SSL Proxying,選擇”Install Charles Root Certificate on a Mobile Device or remote Browser” (在移動設備或遠程瀏覽器上安裝SSL證書)

然后會看到一個彈窗,提示你該怎么操作

configure your device to use charles as its HTTP proxy on 192.168.10.108.8888,then browse to chls.pro/ssl to download and install the certificate

大概的意思是讓你把手機上的wifi信息設置了 HTTP代理,內容是192.168.10.108.8888;然后用瀏覽器瀏覽chls.pro/ssl就可以下載並安裝證書了;

charles的手機上抓取普通HTTP的設置,請參考“charles手機抓包設置”這里只是抓取HTTPS的;

上面的 192.168.10.108.8888 這是我電腦的IP和設置和設置的端口,具體要以你實際的為准;

當你完成手機的wifi委托為charles作為代理后;

打開手機上的瀏覽器訪問chls.pro/ssl;然后會跳到一個安裝描述文件的地方;

直接安裝就可以了;

我的已經安裝好了,就不再進行演示了

好了,現在去看看吧,已經可以正常捕獲到HTTPS的了;

上一章訪問我自己博客的https抓包記錄

MacOS系統客戶端代理設置

1、左上方“蘋果”-> 系統偏好設置 -> 選擇“網絡”
2、點擊“高級” -> 選擇“代理”選項卡
3、勾選“Web代理(HTTP)” -> 設置Web代理服務器IP地址和端口號
4、勾選“安全Web代理(HTTP)” -> 設置Web代理服務器IP地址和端口號
應用場合:
當MacOS客戶端與運行Charles的主機是同一台計算機時,可以通過快捷代理方式進行設置
操作步驟:
打開Charles,選擇“Proxy”菜單中的“macOS Proxy”選項

IOS系統客戶端代理設置

1、在IOS手機中選擇“設置”->“無線局域網”
2、點擊已連接的無線網絡名稱
3、在HTTP代理的配置代理中選擇“手動”
4、輸入服務器IP地址及端口,點擊“存儲”

Android系統客戶端代理設置

1、在Android手機中選擇“設置”->“WLAN”
2、長按已連接的無線網絡名稱,點擊“修改網絡”
3、勾選“顯示高級選項”
4、在代理選項中選擇“手動”
5、輸入代理服務器IP地址及端口,點擊“存儲”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM