Raw Sockets on Android

后端 未结 4 1061
囚心锁ツ
囚心锁ツ 2020-12-01 14:59

I want to create an application that runs on Android and uses Raw Sockets. I see there isn\'t any raw socket support in the java.net.* or the android.net.* libraries. Are

相关标签:
4条回答
  • 2020-12-01 15:26

    Correct, raw sockets are not supported in any Java or Android libraries, in part because (I quote from here):

    it is believed that such a package would degrade the current Java security model and may be difficult to implement in a non-operating system (OS) dependent fashion.

    There are 3rd party libraries like RockSaw or JSocket, however these require compiling C or C++, so you are out of luck there.

    Also, I believe you need root access to use raw sockets.

    So, with all that, I would say technically it's possible, but not practical at this time.

    0 讨论(0)
  • 2020-12-01 15:27

    As far as I know it's not possible on Android. Not in java nor c/c++ due to security reasons(I guess), the only possible solution would be through some hack with root access. I've been searching for a way as well but never found anything.

    0 讨论(0)
  • 2020-12-01 15:31

    I've been able to use raw sockets on a rooted phone using Python running under the QPython app. It's kind of clunky, the script re-invokes itself with "su" if it's not already running as root, but it works.

    0 讨论(0)
  • 2020-12-01 15:35

    Why not use Android interprocess comunication, like :

    AIDL, Intent, Broadcast etc

    See http://developer.android.com/guide/topics/fundamentals/services.html for example. They use internally raw sockets

    0 讨论(0)
提交回复
热议问题