下載軟件
- xclient 下載網站
- 搜索 Charles
- 運行環(huán)境: OS X
運行配置軟件
下載 Charles 后,第一次點開時,Charles 會主動彈窗. Automatic macOS Proxy Configuration
-
Automatic macOS Proxy Configuration 自動修改OS系統(tǒng)中的代理設置
- 給 Charles 修改系統(tǒng)網絡設置的權限 (Grant Privilege)
- 在電腦上的顯示 在Setting -> Network -> Ethernet -> Advanced -> Proxy ->
- Web Proxy
- Secure Web Proxy
打開代理 關閉代理 并不需要關閉程序 只需要使用快捷鍵
shift
+command
+p
當你使用 Chrome 開發(fā)時,在沒有配置的情況下你可能抓不到包(具體不細說部蛇,因為等下說原理)
-
https: 本機(計算機)代理
- Help -> SSL proxying -> install charles root certificate 安裝charles根證書到本機
- 打開 Keychain Access , 找到 charles 根證書镊屎,并且信任此證書
- 默認情況下charles是不會抓取任何Https封包的,需要我們手動添加規(guī)則來抓包
1. 點擊一個請求拆魏,右鍵,選擇 enable SSL Proxying
2. proxy -> SSL proxying Setting -> 添加 Host
- 這里的host可以用正則表達式*.baidu.*
將所有佩戴baidu的都進行抓包
-
https: 手機代理
- 設置手機WIFI的代理
- 本機地址
- 端口地址
- 下載證書 chls.pro/ssl
- 抓取https請求
- 設置手機WIFI的代理
-
Access Control 接入控制
- 用以阻止或控制 用戶(或系統(tǒng))系統(tǒng)進行通信和交互
-
proxy
->access control
prompt to allow unauthorized connections 當你有新設備接入時慈俯,會自動彈出對話框來告訴你渤刃。 - access control setting 可以導出 如果你做了很多設置的話 遷移的時候很方便
-
設置代理
- 如何快速獲取本機地址
Help
->lcoal IP Address
- 設置端口號 Http Proxy port: 8888
- 如何快速獲取本機地址
幾個快捷鍵
- 清除所有記錄
Command
+Delete
- Throttle 模式 模擬網絡環(huán)境差 快捷鍵
Command
+T
- 開始/關閉 記錄
Command
+R
- 模擬網絡狀態(tài)差
- Throttle 模式 模擬網絡環(huán)境差 快捷鍵
Command
+T
- Throttle 模式 模擬網絡環(huán)境差 快捷鍵
界面模塊
-
界面有兩種形式 Structure 和 Sequence
- Structure 以Host(主機)和路徑來劃分的樹狀結構
- Sequence 默認的是以封包的發(fā)送時間來排列的
- Fiter: 只有在sequence界面才有
- 篩選相關封包
-
Recording Setting(篩選記錄)
- Include 選項卡
- 這是一個列表,為空時贴膘。會顯示所有的請求(封包)數據
- 當這個列表不為空時卖子,只會記錄匹配這個列表的中的地址的請求
- Exclude 不包含
- 當這個列表不為空時,如果請求的地址匹配到任何一個列表中地址刑峡,將不會記錄
- Include 選項卡
請求的過程 IP地址加端口號 服務器端 監(jiān)聽端口 相應處理
抓包相關計算基礎知識
-
場景: 本機抓包
- 其實本機中兩個進程之間進行通信 Charles監(jiān)聽本地的一個端口 默認是8888
- 大多數操作系統(tǒng)都支持多程序(進程)同時運行洋闽,那么目的主機應該把接收到的數據包傳送給眾多同時運行的進程中的哪一個呢?顯然這個問題是通過端口來解決的突梦,端口機制便由此被引入進來诫舅。
-
什么是程序、進程宫患、端口刊懈、
- 程序是固定的有序列的代碼塊
- 進程離開了系統(tǒng)無從談起,進程是執(zhí)行程序的過程娃闲。
- 端口:進程之間就是通過端口來交流
-
什么是IP
- 物理層虚汛,數據鏈路層,網絡層皇帮,運輸層卷哩,應用層
- 網絡層: 網絡層向上只提供簡單靈活的、無連接的属拾、盡最大努力交付的數據報服務将谊。
- IP協(xié)議解決了什么問題
- 標識網絡上電腦 (IP地址有分類 分類的原因) A類 B類 c類 d類 (方便路由 這個地方需要舉例說明)
- A類IP特點是網絡號第一個位置為0, 網絡號占1一個字節(jié)冷溶,
- 127.0.0.1 和 全0 的特殊作用 127.0.0.1標識的是本機 是一個環(huán)回地址 localhost是一個域名,在過去它指向 127.0.0.1 這個IP地址瓢娜。在操作系統(tǒng)支持 ipv6 后挂洛,它同時還指向ipv6 的地址 [::1]
- 127.0.0.1 這個地址通常分配給 loopback 接口 (環(huán)回地址)。loopback 是一個特殊的網絡接口(可理解成虛擬網卡)眠砾,用于本機中各個應用之間的網絡交互虏劲。只要操作系統(tǒng)的網絡組件是正常的,loopback 就能工作
IP協(xié)議不包含端口信息褒颈,因為IP解決的問題是網絡上各個物理機器的標識問題
那么什么地方保存端口信息 socket 套接字被引入進來
-
TCP協(xié)議 TCP把連接作為最基本的抽象
- socket 套接字
-
統(tǒng)一資源定位符 URL
- 格式 <協(xié)議>://<主機(host)>:<端口(port)>/(路徑)
- 大部分默認的協(xié)議都會有默認端口 http協(xié)議默認端口是80 https默認端口是443
DHCP 動態(tài)主機分配協(xié)議 Dynamic Host Configuration Protocol