android-通過端口確定進程

今天碰到一個問題,安全部分說我們機器8000端口一直處理LISTEN狀態,讓我查一下是哪個進程,需要解除這個狀態,要確認是哪個進程在監聽這個8000端口,我首先adb shell之後使用netstatus

root@p92s_hd:/ # netstat                                                       
Proto Recv-Q Send-Q Local Address          Foreign Address        State
 tcp       0      0 0.0.0.0:8000           0.0.0.0:*              LISTEN
 tcp       0      0 127.0.0.1:5037         0.0.0.0:*              LISTEN

可以看到裏面有8000和5037端口在被使用,5037是adb, 8000是什麼呢

然後我就用cat /proc/net/tcp看了一下

root@p92s_hd:/ # cat /proc/net/tcp                                             
  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode                                                     
   0: 00000000:1F40 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 36594 1 0000000000000000 100 0 0 10 0                     
   1: 0100007F:13AD 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 35288 1 0000000000000000 100 0 0 10 0       

看到uid是0的時候我一下子就尷尬了,根據系統定義這是root啊,這東西ps看能有幾十個吧,根本確定不了用哪個,沒辦法只能用busybox工具來看了,
首先下載busybox,在這裏根據機器型號自己選擇,下載的時候先點進去自己要下載的,然後再右鍵保存。

  1. 將文件名字改成busybox,不要後綴
  2. adb push 到手機,比如 adb push ~/Download/busybox /sdcard
  3. 把busybox 複製到xbin下,首先 adb shell 然後cp /sdcard/busybox /system/xbin/(記住機器要adb remount)
  4. 修改busybox的執行權限 cd /system/xbin/ 然後 chmod 777 busybox sync 同步一下
  5. 然後驗證一下 busybox vi
    好了,下面就可以看8000是哪個程序再使用了
root@p92s_hd:/system/xbin # busybox netstat -tlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      264/htfsk
tcp        0      0 localhost:5037          0.0.0.0:*               LISTEN      2583/adbd
發佈了27 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章