如何使用 ADB shell 查找进程正在使用的端口?
Posted
技术标签:
【中文标题】如何使用 ADB shell 查找进程正在使用的端口?【英文标题】:How to use ADB shell to find the ports which a process is using? 【发布时间】:2012-12-23 04:21:09 【问题描述】:例如,在 android 中,进程 1234 的 PID 使用端口 2222,2223,2224。现在我有一个 PID 1234。我想知道如何找出进程正在使用的端口号 2222、2223、2224?
我曾尝试像在 Linux 中那样使用 netstat -anp,但没有奏效。 ADB shell 中的 netstat -anp 与 netstat 的效果相同,没有任何命令参数。
【问题讨论】:
查看这篇文章:***.com/a/70120258/445908 【参考方案1】:您可以使用busybox netstat -pt
或cat /proc/1234/net/tcp
【讨论】:
假设安装了busybox。 @Alex cat /proc/1234/net/tcp 列出系统上的所有 tcp 套接字,而不仅仅是进程 1234 打开的套接字。【参考方案2】:尝试检查我的 github 存储库,https://github.com/LipiLee/netstat。
我在 Android 源代码中更新了工具箱的 netstat(https://android.googlesource.com/platform/system/core/+/master/toolbox/netstat.c)。
更新:在 Android M 版本中,工具箱的 netstat 已替换为 toybox 的 netstat。所以工具箱中的 netstat 在 Android 源码树中被移除了。
【讨论】:
以上是关于如何使用 ADB shell 查找进程正在使用的端口?的主要内容,如果未能解决你的问题,请参考以下文章
【Adb】使用时报错unknown host devices