adb client, adb server, adbd原理淺析

 adb是什麼? adb就是Android調試橋,很形象啊。 先來看adb原理的邏輯圖:

     再來進行實際操作:我的pc的ip是192.168.1.102, 我的android手機的ip爲192.168.1.100

    1.  在pc上執行:netstat -nao | findstr 5037

         發現結果是空白。

    2. 執行adb shell, 肯定是進不了任何shell啊, 然後執行:netstat -nao | findstr 5037

        結果是:TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       3840

        可見3840進程正在監聽5037端口, 這個進程實際上就是adb server

    3. 打開android手機,執行adb connect 192.168.1.100,  請參考我之前的博文, 確保adb能連接上手機哈。

       發現, 界面提示adb成功連接上了手機。

       執行netstat -nao | findstr 5037, 居然仍然是:TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       3840

       執行adb shell, 進入手機的android系統, 再次在pc的cmd中(非前面的shell中)執行netstat -nao | findstr 5037, 結果爲:

      TCP    127.0.0.1:1571         127.0.0.1:5037         ESTABLISHED     4496
      TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       3840
      TCP    127.0.0.1:5037         127.0.0.1:1571         ESTABLISHED     3840  

       表明,adb client和adb server建立tcp連接了。

     4. 不需要退出上面的shell, 僅在另一個cmd中執行 netstat -nao | findstr 5555, 結果爲:

         TCP    192.168.1.102:1559     192.168.1.100:5555     ESTABLISHED     3840

        表明, adb server和adbd建立起了tcp連接。

     5. 前面已經進入了手機的shell, 現在在shell中執行:netstat -nao | busybox grep 5555, 結果爲:

         tcp       0      0 0.0.0.0:5555           0.0.0.0:*              LISTEN
         tcp       0      0 192.168.1.100:5555     192.168.1.102:1559     ESTABLISHED

         進一步證實, adb server和adbd建立起了tcp連接。

        歸納:

        adb client(pid:4496)   <--->adb server(監聽5037端口, pid:3840)<--->adbd(監聽5555端口, pid:未顯示)

        |<-------------------------------    在 pc 端    ------------------------------> |        |<------------ 在手機端------------>|

        其中, adb server作爲adb client的服務端, 而adbd又作爲adb server的服務端, 實際上就是下面這個意思:

       兒子 <------------------------------> 爸爸<------------------------------------->爺爺

        

        前面我們已經說過, 也可以利用數據線來進行連接, 這裏, 我就不過多再贅述了, 原理大體類似, 爲了讓大家更清晰, 我借鑑了網上的一幅圖, 這幅圖很強大, 真是太棒了:

轉至: https://blog.csdn.net/stpeace/article/details/24933813

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章