详解Burp Suite透明代理与NAT转发机制

17 人参与

在对IoT设备或移动端应用进行安全评估时,传统的手动代理往往受限于设备本身无法配置代理地址,这时Burp Suite的透明代理配合NAT转发便成了“暗箱”里的利器。

透明代理的工作原理

Burp Suite在透明模式下并不要求客户端主动指定代理,而是依赖底层的IP层转发:所有进入指定网段的TCP流量先被iptables捕获(PREROUTING链),随后被重写目标地址指向Burp的监听端口。Burp接收后解密(若HTTPS)并将请求原路返回,整个过程对目标设备而言仍是一次普通的网络访问。

NAT转发在抓包链路中的角色

NAT(Network Address Translation)负责把局域网内的私有IP映射到外部可达的IP。对于透明代理而言,NAT的两大任务不可或缺:一是让IoT设备的流量能够跨越物理网卡进入攻击者主机;二是保持源地址不变,以防目标服务器因IP不匹配而直接拒绝。

实战配置要点

  • 启用IP转发:sysctl -w net.ipv4.ip_forward=1
  • 在桥接网卡(如 br0)上开启DHCP/DNS,确保设备获取IP后自动加入转发链。
  • 使用 iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j DNAT --to-destination 192.168.56.101:8080 将HTTP流量重定向到Burp。
  • HTTPS同理,但需加上 --to-destination 192.168.56.101:8443 并在Burp中勾选 “Force use of TLS”。
  • 最后放行转发:iptables -P FORWARD ACCEPTiptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

常见坑与调试技巧

若设备访问外网却始终不出现Burp日志,首要检查是否遗漏了 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT,防止回程包被本机防火墙拦截。使用 tcpdump -i br0 -nn 实时监控目标端口的流量走向,能快速定位是转发失效还是Burp未监听。证书问题则要在移动端手动信任Burp的CA,路径往往隐藏在“设置→通用→关于本机→证书信任设置”。

参与讨论

17 条评论
  • 罗二十三

    看着好复杂,直接上charles得了

    回复
  • 雨伞的水珠

    之前配过一次,卡在证书那步好久

    回复
  • 社恐小冰箱

    收藏了,回头试试

    回复
  • 猴子聪明

    设备要是没root咋办?

    回复
  • 阴阳童

    这个在m1的mac上能跑吗?

    回复
  • 木工王

    感觉好麻烦,有没有更简单的方法

    回复
  • 会隐身的洋葱

    我用这个方法抓过电视盒子,确实能抓到

    回复
  • 墨韵诗行

    这么搞会不会把设备搞崩啊?

    回复
  • 疯狂枪手

    iptables规则总记不住

    回复
  • 高傲天鹅女

    有没有安卓手机不用root的方案?

    回复
  • 小熊猫酱

    证书信任设置藏得太深了

    回复
  • 蜜桃波波

    讲解挺详细的,比网上那些教程清楚

    回复
  • 放鸽子专业户

    搞了半天流量还是没转发过去

    回复
  • 辰光

    透明代理确实方便,就是配置坑多

    回复
  • 古巷深幽

    这样弄会不会被目标服务器检测到?

    回复
  • 青锋客

    iptables规则顺序写反过,折腾好久才通

    回复
    1. 柴火厨房

      @ 青锋客 我也被坑过

      回复