**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"xxx@qq.com"
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状态码问题', 有些网站因为缓存导致监控不到请求的问题。
docker mitmproxy整理
于 2020-06-28 10:33:25 首次发布