《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 多網絡和Linux代理的Android無線遠程控制系統
多網絡和Linux代理的Android無線遠程控制系統
電子科技
王 桐,楊 斌
摘要: 設計了一種適用于多網絡、具有root權限的智能移動終端遠程控制系統。在Android嵌入式系統的智能終端上,通過WiFi無線網絡、GPRS網絡或者GSM網絡進行通信;并利用Android系統底層基于Linux嵌入式系統的特性,在被控終端上建立Linux代理執行shell命令,實現Android移動終端的遠程控制。該系統可以完成一些需要獲取root權限才能執行的操作,包括對Android的系統控制、文件系統和設備的控制等。
Abstract:
Key words :

引言

    隨著智能系統的高速發展和智能移動終端的普及,在政府部門和企事業單位,員工使用Android系統的智能終端(包括手機和平板電腦)辦公越來越多,利用網絡對移動終端進行控制和管理,十分必要,目前的遠程控制大多基于應用層實現,只能對特定的一些應用或者上層的一些權限進行管理和控制,不能對Android終端實現真正意義上的完全控制。另外,這些遠程控制只是基于單個網絡實現,不能保證遠程控制的穩定實現。
本文研究的這種控制系統,可以采用多種網絡進行通信,包括WiFi、GPRS和GSM三種網絡。利用Android底層基于Linux系統實現的特性,在Linux底層建立一個Agent,獲取系統簽名,能夠執行需要獲取到root權限的shell命令,實現對整個系統的完全控制。

1 無線遠程控制系統構架
    基于多網絡(GPRS、WiFi、GSM)進行通信、通過Linux代理實現操作的無線遠程控制系統,主要對多種網絡通信方式進行適應性設計,以及對Android智能終端的系統設置、文件系統以及設備進行控制。
系統基本功能包括:自動注冊、發送消息、發送文件、管理應用程序、發送shell命令控制設備等。
基于Linux代理的Android智能終端無線遠程控制系統主要由3部分組成:控制端、被控終端和通信網絡。系統的架構圖如圖1所示。

c.JPG



2 無線遠程控制系統設計
2.1 多網絡通信設計
    Android智能終端目前支持的網絡有:GPRS無線網絡和WiFi無線網絡。WiFi無線網絡的優點是網速快,缺點是有范圍和信號強度的要求。而GPRS的優缺點和WiFi無線網絡正好相反。目前,GPRS的2G網絡傳輸速率在50 kb/s左右,3G網絡速度更快,如果采用WiFi網絡接入到Internet,速度甚至可以達到1 Mb/s。速度上完全可以達到遠程控制中傳輸命令的速率要求。
   本系統采用多網絡方式:優先選擇WiFi無線網絡,其次采用GPRS網絡,最后采用GSM發送短消息控制。采用WiFi無線網絡和GPRS網絡的時候,Android終端之間通過Socket進行通信。
   如果該系統只是應用在局域網內,就只能使用WiFi無線網絡;如果應用在遠程或者廣域網上,就可以使用WiFi無線網絡和GPRS網絡兩者相結合的方式;如果沒有WiFi和GPRS,才使用GSM網絡。
     在廣域網內使用時,當被控終靖啟動系統的時候,會采用UDP方式向廣域網發送登錄廣播,或者采用TCP協議向特定的控制端IP發送注冊信息。控制端接收到信息后,注冊到本機,然后通過TCP方式發送控制命令進行遠程控制。
在沒有WiFi和GPRS的情況下,也可以采用GSM網絡發送短消息命令進行一些簡單的控制操作,例如:打開WiFi、打開GPRS網絡等,使其可以使用上述兩種網絡進行控制。使用GSM網絡的前提條件是需要知道被控終端的SIM號碼。

2. 2 控制端設計
   Android控制端在使用WiFi和GPRS網絡時,通過Socket進行通信,可以實現全部的命令;在使用GSM網絡時,通過短消息發送命令進行控制,只能發送部分操作指令,不能進行的操作包括發送文件、應用程序等需要通過IP地址進行通信的操作。
    Sqlite數據庫保存被控終端的信息數據和操作日志。Linux文件系統保存需要發送的文件和應用程序等。Android控制端具體功能設計如下:
①自動注冊:編寫Java程序通過接口調用MulticastSocket發送請求注冊廣播,并監控端口,接收被控終端的注冊廣播。
②發送消息:通過已注冊的被控終端IP地址,編程調用Socket接口發送消息到被控終端,并監聽端口,接收反饋消息。
③發送文件:編寫監控程序調用Socket端口進行通信,調用Android文件系統,讀取存儲在SD卡上的文件進行發送。
④發送控制命令:有兩種方式,一種通過Socket發送控制命令到被控終端IP;另一種通過GSM網絡發送特定格式的短消息到被控終端手機,實現命令控制設備。
2.3 被控終端設計
    Android被控終端沒有監控界面,只有一個后臺服務和一個Agent代理,該代理也是一個后臺服務,不過這個服務是集成在Android系統版本中的。
本地后臺服務會隨系統啟動而啟動,啟動后會建立一個線程(Thread),線程通過Socket監聽本機的通信端口;同時,還會建立一個廣播接收器(BroadcastReceiver),用于接收通過GSM網絡發來的短消息廣播。當Socket端口監聽線程監聽到數據時,先判斷其是否為控制端的注冊請求。如果是,則反饋信息到控制端注冊;如果不是,則判斷是否為命令。如果是命令,則交給Agent代理執行;如果不是,再判斷其是否為消息。如果是消息,則調用Android的Activity顯示消息;如果不是,則繼續判斷其是否為文件。如果是文件,則保存文件到文件系統中;如果不是,則退出,丟棄該消息。當廣播接收器接收到GSM短信時,后臺服務對消息進行判斷,看其是否為控制命令。如果是命令,則GSM短信會被截斷,被控終端用戶不會提示收到短消息,然后,將命令傳遞給Agent代理進行執行,調用Android系統接口對應的功能模塊執行。最后,將執行結果通過Socket反饋給控制端。其對應的功能模塊設計流程圖如圖2所示。

d.JPG



3 具體實現
3.1 多網絡通信實現
    該系統的總體設計思路是;一定數量的Android終端用戶群之間,有一個作為控制端,其余的是被控終端,通過WiFi無線網、GPRS網絡進行通信,控制端發送命令到被控終端執行,采用C/S結構。
(1) GPRS網絡和WiFi網絡通信實現
首先,在控制終端和被控端都建立一個TCP端口監聽線程。分別建立一個ServerSocket,能各自監聽自己的TCP端口,端口地址分別為:控制端為10000,被控終端10001。被控終端監聽控制端發送命令信息,命令放在報頭中,而文件等內容放在數據流中;命令會被執行并保存到數據中,文件會保存到SD卡上,等待被命令調用執行,在此,完成TCP通信。另外,控制端和被控端各自創建一個MulticastSocket對象,并加入一個組播地址,地址為234.0.0.1,控制端的端口為10002,被控終端端口為10003。控制端用以監聽被控終端發送的登錄廣播信息;被控終端監聽控制端發送的連接請求;當接收到組播UDP包后,取得源IP地址和源ID,將信息保存到本地數據庫中,完成通信。
(2) GSM網絡通信實現
如果在GPRS和WiFi都不通的情況下,使用GSM短信發送命令。具體如下:在被控制端建立一個Broadcast Receiver,接收系統短信廣播,并將優先級設置為2147483674最高級別,這樣會優先于其他方式先對短信內容進行處理。當有短信進入被控終端時,Broadcast Receiver會優先截取到短信內容,首先判斷該短信是否為控制命令。如果是,則將命令發送到Service執行,同時截斷廣播,這樣手機收件箱就不會收到該條短信。
e.JPG
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,啟動包含該包的應用。代碼如下:
f.jpg
通過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命令實現系統重啟功能。

a.JPG

b.JPG



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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲高清视频的网址| 亚洲欧美激情一区二区| 中文日韩在线| 日韩视频免费看| 亚洲国产乱码最新视频| 欲香欲色天天天综合和网| 狠狠色狠狠色综合日日小说| 国产日韩欧美在线播放| 国产欧美日韩另类视频免费观看| 国产精品草草| 国产精品久久久久久久久婷婷 | 在线日韩精品视频| 精品成人一区二区三区四区| 国产综合欧美| 激情久久久久久久久久久久久久久久| 国产一级一区二区| 韩国三级在线一区| 在线欧美日韩| 亚洲三级影院| 一区二区三区日韩精品| 亚洲视频一区在线观看| 亚洲深夜福利视频| 亚洲一区在线看| 亚洲欧美日韩精品久久久久| 欧美一区二区视频网站| 久久高清福利视频| 亚洲精品1区| 一区二区欧美精品| 亚洲欧美一区二区在线观看| 久久国产精品黑丝| 免费视频久久| 欧美色视频在线| 国产精品美女久久久久久2018| 国产免费成人| 激情久久综合| 亚洲精品乱码久久久久久黑人 | 午夜精品久久久久久久99黑人| 欧美一区二区三区免费视频| 亚洲国产天堂久久综合网| 99热精品在线| 午夜精彩国产免费不卡不顿大片| 久久久国产精彩视频美女艺术照福利| 久久精品一区二区国产| 欧美国产大片| 国产精品激情偷乱一区二区∴| 国产一区二区日韩精品| 亚洲国产清纯| 亚洲一区二区三区免费在线观看| 欧美一区亚洲| 亚洲美女视频| 亚洲欧美中日韩| 久久这里只有| 欧美日韩国产一区二区三区地区| 国产精品久久久久一区二区| 韩日欧美一区| 亚洲最新视频在线| 欧美专区日韩视频| 在线天堂一区av电影| 欧美在线观看一区二区| 欧美黄色一级视频| 国产精品一级久久久| 亚洲国产一区二区在线| 亚洲男女毛片无遮挡| 亚洲欧洲在线免费| 午夜精品福利一区二区三区av| 久久婷婷综合激情| 国产精品www.| 亚洲国产精品成人va在线观看| 一区二区三区视频在线| 最新日韩av| 欧美一区二区三区日韩| 欧美国产日韩亚洲一区| 国产精品一区二区男女羞羞无遮挡 | 在线亚洲欧美| 亚洲欧洲日韩综合二区| 亚洲欧美三级在线| 欧美成人按摩| 国产亚洲精品v| 一区二区三区视频在线| 亚洲人成网站在线观看播放| 欧美一区二区啪啪| 欧美日韩免费观看一区=区三区| 国产一区免费视频| 一区二区三区四区五区精品视频 | 亚洲黄色一区| 性欧美8khd高清极品| 欧美精品乱码久久久久久按摩| 国产一区二区你懂的| 亚洲视频一区二区在线观看| 99re6热只有精品免费观看| 久久久综合网| 国产欧美精品国产国产专区| 日韩视频精品在线| 亚洲国产欧美在线人成| 久久不射2019中文字幕| 国产精品成人国产乱一区| 亚洲精品国产视频| 亚洲国产片色| 久久伊人亚洲| 国产一区二区三区的电影 | 午夜精品久久久久久久99黑人| 亚洲午夜精品久久| 欧美激情免费在线| 一色屋精品亚洲香蕉网站| 午夜亚洲福利| 欧美一区高清| 国产精品网站视频| 在线视频欧美日韩精品| 国产精品99久久久久久久vr | 亚洲精品国产精品国产自| 亚洲娇小video精品| 久久人体大胆视频| 国产一区二区高清视频| 午夜精品久久久久久久99樱桃| 亚洲欧美精品伊人久久| 国产精品国产馆在线真实露脸| 日韩一区二区福利| 中文亚洲字幕| 欧美小视频在线观看| 夜夜嗨av一区二区三区网页| 亚洲视频一区在线观看| 欧美日韩亚洲综合在线| 夜夜爽www精品| 亚洲在线视频观看| 国产精品久久久久久久久久ktv| 夜夜嗨av色一区二区不卡| 亚洲网址在线| 国产精品日韩精品欧美在线| 亚洲一区二区四区| 欧美在线播放视频| 国产一区二区日韩精品| 亚洲高清123| 欧美成人午夜免费视在线看片| 在线精品视频在线观看高清| 亚洲国产你懂的| 欧美chengren| 亚洲精品一品区二品区三品区| 一区二区三区|亚洲午夜| 欧美日韩免费观看一区| 日韩午夜电影av| 亚洲综合好骚| 国产热re99久久6国产精品| 欧美一级专区免费大片| 浪潮色综合久久天堂| 亚洲三级免费观看| 亚洲一区二区三区久久| 国产酒店精品激情| 欧美在线关看| 欧美 日韩 国产在线| 99精品免费| 欧美在线影院| 在线免费不卡视频| 国产精品99久久久久久人 | 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩国产在线一区| 亚洲网站视频| 久久久噜噜噜久久中文字免| 在线观看一区二区精品视频| 日韩视频在线观看国产| 国产精品久久婷婷六月丁香| 欧美在线999| 欧美精品一区在线发布| 亚洲尤物视频网| 美女精品一区| 在线亚洲成人| 麻豆精品视频| 一本久久a久久免费精品不卡| 久久精品观看| 亚洲免费观看视频| 久久精品视频免费观看| 亚洲欧洲三级| 欧美在线免费一级片| 亚洲国产精品国自产拍av秋霞| 亚洲伊人观看| 一区二区亚洲精品国产| 亚洲一区二区3| 樱桃视频在线观看一区| 亚洲综合色网站| 亚洲高清在线观看一区| 午夜精品久久久久久久99热浪潮| 禁久久精品乱码| 亚洲在线免费视频| 亚洲成人自拍视频| 亚洲一区二区3| 亚洲第一视频网站| 性欧美video另类hd性玩具| 亚洲国产欧美一区二区三区同亚洲| 亚洲欧美在线一区二区| 亚洲激情中文1区| 久久久久久久久久久久久9999| 日韩天堂av| 久久综合久色欧美综合狠狠| 一区二区欧美亚洲| 欧美成人精品影院| 欧美与欧洲交xxxx免费观看| 国产精品久久久久久久久久久久久久| 亚洲国产成人不卡| 国产日韩欧美不卡| 亚洲一区一卡| 亚洲精品久久久久|