安卓无ROOT权限根据UID端口占用找PID进程

没有root权限是挺不方便的,一番折腾还是总结出了一些办法。

首先确定要找什么端口,这个就不说了,看地址栏看报错等等各种信息找,例如确定是8082端口。

# 试图查看当前占用端口
netstat -anle | more

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:8082            0.0.0.0:*               LISTEN

tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN

tcp        0      0 192.168.2.180:43340     183.232.93.146:8080     CLOSE_WAIT

tcp        0      0 192.168.2.180:43879     110.76.30.60:443        ESTABLISHED
...
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING       8198 /dev/socket/property_se
rvice
unix  2      [ ACC ]     STREAM     LISTENING       8460 /dev/socket/ims_qmid
unix  100    [ ]         DGRAM                      7182 /dev/socket/logdw
unix  2      [ ACC ]     SEQPACKET  LISTENING       7185 /dev/socket/logdr
unix  2      [ ACC ]     STREAM     LISTENING       7187 /dev/socket/logd
unix  2      [ ACC ]     STREAM     LISTENING     9483917 @webview_devtools_remo
te_17066
unix  2      [ ACC ]     STREAM     LISTENING      10785 /dev/socket/zygote
...

可以看到8082端口处于LISTEN状态确实在占用,netstat的e参数如果幸运的话可以看到inode和uid等信息,博主这手机不幸运不显示,下一个。

cat /proc/net/tcp6 | grep ‭1F92‬

 sl  local_address                         remote_address
  st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
   1: 0000000000000000FFFF00000100007F:8E52 00000000000000000000000000000000:000
0 0A 00000000:00000000 00:00000000 00000000  1000        0 49896 1 00000000 100
0 0 2 -1
   0: 00000000:1F92 00000000:0000 0A 00000000:00000000 00:00000000 00000000 10119        0 9472581 1 00000000 100 0 0 10 -1
...

1F92‬就是8082的16进制。可以看到uid为10119,根据安卓用户命名规律,uid(10119) = user(u0_a119),也就是uid - 10000。

shell@virgo:/ $ ps | grep u0_a119
u0_a119   16369 361   1170872 187660 sys_epoll_ 00000000 S com.tencent.tim
u0_a119   16415 361   987536 73316 sys_epoll_ 00000000 S com.tencent.tim:MSF
u0_a119   16929 361   953392 58408 sys_epoll_ 00000000 S com.tencent.tim:Daemon
u0_a119   16948 1     5748   736   flock_lock 00000000 S app_d
u0_a119   16957 361   954944 58556 sys_epoll_ 00000000 S com.tencent.tim:assist
u0_a119   16976 1     5748   736   flock_lock 00000000 S app_d
u0_a119   17002 1     5748   736   flock_lock 00000000 S app_d
u0_a119   17066 361   1060356 93592 sys_epoll_ 00000000 S com.tencent.tim:mail
u0_a119   17297 361   960764 65388 sys_epoll_ 00000000 S com.tencent.tim:dataline

 完事,最后附赠一个杀进程的方式。

# 非ROOT结束app进程的办法
am force-stop com.tencent.tim

 

posted @ 2020-05-05 14:44  DXCyber409  阅读(156)  评论(0编辑  收藏  举报