想在手机上通过 shell 开启透明代理,应该如何操作? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whyou
V2EX    Android

想在手机上通过 shell 开启透明代理,应该如何操作?

  •  
  •   whyou 2019-06-20 11:33:35 +08:00 13770 次点击
    这是一个创建于 2384 天前的主题,其中的信息可能已经有所发展或是发生改变。
    手机上 iptables 版本为 1.6.1,我自己测试感觉没有数据转发到代理端口。我的写法是这样的

    iptables -t mangle -N TPROXY
    iptables -t mangle -A TPROXY -d 0/8 -j RETURN
    iptables -t mangle -A TPROXY -d 10/8 -j RETURN
    iptables -t mangle -A TPROXY -d 127/8 -j RETURN
    iptables t mangle -A TPROXY -d 169.254/16 -j RETURN
    iptables -t mangle -A TPROXY -d 172.16/12 -j RETURN
    iptables -t mangle -A TPROXY -d 192.168/16 -j RETURN
    iptables -t mangle -A TPROXY -d 224/4 -j RETURN
    iptables -t mangle -A TPROXY -d 240/4 -j RETURN

    iptables -t mangle -A TPROXY -m owner --uid-owner 代理程序的 uid -j RETURN


    ip rule add fwmark 0x01/0x01 table 100
    ip route add local 0.0.0.0/0 dev lo table 100

    iptables -t mangle -A TPROXY -p udp -j TPROXY --on-port 代理程序监听端口 --tproxy-mark 0x01/0x01
    iptables -t mangle -A TPROXY -p tcp -j TPROXY --on-port 代理程序监听端口 --tproxy-mark 0x01/0x01
    iptables -t mangle -A PREROUTING -j TPROXY



    以上命令执行完毕后感觉手机依然是走的直连。测试将最后一行替换为
    iptables -t mangle -I PREROUTING -j TPROXY
    依然没有变化。请各位大神指点。谢谢!
    12 条回复    2020-02-28 19:52:47 +08:00
    iwtbauh
        1
    iwtbauh  
       2019-06-20 11:53:34 +08:00 via Android
    有可能是手机的 Linux 内核没有编译某些必要的 iptables 模块,这些命令是否有报错?如果是,则你只能重新编译内核解决。
    whyou
        2
    whyou  
    OP
       2019-06-20 11:56:25 +08:00
    所有命令均无报错,而且用命令验证看起来也都启用了。
    artandlol
        3
    artandlol  
       2019-06-20 11:56:49 +08:00 via Android
    sshuttle
    locoz
        4
    locoz  
       2019-06-20 18:10:22 +08:00
    试试直接用 ProxyDroid ?
    justin2018
        5
    justin2018  
       2019-06-20 19:59:32 +08:00
    artandlol
        6
    artandlol  
       2019-06-21 11:54:25 +08:00 via Android
    @justin2018 哈哈 之前我也折腾了半天后面发现错了
    wslwsl
        7
    wslwsl  
       2019-06-21 12:07:17 +08:00 via Android
    @whyou 最后弄出来了吗?方便分享一下吗?
    whyou
        8
    whyou  
    OP
       2019-06-21 17:12:21 +08:00
    @wslwsl 自己写 shell 肯定是不行,原因未知。目前是想有空测试一下 3 楼 4 楼说的软件。
    happyhou
        9
    happyhou  
       2019-06-22 16:56:49 +08:00
    ProxyDroid
    whyou
        10
    whyou  
    OP
       2019-06-25 16:12:27 +08:00
    发现一个叫做 go-tun2socks-mobile 的项目,我想先试这个。
    whyou
        11
    whyou  
    OP
       2019-07-01 10:22:04 +08:00
    目前状况:
    ProxyDroid 只代理 DNS 查询,其他 udp 未做处理,排除。
    whyou
        12
    whyou  
    OP
       2020-02-28 19:52:47 +08:00
    目前研究的结果如下

    ip rule add fwmark 1 table 100
    ip route add local 0.0.0.0/0 dev lo table 100

    iptables -t mangle -N PROXYAPP

    iptables -t mangle -A PROXYAPP -d 0.0.0.0/8 -j RETURN
    iptables -t mangle -A PROXYAPP -d 10.0.0.0/8 -j RETURN
    iptables -t mangle -A PROXYAPP -d 127.0.0.0/8 -j RETURN
    iptables -t mangle -A PROXYAPP -d 169.254.0.0/16 -j RETURN
    iptables -t mangle -A PROXYAPP -d 172.16.0.0/12 -j RETURN
    iptables -t mangle -A PROXYAPP -d 192.168.0.0/16 -j RETURN
    iptables -t mangle -A PROXYAPP -d 224.0.0.0/4 -j RETURN
    iptables -t mangle -A PROXYAPP -d 240.0.0.0/4 -j RETURN

    iptables -t mangle -A PROXYAPP -p udp -j TPROXY --on-port 65535 --tproxy-mark 1
    iptables -t mangle -A PROXYAPP -p tcp -j TPROXY --on-port 65535 --tproxy-mark 1


    iptables -t mangle -N PROXYAPP_MARK
    iptables -t mangle -A PROXYAPP_MARK -m mark --mark 2 -j RETURN

    iptables -t mangle -A PROXYAPP_MARK -p udp -j MARK --set-mark 1
    iptables -t mangle -A PROXYAPP_MARK -p tcp -j MARK --set-mark 1

    iptables -t mangle -A PREROUTING -j PROXYAPP
    iptables -t mangle -A OUTPUT -j PROXYAPP_MARK

    据说在 linux 上运行成功,在安卓上还是不行。我还在继续测试。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3485 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 10:42 PVG 18:42 LAX 02:42 JFK 05:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86