docker mitmproxy整理

**docker mitmproxy整理**

    docker mitmproxy 安裝:
        docker pull mitmproxy/mitmproxy
        
    docker 運行mitmproxy 容器命令:
        啓動mitmproxy 並將證書路徑掛在到容器中:
            docker run  --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy
        啓動mitmdump
            docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy mitmdump
        啓動mitmweb
            docker run --rm -it -p 8080:8080 -p 0.0.0.0:8081:8081 mitmproxy/mitmproxy mitmweb
            
    docker 運行mitmproxy容器可能遇到的錯誤:
    
        1. WARNING:  IPv4 forwarding is disabled. Networking will not work.
            解決方案:
                第一步:在宿主機上執行:
                    echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
                    tail -2  /usr/lib/sysctl.d/00-system.conf
                第二步:重啓network和docker服務
                    systemctl restart network && systemctl restart docker  
                    
    如何讓外網訪問mitmproxy:
        1. 在啓動命令中 設置--set block_global=false 
           docker file
                FROM python:3.7
                MAINTAINER Jacob"[email protected]"
                ENV PATH /usr/local/bin:$PATH
                ADD . /demo_mitm
                WORKDIR /demo_mitm
                RUN pip3 install -i https://pypi.doubanio.com/simple/ -r requirements.txt
                CMD mitmdump -p 8888 -s mitm_addons.py --set block_global=false
                
           在CMD啓動容器時默認執行的命令我添加了 --set block_global=false,這樣做的原因是block_global是用來設置是否阻止來自
           全球可訪問網絡的連接,這在IANA特殊目的註冊表中已定義。默認值:True,只能在內網設置代理,需要指定爲False允許外網訪問
           
        來自: https://blog.csdn.net/qq_33430083/article/details/103482326
    
    mitmdump 運行過程中可能遇到的問題:    
        mitmdump --no-http2  --anticache -s run.py
            --no-http2: 不支持http/2請求 , http/2是持久連接的一種傳輸協議,如果在服務器回傳數據之前斷開連接,
                        mitmproxy可能會報錯 broken pipe
            --anticache: '緩存避免304狀態碼問題', 有些網站因爲緩存導致監控不到請求的問題。

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章