通过 iptables 透明代理抓取局域网数据

2020-09-28 16:29:48 +08:00
 stephCurry

工具:mitmproxy, iptables; 测试需要抓去设备数据,所以用 iptables,流程如下:

# 开启 IP 转发
sysctl -w net.ipv4.ip_forward=1

iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.1.0/24 -j DNAT --to-destination 192.168.1.115:8080

如上,我电脑 ip 115,将局域网所有标准 http 的流量转发到我电脑 8080 端口上,用设备及手机 chrome 测试,但是最终 mitmproxy 中也没任何数据,疑惑问题在哪里?不用改网关 DNS 吧。。

iptables -t nat -L -n -v 如下:

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  *      *       192.168.1.0/24       0.0.0.0/0            tcp dpt:80 to:192.168.1.115:8080

862 次点击
所在节点    问与答
3 条回复
polaa
2020-09-28 17:55:40 +08:00
你确定是 prerouting ?
stephCurry
2020-09-28 18:13:32 +08:00
@polaa 不确定。。。。。。。。。。。
julyclyde
2020-09-30 13:08:50 +08:00
这就是个典型的错误理解了
你以为做转发的是 iptables
而实际上 iptables 只是在内核里设置个规则而已
至于数据是不是要经过你这里,和你的电脑一点关系都没有

取决于发送方自己的路由表

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/711312

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX