我想创建一个应用程序,运行在Android上,使用原始套接字。我发现java.net.*或android.net.*库中没有任何原始套接字支持。在Android上可以使用原始套接字吗?
发布于 2010-04-09 23:37:05
正确地说,任何Java或Android库都不支持原始套接字,部分原因是(我引用自here):
认为,这样的包将降低当前的Java安全模型,并且可能难以以非操作系统(OS)依赖的方式实现。
有像RockSaw或JSocket这样的第三方库,但是这些库需要编译C或C++,所以你不太走运。
此外,我认为您需要root访问权限才能使用原始套接字。
因此,我想说,从技术上讲,这是可能的,但目前还不实用。
发布于 2015-08-16 22:40:30
据我所知,这在Android上是不可能的。由于安全原因(我猜),不是在java或c/c++中,唯一可能的解决方案是通过一些具有root访问权限的黑客。我也一直在寻找一种方法,但一直没有找到任何东西。
发布于 2019-05-18 10:50:47
我已经能够使用在QPython应用程序下运行的Python在有根的手机上使用原始套接字。这有点笨拙,如果脚本还没有以root用户身份运行,它会使用"su“重新调用自己,但它是有效的。
https://stackoverflow.com/questions/2608478
复制相似问题