stephCurry
V2EX  ›  问与答

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

  •  
  •   stephCurry · Sep 28, 2020 · 1689 views
    This topic created in 2226 days ago, the information mentioned may be changed or developed.

    工具: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
    
    
    3 replies  •  2020-09-30 13:08:50 +08:00
    polaa
    polaa
    Sep 28, 2020 via iPhone
    1
    你确定是 prerouting ?
    stephCurry
    stephCurry
    OP
    Sep 28, 2020
    2
    @polaa 不确定。。。。。。。。。。。
    julyclyde
    julyclyde
    Sep 30, 2020
    3
    这就是个典型的错误理解了
    你以为做转发的是 iptables
    而实际上 iptables 只是在内核里设置个规则而已
    至于数据是不是要经过你这里,和你的电脑一点关系都没有

    取决于发送方自己的路由表
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1383 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:49 · PVG 03:49 · LAX 11:49 · JFK 14:49
    ♥ Do have faith in what you're doing.