使用mitmweb/mitmproxy时YouTube/IG应用失效,如何追踪特定HTTPS2站点完整URL?
解决mitmproxy抓包时YouTube/Instagram异常的方案(附特定站点追踪方法)
一、仅追踪特定站点的最简操作(不用写代码)
mitmweb/mitmproxy自带过滤功能,直接通过启动参数或界面设置就能实现,完全不用碰脚本:
1. 启动时指定仅抓目标站点
打开终端(Windows用命令提示符),执行以下命令,把your-target-domain.com替换成你要抓取的站点域名:
mitmweb --allow-hosts your-target-domain.com
这个命令会让mitmproxy只处理目标域名的请求,自动跳过所有其他站点(包括YouTube、Instagram),既不影响这些应用正常运行,又能抓到目标站点的完整URL。
如果需要抓多个特定域名,用逗号分隔即可:
mitmweb --allow-hosts domain1.com,domain2.com
2. 运行中动态调整过滤规则
如果已经启动了mitmweb,直接在界面顶部的Filter输入框里输入规则:
- 只显示目标域名的请求:输入
~d your-target-domain.com - 排除YouTube和Instagram:输入
!~d youtube.com & !~d instagram.com(这样除了这两个域名,其他请求都会被记录)
二、确保HTTPS/HTTP2站点能正常抓取
有些HTTP2站点抓不到,大概率是证书问题,按以下步骤确认:
- 用iPhone的Safari访问
mitm.it,选择iOS平台下载并安装mitmproxy的根证书 - 进入iPhone「设置」→「通用」→「VPN与设备管理」,找到mitmproxy的证书并点击信任
- 确认iPhone的代理设置正确,指向运行mitmweb的电脑IP和默认端口8080
三、替代方案:用Charles抓包(更适合非程序员)
如果mitmproxy的设置还是有麻烦,可以试试Charles,操作更直观:
- 安装Charles后,在iPhone上设置代理,安装Charles的根证书并信任
- 点击Charles顶部的「Proxy」→「Recording Settings」,在「Include」标签页添加目标域名,「Exclude」标签页添加YouTube、Instagram的域名
- 设置完成后,只会记录目标站点的请求,其他应用不受影响,直接在界面里就能看到完整URL
内容的提问来源于stack exchange,提问作者Jeferson Silva
相关产品推荐
相关产品推荐

