異常描述
當瀏覽器訪問http://mitm.it/出現If you can see this, traffic is not passing through mitmproxy. 時證明它沒有檢測到當前操作經過了mitmproxy。
可能因為以下原因:
1、未啟動mitmproxy -> 直接在命令行輸入mitmproxy啟動代理
2、沒有配置系統或瀏覽器的代理,mitmproxy和fiddler有所區別,不能在不配置代理的情況下完成監聽
3、端口沖突。使用mitmproxy -p 端口號啟用指定端口的監聽
4、可能因為一些雜七雜八的瀏覽器配置所影響,使用無痕模式試試(本次就出現了這情況,研究半天發現無痕模式和Safari可正常訪問)
5、可以裝一個SwitchyOmega插件,省事一鍵使用系統代理或選擇自己配置的瀏覽器代理
安裝完代理管理工具后,選擇了系統代理127.0.0.1:18888,就正??梢韵螺d證書了。
系統代理設置:

相關鏈接:
https://ptorch.com/docs/10/mitmproxy-concepts-certificates
https://blog.csdn.net/qq_33581509/article/details/116327225
https://blog.csdn.net/qq_27109535/article/details/125868649
mitmproxy操作實例方法: http.HTTPFlow 實例 flow
flow.request.headers #獲取所有頭信息,包含Host、User-Agent、Content-type等字段
flow.request.url #完整的請求地址,包含域名及請求參數,但是不包含放在body里面的請求參數
flow.request.pretty_url #同flow.request.url目前沒看出什么差別
flow.request.host #域名
flow.request.method #請求方式。POST、GET等
flow.request.scheme #什么請求 ,如https
flow.request.path # 請求的路徑,url除域名之外的內容
flow.request.get_text() #請求中body內容,有一些http會把請求參數放在body里面,那么可通過此方法獲取,返回字典類型
flow.request.query #返回MultiDictView類型的數據,url直接帶的鍵值參數
flow.request.get_content()#bytes,結果如flow.request.get_text()
flow.request.raw_content #bytes,結果如flow.request.get_content()
flow.request.urlencoded_form #MultiDictView,content-type:application/x-www-form-urlencoded時的請求參數,不包含url直接帶的鍵值參數
flow.request.multipart_form #MultiDictView,content-type:multipart/form-data
時的請求參數,不包含url直接帶的鍵值參數
以上均為獲取request信息的一些常用方法,對于response,同理
flow.response.status_code #狀態碼
flow.response.text#返回內容,已解碼
flow.response.content #返回內容,二進制
flow.response.setText()#修改返回內容,不需要轉碼
浙公網安備 33010602011771號