Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在根安卓设备上,如何打开端口<;1024?_Android_Root - Fatal编程技术网

Android 在根安卓设备上,如何打开端口<;1024?

Android 在根安卓设备上,如何打开端口<;1024?,android,root,Android,Root,我试图在运行2.3.3的根Galaxy选项卡上打开端口123。应用程序以超级用户权限启动,并具有INTERNET权限。但是,我得到以下例外: E/xxxxxxxxxxxxxxxxxxxxxxxxx.AndroidServerActivity( 4809): Unable to startup the NTP Server..., java.net.BindException: Permission denied W/System.err( 4809): java.net.BindExceptio

我试图在运行2.3.3的根Galaxy选项卡上打开端口123。应用程序以超级用户权限启动,并具有INTERNET权限。但是,我得到以下例外:

E/xxxxxxxxxxxxxxxxxxxxxxxxx.AndroidServerActivity( 4809): Unable to startup the NTP Server..., java.net.BindException: Permission denied
W/System.err( 4809): java.net.BindException: Permission denied
W/System.err( 4809):    at org.apache.harmony.luni.platform.OSNetworkSystem.bind(Native Method)
W/System.err( 4809):    at dalvik.system.BlockGuard$WrappedNetworkSystem.bind(BlockGuard.java:268)
W/System.err( 4809):    at org.apache.harmony.luni.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:81)
W/System.err( 4809):    at java.net.DatagramSocket.createSocket(DatagramSocket.java:193)
W/System.err( 4809):    at java.net.DatagramSocket.<init>(DatagramSocket.java:77)
W/System.err( 4809):    at net.sf.atomicdate.NTPClient.<init>(NTPClient.java:79)
W/System.err( 4809):    at net.sf.atomicdate.NTPClient.<init>(NTPClient.java:66)
W/System.err( 4809):    at xxxxxxxxxxxxxxxxxxxxxxxxxActivity.onCreate(AndroidServerActivity.java:141)
W/System.err( 4809):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
W/System.err( 4809):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
W/System.err( 4809):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
W/System.err( 4809):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
W/System.err( 4809):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
W/System.err( 4809):    at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 4809):    at android.os.Looper.loop(Looper.java:123)
W/System.err( 4809):    at android.app.ActivityThread.main(ActivityThread.java:3687)
W/System.err( 4809):    at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 4809):    at java.lang.reflect.Method.invoke(Method.java:507)
W/System.err( 4809):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
W/System.err( 4809):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
W/System.err( 4809):    at dalvik.system.NativeStart.main(Native Method)
E/xxxxxxxxxxxxxxxxxxxx.AndroidServerActivity(4809):无法启动NTP服务器…,java.net.BindException:权限被拒绝
W/System.err(4809):java.net.BindException:权限被拒绝
W/System.err(4809):位于org.apache.harmony.luni.platform.OSNetworkSystem.bind(本机方法)
W/System.err(4809):位于dalvik.System.BlockGuard$WrappedNetworkSystem.bind(BlockGuard.java:268)
W/System.err(4809):位于org.apache.harmony.luni.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:81)
W/System.err(4809):位于java.net.DatagramSocket.createSocket(DatagramSocket.java:193)
W/System.err(4809):位于java.net.DatagramSocket(DatagramSocket.java:77)
W/System.err(4809):位于net.sf.atomicdate.NTPClient(NTPClient.java:79)
W/System.err(4809):位于net.sf.atomicdate.NTPClient(NTPClient.java:66)
W/System.err(4809):位于xxxxxxxxxxxxxxxxxxxxxxxxxxxx活动.onCreate(AndroidServerActivity.java:141)
W/System.err(4809):位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
W/System.err(4809):位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
W/System.err(4809):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
W/System.err(4809):位于android.app.ActivityThread.access$1500(ActivityThread.java:117)
W/System.err(4809):位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
W/System.err(4809):位于android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err(4809):位于android.os.Looper.loop(Looper.java:123)
W/System.err(4809):位于android.app.ActivityThread.main(ActivityThread.java:3687)
W/System.err(4809):位于java.lang.reflect.Method.invokenactive(本机方法)
W/System.err(4809):位于java.lang.reflect.Method.invoke(Method.java:507)
W/System.err(4809):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
W/System.err(4809):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
W/System.err(4809):位于dalvik.System.NativeStart.main(本机方法)

我做了一些搜索,但没有找到正确的方法。任何人都有任何提示或例子吗?

我相信你关于应用程序“以超级用户权限启动”的假设是有缺陷的。应用程序本身在Dalvik VM内运行,这意味着它不能拥有超级用户权限。使用“su”命令启动的任何应用程序都可以拥有根权限,因此可以打开端口(1024个)。。类似于:
nc-l-u localhost 123 | nc-u localhost 1123
()

事实证明,ntpd实际上在设备上可用。因此,出于我的目的,我刚刚启动了本机ntpd服务器:

ntpd-l 123


它在我需要的时候也起了作用。我将不得不使用非根设备进行实验,并使用上面的重定向方法来做同样的事情。

啊,这真的很有帮助,谢谢!当我早上到办公室的时候,我一定会试试这个。我认为代理技术听起来是最好的,也是最容易实现的。当然,请务必阅读维基百科的文章:我的示例仅代表单向代理,而不是双向代理。但是wiki文章解释了如何使用命名的fifo管道中介来实现双向代理。Brian,我们需要一个来自Android设备的NTP服务器。你知道ntpd是从网络还是车载GPS接收器获取时间吗?