天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

多網絡和Linux代理的Android無線遠程控制系統[2]

互聯網技術 責任編輯:hjf1972 2013-02-22

摘要:3.2控制端實現控制端包括5個大的模塊:操作界面、自動注冊、發送消息、發送文件、應用管理。操作界面:操作界面是基于應用層和應用框架層實現的。調用Android組件庫中的Activity組件和ListActivity組件顯示操作列表;點擊列表按鈕等組件用來調用操作命令;通過界面操作生成對應的命令發送到被控終端,并顯示反饋結果。自動注

 

  3.2 控制端實現

  控制端包括5個大的模塊:操作界面、自動注冊、發送消息、發送文件、應用管理。

  操作界面:操作界面是基于應用層和應用框架層實現的。調用Android組件庫中的Activity組件和ListActivity組件顯示操作列表;點擊列表按鈕等組件用來調用操作命令;通過界面操作生成對應的命令發送到被控終端,并顯示反饋結果。

  自動注冊:啟動后,通過組播地址,每隔30 s向網絡中發送一次心跳包,報文為“regist‖ask”,通知網絡中的被控終端進行注冊。監聽UDP端口和TCP端口,當接收到被控終端發送的注冊信息后,取出源IP地址和ID,保存到數據庫中,完成注冊。

  發送消息:通過界面操作輸入文本內容,向被控終端IP發送消息。報文為“sendMassage‖content”,第一部分是命令,第二部分是消息內容。

  發送文件:選擇本地文件向被控終端IP發送。采用Socket發送報文“sendfile‖filename//filePath”.該報文第1部分是命令,表示發送文件,第2部分是文件名,第3部分是文件保存路徑。通過發送路徑,可以替換被控終端上的文件,實現數據更新等功能。文件內容在Socket連接的輸入/輸出流中,保存的文件名和路徑從報頭中獲取。

  應用管理:首先,向被控終端IP發送命令,獲取被控終端應用列表;然后,選擇對應操作發送命令,在被控終端接收到命令后,調用Android接口和Agent代理執行命令。該命令包括4個:install、start、stop、uninstall.例如:報文“install ‖file.apk”,通過Socket發送file.apk應用到被控端的sdcard/apk目錄下,然后,通過agent代理執行install安裝命令安裝該應用。此外,start、stop和uninstall三個命令中,只是調用接口執行,不傳送文件。

  3.3 被控終端實現

  自動登錄:被控終端啟動的時候,也會建立兩個線程和一個BroadCastReceiver.一個線程監聽組播連接請求的消息,另一個線程監聽TCP端口的命令;廣播接收器接收GSM網絡發送的短信命令。第一個線程中,組播端口監聽到控制端發送的請求后,取得IP地址,然后,發送帶有自己ID的Socket包,報文內容為“regist ‖IMEI號”,包括注冊命令regist和IMEI號(Android終端標識)。第二個線程中,創建一個ServerSocket,監聽控制端發送的TCP消息。BroadCastReeeiver接收到短消息廣播后,傳遞給服務進行判斷,看其接收到的是否是命令,如果是命令則執行對應操作。

  接收消息:在被控終端,Socket接收到控制端的消息后,會調用NotificationManager,在Android終端通知欄顯示消息,點擊通知會顯示詳細信息。

  接收文件:Socket后臺接收文件,保存在/sdcard/download文件夾下,然后通過Agent命令執行copy命令,將文件復制到命令里面指定的路徑下。文件名和保存路徑通過報頭獲取。

  管理應用:安裝應用分兩步實現,第一步接收文件,第二步執行安裝。第一步實現與上面所講的接收文件相同,只是報文為“install‖n ame.apk”.默認保存到SD卡上的mnt/sdcard/apk路徑下,然后,調用agent執行shell安裝命令install mnt/sdeard/apk/name.apk.卸載應用時,直接執行接收到的命令uninstall packagename.啟動應用時,通過Android系統接口Intent實現,停止和卸載都是通過被控終端上的Agent代理實現。“start‖appName”啟動應用的時候,通過本地包管理獲取到appName對應的包名packageName,新建一個Intent,啟動包含該包的應用。代碼如下:

  通過shell命令執行kill PID.PID是應用進程號,通過ActivityManager可以獲取到。

  設備控制:可以通過命令例如“shell‖reboot”直接控制重啟。

  3.4 Agent代理實現

  在編譯系統內核的時候,將agent_server編入到路徑/data/agentserver/agent_server下,用以接收命令。調用的時候,通過建立一個本地Socket,通過數據流發送shell命令到agent_setwer所在路徑,實現通信。當agent_server接收到命令后,執行shell命令。

  4  測試結果

  設計的系統在ZTE U880手機上連接WiFi進行測試。圖3為控制端界面,圖4為控制端發送消息,圖5為被控終端接收消息,圖6為發送文件,圖7為遠程安裝應用軟件,圖8為遠程卸載應用軟件,圖9為shell命令界面。測試結果表明,系統能夠實現發送消息、發送文件、安裝和卸載應用,以及執行shell命令實現系統重啟功能。

  結語

  本文設計了一個采用C/S模式實現的Android遠程控制系統??刂贫伺c被控終端之間采用Socket進行網絡通信,在知道對方SIM卡號的情況下,也能通過GSM發送短信通信,能夠實現多種網絡的穩定通信。通過Linux代理能夠實現root權限的操作,理論上可以實現對Android系統的完全遠程控制。

[1]  [2]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

通信工程師備考資料免費領取

去領取

專注在線職業教育25年

信息系統項目管理師

信息系統項目管理師

信息系統項目管理師

!
咨詢在線老師!