python抓包工具mitmproxy

📅 2026/7/13 14:11:19
python抓包工具mitmproxy
1、安装pip install mitmproxy2、启动代理端口根据实际情况修改#mit代理 http://127.0.0.1:8888 mitmweb --listen-port 88883、开启web页面 http://127.0.0.1:8081/4、让ap走代理代码设置代理只影响该代码本身import os os.environ[HTTP_PROXY] http://127.0.0.1:8888 os.environ[HTTPS_PROXY] http://127.0.0.1:8888环境变量设置代理注意因为设置环境变量会导致其他ap也走代理需要时才用这个方法测试后删除环境变量$env:HTTP_PROXYhttp://127.0.0.1:8888 $env:HTTPS_PROXYhttp://127.0.0.1:88885、可能出现https请求问题这个问题是因为 mitmweb 的 HTTPS 证书没有被信任导致的。当你设置代理后HTTPS 请求会经过 mitmproxy但它使用的自签名证书不被 Python 信任。解决方法1用环境变量方法解决方法2使用 httpx 客户端配置import httpx # 创建一个跳过 SSL 验证的 httpx 客户端 http_client httpx.Client( proxyhttp://127.0.0.1:8888, verifyFalse # 跳过 SSL 验证 ) llm ChatOpenAI( modelxop35qwen2b, openai_api_keyos.getenv(xf_API_KEY), openai_api_basehttps://maas-api.cn-huabei-1.xf-yun.com/v2, temperature0.7, max_tokens1024, http_clienthttp_client # 传入自定义客户端 )解决方法3跳过SSL验证可能不安全测试好像无效import os os.environ[HTTP_PROXY] http://127.0.0.1:8888 os.environ[HTTPS_PROXY] http://127.0.0.1:8888 os.environ[SSL_CERT_FILE] # 清空证书环境变量解决方法4安装 mitmproxy 证书(待验证)Windows启动 mitmweb浏览器访问http://mitm.it下载 Windows 证书双击安装选择受信任的根证书颁发机构或者手动安装# 1. 生成证书 mitmdump --set block_globalfalse # 2. 证书位置通常在 # Windows: %USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.pem # Linux/Mac: ~/.mitmproxy/mitmproxy-ca-cert.pem # 3. 在代码中指定使用这个证书 import os os.environ[REQUESTS_CA_BUNDLE] rC:\Users\你的用户名\.mitmproxy\mitmproxy-ca-cert.pem os.environ[SSL_CERT_FILE] rC:\Users\你的用户名\.mitmproxy\mitmproxy-ca-cert.pem