Android系統(tǒng)指定路由器的方法和裝置制造方法
【專利摘要】一種Android系統(tǒng)指定路由器的方法和裝置,所述方法包括步驟:編譯Arp綁定的可執(zhí)行程序文件;增加所述可執(zhí)行程序文件的可執(zhí)行權限;若可執(zhí)行權限增加成功,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。上述Android系統(tǒng)指定路由器的方法和裝置,通過編譯Arp綁定的可執(zhí)行程序文件、增加所述可執(zhí)行程序文件的可執(zhí)行權限以及調用所述可執(zhí)行程序文件,實現(xiàn)了Arp綁定,這樣即使在多個路由器關閉DHCP服務采用WDS模式或中繼模式橋接其它無線信號連接在同一主網(wǎng)時,Android模塊也可以通過http請求操作到綁定的固定路由器。
【專利說明】Android系統(tǒng)指定路由器的方法和裝置
【技術領域】
[0001]本發(fā)明涉及電子信息【技術領域】,特別是涉及一種Android系統(tǒng)指定路由器的方法和裝置。
【背景技術】
[0002]隨著科技的發(fā)展,以Android模塊為主的終端得到越來越廣泛的使用,而Android模塊內(nèi)置有無線路由器,如圖1所示,當連接在同一主網(wǎng)的Android模塊終端有多個時,如何通過Android模塊控制指定路由器成為亟需解決的問題。
[0003]Android模塊的以太網(wǎng)網(wǎng)口連接在其內(nèi)置的路由器芯片的LAN (LocalAreaNetwork,局域網(wǎng))口,如果路由器開啟 了 DHCP (Dynamic Host ConfigurationProtocol,動態(tài)主機配置協(xié)議)服務,并且連接主網(wǎng)的網(wǎng)線插在路由器的WAN (Wide AreaNetwork,廣域網(wǎng))口時,Android模塊通過http請求,可以直接控制指定的路由器。
[0004]但是當多個路由器關閉DHCP服務,連接主網(wǎng)的網(wǎng)線插在路由器的LAN 口上,或者路由器不接網(wǎng)線,而是采用WDS (Wireless Distribution System,無線分布式系統(tǒng))模式或中繼模式橋接其它無線信號連接在同一主網(wǎng)時,路由器沒有NAT (Network AddressTranslation,網(wǎng)絡地址轉換)服務,連接在同一主網(wǎng)上的路由器IP都是一樣的,能夠相互通信,Android模塊訪問哪一個路由器是隨機的,也就無法控制指定的路由器。
[0005]若要控制指定的路由器,Android模塊的IP需和待指定的路由器的IP在一個網(wǎng)段。由于關閉DHCP服務,采用WDS模式或中繼模式橋接其它無線信號連接在同一主網(wǎng)時,路由器的IP都是一樣的,所以Android模塊需要采用Arp (Address resolution protocol,地址解析協(xié)議)綁定的技術實現(xiàn)控制指定路由器的功能?,F(xiàn)有技術中Android模塊只在busybox工具箱中集成有Arp命令,但在Android代碼中使用Runtime.getRuntime 0.exec (〃su busybox arp〃)函數(shù)執(zhí)行Arp綁定時,其不支持較復雜的命令行運行,由此Arp綁定命令并不能運行,Android模塊也就無法控制指定的路由器。
【發(fā)明內(nèi)容】
[0006]基于此,有必要針對上述問題,提供一種Android系統(tǒng)指定路由器的方法和裝置,使連接在同一主網(wǎng)的路由器關閉DHCP服務采用WDS模式或中繼模式橋接其它無線信號時,Android模塊也可以實現(xiàn)指定路由器的控制。
[0007]一種Android系統(tǒng)指定路由器的方法,包括步驟:
[0008]編譯Arp綁定的可執(zhí)行程序文件;
[0009]增加所述可執(zhí)行程序文件的可執(zhí)行權限;
[0010]若可執(zhí)行權限增加成功,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。
[0011]一種Android系統(tǒng)指定路由器的裝置,包括:
[0012]可執(zhí)行程序文件編譯模塊,用于編譯Arp綁定的可執(zhí)行程序文件;
[0013]可執(zhí)行權限增加模塊,用于增加所述可執(zhí)行程序文件的可執(zhí)行權限;[0014]Arp綁定模塊,用于在可執(zhí)行權限增加成功時,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。
[0015]上述Android系統(tǒng)指定路由器的方法和裝置,通過編譯Arp綁定的可執(zhí)行程序文件、增加所述可執(zhí)行程序文件的可執(zhí)行權限以及調用所述可執(zhí)行程序文件,實現(xiàn)了 Arp綁定,這樣即使在多個路由器關閉DHCP服務采用WDS模式或中繼模式橋接其它無線信號連接在同一主網(wǎng)時,Android模塊也可以通過http請求操作到綁定的固定路由器。
【專利附圖】
【附圖說明】
[0016]圖1為多個路由器連接同一主網(wǎng)的網(wǎng)絡拓撲結構示意圖;
[0017]圖2為本發(fā)明方法實施例的流程示意圖;
[0018]圖3為本發(fā)明方法編譯Arp綁定的可執(zhí)行程序文件包含的步驟示意圖;
[0019]圖4為本發(fā)明裝置實施例的結構示意圖;
[0020]圖5為本發(fā)明裝置可執(zhí)行程序文件編譯模塊包含的單元示意圖。
【具體實施方式】
[0021]下面結合附圖對本發(fā)明Android系統(tǒng)指定路由器的方法的【具體實施方式】做詳細描述。
[0022]如圖2所示,一種Android系統(tǒng)指定路由器的方法,包括步驟:
[0023]S100、編譯Arp綁定的可執(zhí)行程序文件;
[0024]S200、增加所述可執(zhí)行程序文件的可執(zhí)行權限;
[0025]S300、若可執(zhí)行權限增加成功,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。
[0026]步驟SlOO中的可執(zhí)行程序文件可以有多種實現(xiàn)方式,例如,在一個實施例中,如圖3所示,步驟SlOO中編譯Arp綁定的可執(zhí)行程序文件ArpOp的步驟可以包括:
[0027]S110、獲取Android終端網(wǎng)卡名字、待指定路由器LAN 口的IP和MAC地址;其中所述Android終端為控制待指定路由器的終端;
[0028]S120、初始化全局socket網(wǎng)絡描述符;
[0029]S130、初始化arprep結構體,將所述終端網(wǎng)卡的名字設置為所述結構體的arp_dev變量,將所述IP和MAC地址設置為所述結構體的IP和MAC信息,然后將所述結構體的arp_flags 設置為 ATF_PERM | ATF_C0M ;
[0030]S140、以所述網(wǎng)絡描述符、arp_flags設置后的所述結構體作為參數(shù),調用ioctl接口執(zhí)行Arp綁定。
[0031]步驟SllO中的待指定路由器LAN 口的IP和MAC地址獲取有多種形式,例如,可以通過硬件接口恢復待指定路由器出廠設置的方法獲取其LAN 口的IP和MAC地址,也可以通過進入路由器管理頁面恢復待指定路由器出廠設置的方法獲取其LAN 口的IP和MAC地址等。獲取的Android終端網(wǎng)卡名字、待指定路由器LAN 口的IP和MAC地址為下一步執(zhí)行Arp綁定做準備。
[0032]當所述可執(zhí)行程序文件ArpOp編譯完成時,為了方便后續(xù)的操作,在一個實施例中,步驟S100之后,還可以包括將所述可執(zhí)行程序文件存儲在/system/bin/目錄下的步驟。[0033]在Android 程序中調用 Runtime.getRuntime 0.exec (〃su ArpOP〃)需要授權權限,在一個實施例中,可以通過在Android程序中調用chmod命令行增加所述可執(zhí)行程序文件的可執(zhí)行權限,使得所述可執(zhí)行程序文件ArpOp有root權限從而可以進行相關的Arp綁定相關操作。
[0034]若所述可執(zhí)行權限增加成功,在Android程序中即可以調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定,這樣Android終端與待指定的路由器綁定在一起,Android模塊每次通過http請求跟待指定路由器交互時,就會操作到所述待指定的路由器。
[0035]基于同一發(fā)明構思,本發(fā)明還提供一種Android系統(tǒng)指定路由器的裝置,下面結合附圖對本發(fā)明裝置的【具體實施方式】做詳細描述。
[0036]如圖4所示,一種Android系統(tǒng)指定路由器的裝置,包括:
[0037]可執(zhí)行程序文件編譯模塊100,用于編譯Arp綁定的可執(zhí)行程序文件;
[0038]可執(zhí)行權限增加模塊200,用于增加所述可執(zhí)行程序文件的可執(zhí)行權限;
[0039]Arp綁定模塊300,用于在可執(zhí)行權限增加成功時,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。
[0040]所述可執(zhí)行程序文件編譯模塊100可以有多種實現(xiàn)方式,例如,在一個實施例中,如圖5所示,所述可執(zhí)行程序文件編譯模塊100包括:
[0041]網(wǎng)卡名字、IP和MAC地址獲取單元110,用于獲取Android終端網(wǎng)卡名字、待指定路由器LAN 口的IP和MAC地址;其中所述Android終端為控制待指定路由器的終端;
[0042]網(wǎng)絡描述符初始化單元120,用于初始化全局socket網(wǎng)絡描述符;
[0043]arprep結構體設置單元130,用于初始化arprep結構體,將所述終端網(wǎng)卡的名字設置為所述結構體的arp_dev變量,將所述IP和MAC地址設置為所述結構體的IP和MAC信息,然后將所述結構體的arp_flags設置為ATF_PERM| ATF_C0M ;
[0044]Arp綁定執(zhí)行單元140,用于以所述網(wǎng)絡描述符、arp_flags設置后的所述結構體作為參數(shù),調用ioctl接口執(zhí)行Arp綁定。
[0045]所述網(wǎng)卡名字、IP和MAC地址獲取單元110獲取待指定路由器LAN 口的IP和MAC地址有多種形式,例如,所述網(wǎng)卡名字、IP和MAC地址獲取單元110可以通過硬件接口恢復待指定路由器出廠設置的方法獲取其LAN 口的IP和MAC地址,也可以通過進入路由器管理頁面恢復待指定路由器出廠設置的方法獲取其LAN 口的IP和MAC地址等。
[0046]當所述可執(zhí)行程序文件ArpOp編譯完成時,為了方便后續(xù)的操作,在一個實施例中,所述可執(zhí)行程序文件編譯模塊100編譯Arp綁定的可執(zhí)行程序文件之后,還用于將所述可執(zhí)行程序文件存儲在/system/bin/目錄下。
[0047]在Android 程序中調用 Runtime.getRuntime 0.exec (〃su Arp0P〃)需要授權權限,在一個實施例中,所述可執(zhí)行權限增加模塊200可以通過在Android程序中調用chmod命令行增加所述可執(zhí)行程序文件的可執(zhí)行權限,使得所述可執(zhí)行程序文件ArpOp有root權限從而可以進行相關的Arp綁定相關操作。
[0048]本發(fā)明裝置的其它技術特征與上述方法相同,在此不予贅述。
[0049]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。
【權利要求】
1.一種Android系統(tǒng)指定路由器的方法,其特征在于,包括步驟: 編譯Arp綁定的可執(zhí)行程序文件; 增加所述可執(zhí)行程序文件的可執(zhí)行權限; 若可執(zhí)行權限增加成功,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。
2.根據(jù)權利要求1所述的Android系統(tǒng)指定路由器的方法,其特征在于,編譯Arp綁定的可執(zhí)行程序文件的步驟包括: 獲取Android終端網(wǎng)卡名字、待指定路由器LAN 口的IP和MAC地址; 初始化全局socket網(wǎng)絡描述符; 初始化arprep結構體,將所述終端網(wǎng)卡的名字設置為所述結構體的arp_deV變量,將所述IP和MAC地址設置為所述結構體的IP和MAC信息,然后將所述結構體的arp_flags設置為 ATF_PERM I ATF_C0M ; 以所述網(wǎng)絡描述符、arp_flags設置后的所述結構體作為參數(shù),調用ioctl接口執(zhí)行Arp綁定。
3.根據(jù)權利要求2所述的Android系統(tǒng)指定路由器的方法,其特征在于,通過硬件接口或進入路由器管理頁面恢復待指定路由器出廠設置的方法獲取其LAN 口的IP和MAC地址。
4.根據(jù)權利要求1所述的Android系統(tǒng)指定路由器的方法,其特征在于,編譯Arp綁定的可執(zhí)行程序文件 的步驟之后,還包括將所述可執(zhí)行程序文件存儲在/system/bin/目錄下的步驟。
5.根據(jù)權利要求1至4任意一項所述的Android系統(tǒng)指定路由器的方法,其特征在于,通過在Android程序中調用chmod命令行增加所述可執(zhí)行程序文件的可執(zhí)行權限。
6.—種Android系統(tǒng)指定路由器的裝直,其特征在于,包括: 可執(zhí)行程序文件編譯模塊,用于編譯Arp綁定的可執(zhí)行程序文件; 可執(zhí)行權限增加模塊,用于增加所述可執(zhí)行程序文件的可執(zhí)行權限; Arp綁定模塊,用于在可執(zhí)行權限增加成功時,調用所述可執(zhí)行程序文件實現(xiàn)Arp綁定。
7.根據(jù)權利要求6所述的Android系統(tǒng)指定路由器的裝置,其特征在于,所述可執(zhí)行程序文件編譯模塊包括: 網(wǎng)卡名字、IP和MAC地址獲取單元,用于獲取Android終端網(wǎng)卡名字、待指定路由器LAN 口的IP和MAC地址; 網(wǎng)絡描述符初始化單元,用于初始化全局socket網(wǎng)絡描述符;arprep結構體設置單元,用于初始化arprep結構體,將所述終端網(wǎng)卡的名字設置為所述結構體的arp_dev變量,將所述IP和MAC地址設置為所述結構體的IP和MAC信息,然后將所述結構體的arp_flags設置為ATF_PERM | ATF_C0M ; Arp綁定執(zhí)行單元,用于以所述網(wǎng)絡描述符、arp_flags設置后的所述結構體作為參數(shù),調用ioctl接口執(zhí)行Arp綁定。
8.根據(jù)權利要求7所述的Android系統(tǒng)指定路由器的裝置,其特征在于,所述網(wǎng)卡名字、IP和MAC地址獲取單元通過硬件接口或進入路由器管理頁面恢復待指定路由器出廠設置的方法獲取其LAN 口的IP和MAC地址。
9.根據(jù)權利要求6所述的Android系統(tǒng)指定路由器的方法,其特征在于,所述可執(zhí)行程序文件編譯模塊編譯Arp綁定的可執(zhí)行程序文件之后,還用于將所述可執(zhí)行程序文件存儲在/system/bin/ 目錄下。
10.根據(jù)權利要求6至9任意一項所述的Android系統(tǒng)指定路由器的裝置,其特征在于,所述可執(zhí)行權限增加模塊通過在Android程序中調用chmod命令行增加所述可執(zhí)行程序文件的可執(zhí)行權限 。
【文檔編號】H04L12/24GK103888294SQ201410073879
【公開日】2014年6月25日 申請日期:2014年2月28日 優(yōu)先權日:2014年2月28日
【發(fā)明者】張龍華 申請人:廣州視睿電子科技有限公司