mitmproxy安装证书_在 macOS 上使用 mitmproxy 透明代理进行网络抓包
·
什么是透明代理
透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的报文,并会传送真实 IP,多用于路由器的 NAT 转发中。
为什么要用透明代理
普通代理需要在手机或其他客户端网络中进行代理设置,但有些情况下我们没办法设置,例如某些系统或电视 TV,或有些 App 代码层面忽略了代理,例如新浪微博 App,这些情况下都无法通过普通的中间人代理进行抓包。
具体实施步骤:
1.共享本机有线网卡为 Wi-Fi 热点,系统偏好设置 - 共享 - 互联网共享,Wi-Fi 选项中设置密码
2.启用 IP 转发,终端运行
sudo sysctl -w net.inet.ip.forwarding=1
3.创建并启用规则,将 bridge100 的 80、443 端口的流量转发至本机 8080 端口,终端运行
echo "rdr pass on bridge100 inet proto tcp to any port {80, 443} -> 127.0.0.1 port 8080" | sudo pfctl -ef -
bridge100 为共享热点的网卡,可以通过 ifconfig 来查找并替换命令
查看是否生效,终端运行
sudo pfctl -s nat
4.配置 sudoer 以允许 mitmproxy 访问 pfctl,以根用户身份在系统上编辑文件 /etc/sudoers,将以下行添加到文件末尾,终端运行
sudo sh -c "echo 'ALL ALL=NOPASSWD: /sbin/pfctl -s state' >> /etc/sudoers"
5.访问
Downloadsmitmproxy.org下载 mitmproxy
6.启动 mitmproxy
mitmproxy --mode transparent --showhost
如果使用 web 页面查看抓包,只需要运行命令,会自动打开网页
mitmweb --mode transparent --showhost
7.在需要抓包的设备连接共享热点,访问 http://mitm.it/ 安装证书文件并信任
8.准备好一切,可以开始抓包了
参考资料:
Transparent Proxyingdocs.mitmproxy.org
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)