安裝 mitmproxy
Ubuntu需要先安裝cryptography的依賴開發(fā)環(huán)境
sudo apt-get install build-essential libssl-dev libffi-dev
通過pip安裝 mitmproxy
pip install mitmproxy
未安裝cryptography依賴開發(fā)環(huán)境時,可能拋出錯誤信息:
failed with error code 1 in /tmp/pip-build-dlon5cys/cryptography/
安裝完成后戳气,要監(jiān)聽HTTPS鏈接鳖链,需要先安裝受信證書
移動端安裝證書,可通過在移動設(shè)備訪問該網(wǎng)址獲得:http://mitm.it/
關(guān)于使用
官方使用指南:http://docs.mitmproxy.org/en/latest/mitmproxy.html
關(guān)于過濾器,有兩種觸發(fā)模式:
f 鍵觸發(fā)夏块,僅顯示符合指定過濾模式的請求/響應(yīng)
i 鍵觸發(fā)遥赚,攔截每個符合指定過濾模式的請求/響應(yīng)扬舒,以橙色高亮顯示
針對iPhone的App,其使用HTTPS協(xié)議進(jìn)行服務(wù)訪問時可能無法通過mitmproxy過濾出來凫佛,表現(xiàn)為App網(wǎng)絡(luò)鏈接異常讲坎,其中一種原因解釋如下:
iOS預(yù)防上述的中間人攻擊也很簡單,在客戶端App做ssl pinning就可以了御蒲。
ssl pining分為certificate pinning和public key pinning兩種衣赶,目前主流的第三方HTTP framework(AFNetworking和Alamofire)都支持ssl pinning功能。
做了證書或者公鑰綁定之后厚满,Charles和mitmproxy的https流量都無法正常獲取了府瞄。