寻找 raw socket 方面的移动端开发者 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangbin11
V2EX    Android

寻找 raw socket 方面的移动端开发者

  •  
  •   wangbin11 2024-08-26 23:37:24 +08:00 6541 次点击
    这是一个创建于 477 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知我是做异地组网的,最近在写安卓客户端,之前的方案是搞 tun ,但是多方查证发现没有直接用跑 tun 有几点原因

    1.tun 需要 root 权限 2.我这里没有 ketlin 或者 flutter 开发者来做界面调用 go 写的。so 文件

    经过这些原因干脆直接我把洞模块封装一下,搞成 so 文件,通过 raw socket 绑定,直接使用官方的 api 类似这种: https://api.flutter.dev/flutter/dart-io/RawSocket-class.html

    想找一个感兴趣的开发者,一起加入我们做异地组网

    11 条回复    2024-08-27 21:55:26 +08:00
    wangbin11
        1
    wangbin11  
    OP
       2024-08-26 23:39:16 +08:00
    有意向的可以直接发送联系方式到邮箱 [email protected]
    或者+v wang0123qwe
    pagxir
        2
    pagxir  
       2024-08-26 23:42:54 +08:00 via Android
    不用试,没有 root 的 Android 不具有 raw socket 权限
    pagxir
        3
    pagxir  
       2024-08-26 23:44:57 +08:00 via Android
    其次,tun 接口在 vpnservices 里有提供,你需要的是集成类似 tun2sock 之类的 tcp/ip 协议栈
    R4rvZ6agNVWr56V0
        4
    R4rvZ6agNVWr56V0  
       2024-08-26 23:51:39 +08:00
    3 楼正解,tun2sock 动态链接库拿来就可以用的
    wangbin11
        5
    wangbin11  
    OP
       2024-08-27 00:08:30 +08:00
    @GeekGao
    @pagxir 我查阅的资料是 tun 需要 root ,rawsocket 可以放到用户空间执行
    https://www.yisu.com/jc/110003.html
    wangbin11
        6
    wangbin11  
    OP
       2024-08-27 00:10:24 +08:00
    @pagxir 我是这样设想的,我打洞那里是 go 写的 ndk 封装成 so 文件,通过 rawsocket 绑定把数据给到安卓,如果用 tunsock 我这里没有熟悉的,不知道回复的大佬接不接私活,可以加下
    R4rvZ6agNVWr56V0
        7
    R4rvZ6agNVWr56V0  
       2024-08-27 06:53:55 +08:00
    @wangbin11 你查阅的资料不适用于所有安卓系统的非 root 版本。
    gam2046
        8
    gam2046  
       2024-08-27 08:36:46 +08:00
    raw socket 不支持非 root 权限下使用,无论是 Java 还是 NDK

    非 root 环境下需要使用,仅能通过 VpnService ,系统实现依旧是通过 tun
    wangbin11
        9
    wangbin11  
    OP
       2024-08-27 21:36:31 +08:00
    @gam2046
    @GeekGao
    我是这样理解的 vpnservice 申请 fd 文件符,然后把文件符传递给 so 文件( go 封装的),其他的打洞之后的操作由 so 来完成。不知道理解的对不对,目前还在找相关的开发人员,
    gam2046
        10
    gam2046  
       2024-08-27 21:46:29 +08:00
    @wangbin11 #9 可以,但是不一定能实现你的原始需求,当然也不知道你是要做什么。毕竟你也没说。(只是打洞,和 raw socket 并没有什么因果关系)

    如果你想要主动发起 raw socket 是依旧不行的,只是作为 VpnService 可以获取到其他应用的网络数据,其会被包装成三层协议,被转到 VpnService ,并由其决定后续处理方式。
    wangbin11
        11
    wangbin11  
    OP
       2024-08-27 21:55:26 +08:00
    @gam2046 大佬辛苦您加我一下,我发了联系方式 1 楼。我现在想改用 vpnservice 需要一个专家
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     888 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 21:31 PVG 05:31 LAX 13:31 JFK 16:31
    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