例如,在Android中,進程1234的PID使用端口2222,2223,2224。現在我有一個PID 1234.我想知道如何找出該進程正在使用的端口號2222,2223,2244?如何使用ADB shell查找進程正在使用的端口?
我已經嘗試使用netstat -anp就像在Linux中的方式,但沒有奏效。 netstat -anp在ADB shell中與netstat具有相同的效果,netstat沒有任何命令參數。
例如,在Android中,進程1234的PID使用端口2222,2223,2224。現在我有一個PID 1234.我想知道如何找出該進程正在使用的端口號2222,2223,2244?如何使用ADB shell查找進程正在使用的端口?
我已經嘗試使用netstat -anp就像在Linux中的方式,但沒有奏效。 netstat -anp在ADB shell中與netstat具有相同的效果,netstat沒有任何命令參數。
您可以使用busybox netstat -pt
或cat /proc/1234/net/tcp
嘗試查看我的github倉庫,https://github.com/LipiLee/netstat。
我更新了Android源代碼中的工具箱的netstat(
https://android.googlesource.com/platform/system/core/+/master/toolbox/netstat.c
)。
更新:在Android M版本中,toolbox的netstat被替換爲toybox的netstat。因此,工具箱中的netstat已在Android源代碼樹中刪除。
非常感謝你 – user1960407
這裏假設busybox已經安裝。 –
@Alex cat/proc/1234/net/tcp列出了系統上的所有tcp套接字,而不僅僅是進程1234打開的套接字。 –