一般情况下,Burp抓手机APP的HTTP/HTTPS请求时可在系统代理或者VPN代理软件上设置代理服务器,但是部分APP存在代理检测,发现存在代理则退出应用,或是部分APP的请求不通过代理。此时可利用Packet Filter将手机流量转发到Burp代理上,避免以上情况发生,从而抓到请求包。
使用步骤:
- 打开Macbook的网络共享,iPhone连接Macbook共享的网络(热点)。
- 打开Burp,监听本地端口,并打开
Support invisible proxying
选项。
开启转发功能:
sudo sysctl -w net.inet.ip.forwarding=1
添加
/etc/pf.anchors/proxy.rules
文件,内容如下:
1 | rdr pass on bridge100 inet proto tcp from any to any -> 127.0.0.1 port 8080 |
- 添加
/etc/pf-minor.conf
文件,内容如下:
1 | rdr-anchor "forwarding" |
- 执行:
sudo pfctl -evf /etc/pf-minor.conf
⚠️:还原设定时只需执行:sudo pfctl -evf /etc/pf.conf
,并且重启热点
sudo pfctl -d
关闭packet filter
总结:本质上是通过防火墙将某张网卡的流量转发到Burp。在Linux和Windows操作系统中配合防火墙进行流量转发能得到同样的效果。