CN105721220A - 智能终端及其网络底层配置方法 - Google Patents

智能终端及其网络底层配置方法 Download PDF

Info

Publication number
CN105721220A
CN105721220A CN201610141384.8A CN201610141384A CN105721220A CN 105721220 A CN105721220 A CN 105721220A CN 201610141384 A CN201610141384 A CN 201610141384A CN 105721220 A CN105721220 A CN 105721220A
Authority
CN
China
Prior art keywords
network
intelligent terminal
client
wpa
station mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610141384.8A
Other languages
English (en)
Other versions
CN105721220B (zh
Inventor
韦巧
胡宇光
朱翼鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Anyun Century Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qiku Internet Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qiku Internet Technology Shenzhen Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610141384.8A priority Critical patent/CN105721220B/zh
Publication of CN105721220A publication Critical patent/CN105721220A/zh
Application granted granted Critical
Publication of CN105721220B publication Critical patent/CN105721220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/20Selecting an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开一种智能终端及其网络底层配置方法,该方法包括如下步骤:调用WiFiP2pManager类构造热点;调用网络守护进程执行如下过程:开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选项。通过本发明的处理,Android系统的智能终端便具备了双模功能,也即同时既可充当热点供其他设备接入,也可充当站点接入外部网络接入点,并且可以起到路由器的作用,允许接入该智能终端的客户端设备通过该智能终端访问外网。

Description

智能终端及其网络底层配置方法
技术领域
本发明涉及智能终端的组网技术,具体而言,本发明涉及一种智能终端及其网络底层配置方法。
背景技术
Android系统的智能终端,包括手机、平板电脑、行车记录仪、可佩戴的手表、眼镜等等,通常此类智能终端均配备有相应的遵守IEEE802.11协议规范的WiFi模组,装载相应的驱动,提供相应的接口供框架层以上的进程的调用。
通常遵守802.11协议的WiFi模组均支持多种工作模式,例如IBSS,Managed,AP,AP/VLAN,Monitor,meshpoint,P2P-Client,P2P-GO等模式,上述模式可实现不同的组网功能。其中,Managed也即俗知的Station(STA)即工作站模式,AP即俗称的访问接入点模式(AccessPoint);IBSS则是adhoc即直连模式,P2P即俗称的WiFiDirect技术,属于Wi-FiAlliance(Wi-Fi联盟)推出的一项重要技术规范。STA模式下,智能终端便成为一个工作站,可以接入一个处于AP模式下的终端。同理,P2P-Client相当于STA,可以接入一个相当于AP的P2P-GO(P2PGroupOwner)模式下的智能终端。可见,至少有IBSS和WiFiDirect两种体系可以实现将多台智能终端进行组网,同一部智能终端,基于同一WiFi模组,既可充当热点,还可充当站点。
一种应用需求中,希望使同一智能终端的WiFi模组同时工作于站点和热点两种模式,这样便于在该智能终端利用其站点模式接入外网后,通过其热点模式向其他WiFi设备提供接入和网络共享服务。现实中,基于Windows或IOS的智能终端,能够善用WiFi模组提供的功能,使这种智能终端能够虚拟出两台设备,即站点设备和热点设备,在这个基础上,允许该智能终端一方面可以接入无线AP,另一方面可以充当AP供其他WiFi设备接入。
然而Android智能终端却不具备这种功能。Andoid系统的功能实现中,并不具备向用户同时开放WiFi模组的热点和站点两种模式的能力。因而,实践应用中,当智能终端以站点模式利用WiFi接入公司局域网AP之后,希望将另一无显示界面的WiFi设备的数据读取并上传到云端,这样一种需求便会因为该智能终端不能同时开启其自身的热点模式(因其开启必然导致断网)和站点模式而不能被满足。同理,如用户利用智能终端以热点模式与第三方通信的过程中,需以站点模式接入某个局域网获取数据,显然也是做不到的。
可见,基于Android的智能终端在实现热点与站点两种WiFi组网模式这一功能上是先天不足的,因此,可以看出,解决这一问题是对Android智能终端的组网条件进行高效利用的重要前提。
上述问题适宜在WiFiP2P技术规范之下解决,可以考虑令Android的WiFi模组构造一个能以STA模式接入外部网站,同时又能以P2PGO模式提供给其他客户端接入实现网络扩展的框架。由此带来的问题是以P2P方式连接的客户端与服务端,因原本只考虑点对点连接的问题,故其彼此的路由均不会改变,而要实现客户端可以通过服务端连接外部网络,则需要使客户端能够合理地配置自身的路由设置,使得其可以服务端为网关去访问外网。
发明内容
本发明的目的在于针对以上存在的至少一方面不足,提供一种智能终端及其网络底层配置方法。
为了实现该目的,本发明采取如下技术方案:
本发明提供的一种智能终端网络底层配置方法,包括如下步骤:
调用WiFiP2pManager类构造热点;
调用网络守护进程执行如下过程:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能,
畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,
去除客户端共享上网限制解析DNS的选项。
根据本发明的一个实施例所揭示,本方法工作于获取系统最高权限的环境中,由应用程序调用ndc命令执行对网络守护进程的调用。
根据本发明的一个实施例所揭示,本方法工作于未获取系统最高权限的环境中,执行网络守护进程的ndc命令被预置于所述WiFiP2pManager类的代码文件中并被导出为该类的方法函数,以供本方法调用执行。
根据本发明的一个实施例所揭示,本方法对网络守护进程执行独条指令顺序控制的操作。
具体的,通过修改系统的iptables过滤表的规则实现所述数据包过滤表的设置内容的修正。
进一步,对iptables过滤表的修正内容包括删除用于丢弃数据包的记录和添加一条将内网地址映射为公网地址的NAT记录。
较佳的,通过关闭系统的用于向客户端反馈DHCP配置信息的配置进程,重新配置其参数,而去除客户端共享上网限制解析DNS选项。
具体的,所述配置进程为Dnsmasq进程,所述选项为--no-resolv选项。
进一步,所述网络守护进程为Android系统的NetD进程。
较佳的,调用WiFiP2pManager类的createGroup方法用于实现所述的热点的构造。
本发明提供的一种智能终端,其包括:
建立单元,用于调用WiFiP2pManager类构造热点;
配置单元,用于调用网络守护进程执行如下过程:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能,
畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,
去除客户端共享上网限制解析DNS的选项。
根据本发明的一个实施例所揭示,本智能终端工作于获取系统最高权限的环境中,由应用程序调用ndc命令执行对网络守护进程的调用。
根据本发明的一个实施例所揭示,本智能终端工作于未获取系统最高权限的环境中,执行网络守护进程的ndc命令被预置于所述WiFiP2pManager类的代码文件中并被导出为该类的方法函数,以供本方法调用执行。
根据本发明的一个实施例所揭示,本智能终端对网络守护进程执行独条指令顺序控制的操作。
进一步,所述配置单元通过修改系统的iptables过滤表的规则实现所述数据包过滤表的设置内容的修正。
具体的,所述配置单元对iptables过滤表的修正内容包括删除用于丢弃数据包的记录和添加一条将内网地址映射为公网地址的NAT记录。
较佳的,所述配置单元通过关闭系统的用于向客户端反馈DHCP配置信息的配置进程,重新配置其参数,而去除客户端共享上网限制解析DNS选项。
具体的,所述配置进程为Dnsmasq进程,所述选项为--no-resolv选项。
进一步,所述网络守护进程为Android系统的NetD进程。
具体的,所述建立单元调用WiFiP2pManager类的createGroup方法用于实现所述的热点的构造。
与现有技术相比较,本发明至少具有如下优点:
本发明充分利用Android系统提供的特性,首先调用WiFiP2pManager依照WiFiP2P协议的规范建立基于P2PGO(P2PGroupOwner)的网络群组,将智能终端打造成无线热点,使其能够工作于热点模式,可与本已处于站点模式共同工作,突破Android系统无法自行同时开放热点模式和站点模式两种模式的局限。在此基础上,本发明进一步利用系统最高权限,通过Android系统提供的机制,驱动网络守护进程去修改网络配置信息,确保这种修改使作为服务端的本智能终端能够对接入其热点模式的客户端提供外部网络连接,使得客户端能够借助与网络群组所有者即服务端的连接,来经由服务端的站点模式实现外网访问,从而解决了网络共享的问题。最终,即使不依赖于运营商提供的移动网络,只要服务端能在站点模式接入外网,那么,所述的客户端便能利用服务端的热点模式进行外网共享。
概括而言,本发明的实施,解决了WiFiP2P协议下,客户端与服务端之间的路由配置问题,使得客户端可以经由服务端访问外网。然而,书不尽言,本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明的智能终端网络底层配置方法的流程示意图;
图2为本发明的智能终端的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicationsService,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明的实现,适于为Android提供并安装一个应用程序,由其启动,在获取系统最高权限或者系统开放最高权限的情况下,而向系统提供交互功能,实现本方法所需的控制。
如图1所示,本发明的一种智能终端网络底层配置方法,包括如下步骤S11-S12。而出于对本发明的具体应用,后续还将揭示步骤S13,也均已在图1中给出示例。
步骤S11、调用WiFiP2pManager类构造热点。
理论上可以通过Android系统的热点进程Hostapd来建立所述的热点模式,但是,实测中,hostapd进程启动时,会自动关闭站点进程,导致智能终端无法同时工作于热点模式和站点模式之下,因而,转而采用自行建立网络群组的方式,可以有效避免这一故障的发生。
根据WiFiP2P协议的规范,可以使多个智能终端组在一个网络群组,在该网络群组中,有且只有一个服务端角色,余者为客户端角色。所述的服务端与客户端两种角色,在本发明中,主要相对于以WiFiP2P协议所规范的两部智能终端而言,其中,作为客户端的智能终端的芯片模组工作于该协议所规范的P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协议所规范的P2P-GroupOwner(P2PGO)模式下,即表现为服务端角色。
Android系统中,封装了一个点对点连接管理类,即WiFiP2pManager,顾名思义,该类即用于依照WiFiP2P协议的规范来管理Android终端之间的点对点连接。该类构造了一个用于建立所述的网络群组的方法函数,具体引用形式为WiFiP2pManager.createGroup(wifip2pmanger.chanenl,wifip2pmanager.ActionListener),调用该方法,可以创建一个热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可以供不支持WiFiP2P协议的传统WiFi设备与之连接。由此形成的网络群组,可以使用该类的另一方法函数:requestConnectionInfo(wifip2pmanger.chanenl,wifip2pmanager.ActionListener)去得到详细的连接信息。这个wifip2pInfo连接信息包含了拥有组者也即服务端的地址groupOwnerAddress和一个去说明当前设备是否是这个p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可以和p2p组拥有者通过一个socket连接进行通信。
Android操作系统默认情况下,并不允许同一智能终端的WiFi芯片模组同时工作于客户端和服务端两种模式下,但是,通过自行创建所述的网络群组却可解决这一问题,其中createGroup()函数的调用起到关键的作用,其完成了本智能终端的热点模式的启动。
由于本发明重点是希望解决让客户端通过服务端所在的智能设备的WiFi功能访问外网的网络配置问题。在不考虑客户端自行连接外网的前提下,本智能终端能够访问外网,是接入本网络群组的客户端访问外网的前提。因此,较佳的方式中,是使本智能终端在完成上述热点模式的启动之前,便已启动了站点模式。
欲启动Android系统的站点模式,可以通过用户在系统设置页上手动开启或通过系统的站点进程来建立。所述站点进程,特指Android系统自身提供的wpa_supplicant进程,wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务端和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
以下提供一个利用wpa_cli来完成网络连接的示例供本领域技术人员参照理解本发明,但不应理解为对本发明的实现的限制。
要实现网络连接功能,首先需要运行wpa_supplicant程序以加载基本功能;
执行:/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
其中:
-d:增加调试信息
-Dwext:wext,驱动名称
-iwlan0:wlan0,网络接口名称
/system/bin/wpa_supplicant:wpa_supplicant,可执行程序路径
/data/misc/wifi/wpa_supplicant.conf:wpa_supplicant的配置文件路径
然后,运行命令行工具wpa_cli;
执行:wpa_cli-iwlan0-p/data/system/wpa_supplicant
注意,-p/data/system/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是个控制套接字。
此时会进入交互模式。其中交互模式的命令如下表:
Fullcommand
Shortcommand
Description
status
stat
displaysthecurrentconnectionstatus
disconnect
disc
preventswpa_supplicantfromconnectingtoanyaccesspoint
quit
q
exitswpa_cli
terminate
term
killswpa_supplicant
reconfigure
recon
reloadswpa_supplicantwiththeconfigurationfilesupplied(-cparameter)
scan
scan
scansforavailableaccesspoints(onlyscansit,doesn'tdisplayanything)
scan_result
scan_r
displaystheresultsofthelastscan
list_networks
list_n
displaysalistofconfigurednetworksandtheirstatus(activeornot,enabledordisabled)
select_network
select_n
selectanetworkamongthosedefinedtoinitiateaconnection(ieselect_network0)
enable_network
enable_n
makesaconfigurednetworkavailableforselection(ieenable_network0)
disable_network
disable_n
makesaconfigurednetworkunavailableforselection(iedisable_network0)
remove_network
remove_n
removesanetworkanditsconfigurationfromthelist(ieremove_network0)
add_network
add_n
addsanewnetworktothelist.Itsidwillbecreatedautomatically
set_network
set_n
showsaveryshortlistofavailableoptionstoconfigureanetworkwhensuppliedwithnoparameters.
Seenextsectionforalistofextremelyusefulparameterstobeusedwithset_networkandget_network.
get_network
get_n
displaystherequiredparameterforthespecifiednetwork.Seenextsectionforalistofparameters
save_config
save_c
savestheconfiguration
以上命令项可以从Android的公开技术文档中查看,此处仅供参考。
设置网络的基本格式的指令为:set_network<networkid><key><parameter>[<parameter>]
显示网络信息的基本格式的指令为:get_network<networkid><key>
相应的参数如下表:
Key
Description
Parameters
ssid
Accesspointname
string
id_str
Stringidentifyingthenetwork
string
priority
ConnectionpriorityoverotherAPs
number(0beingthedefaultlowpriority)
bssid
Macaddressoftheaccesspoint
macaddress
scan_ssid
Enable/disbalessidscan
0,1,2
key_mgmt
Typeofkeymanagement
WPA-PSK,WPA_EAP,None
pairwise
PairwiseciphersforWPA
CCMP,TKIP
group=TKIP
GroupciphersforWPA
CCMP,TKIP,WEP104,WEP40
psk
Pre-SharedKey(clearorencrypted)
string
wep_key0
WEPkey(upto4:wep_key[0123])
string
eap
ExtensibleAuthenticationProtocol
MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,TTLS
identity
EAPidentitystring
string
password
EAPpassword
string
ca_cert
PathnametoCAcertificatefile
/full/path/to/certificate
client_cert
Pathnametoclientcertificate
/full/path/to/certificate(PEM/DER)
private_key
Pathnametoaclientprivatekeyfile
/full/path/to/private_key(PEM/DER/PFX)
同理,以上参数表也可通过公共途径从Android官方得到,仅供参考,恕不赘述。以下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
>add_network(将显示一网络ID,假定返回值为0)
>set_network0ssid"666"
>set_network0key_mgmtNONE
>enable_network0
>quit
再利用一用于连接WEP加密的AP的具体实例加以说明:
>add_network(假定网络ID返回1)
>set_network1ssid"666"
>set_network1key_mgmtNONE
>set_network1wep_key0"yourappassword"
>enable_network1
至于连接WPA-PSK/WPA2-PSK加密的AP的示例如下:
>add_network(假定网络ID返回2)
>set_network2ssid"666"
>set_network2psk"yourpre-sharedkey"
>enable_network2
到此,wifi模块就能连接上AP了。
以上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可以通过wpa_supplicant的配置文件来实现连接。
不妨再回顾前面运行wpa_supplicant时执行的命令:
/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
我们在执行时加上了-c/data/misc/wifi/wpa_supplicant.conf,故而将要连接的AP的设置以一定的格式写入wpa_supplicant.conf配置文件中即可。例如:
ctrl_interface=DIR=/data/system/wpa_supplicantGROUP=systemupdate_config=1
network={
ssid="myaccesspoint"
proto=WPA
key_mgmt=WPA-PSK
psk="youpasswords"
}
可见,即使是调用站点进程启动智能终端WiFi芯片模组的站点模式,也可通过以上运用指令、运用配置文件两种不同方式,来实现由应用程序进程自行控制所述的站点进程的开启,从而使智能终端工作于站点模式之下。
由以上的分析可知,本发明可以借助多种方式激活智能终端的站点模式,并通过调用点对点连接管理类的createGroup方法来激活智能终端的热点模式,这两种模式可以并存于Android智能终端中。从而使得智能终端能够利用其站点模式接入外网,同时利用热点模式建构一个小型网络。
为使上述的双模状态更易于操作,体现更佳的用户体验,本发明的应用程序进程可以通过对用户界面进行设计来对此加以完善。
用户界面泛指能够用于实现人机交互并且能够接收用户控制指令的显示界面,例如,可以为Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
本发明优选如下两种方式,用于接收所述的控制指令:
其一,通过在用户界面提供单个控制按键,以用于一键式地接收所述的控制指令,这种方式便于用户实现一键式操作。
其二,通过在用户界面对应热点模式和站点模式而分别提供控制按键,以分别对应不同按键而产生对应启动相应的模式的控制指令。
根据以上的方式提供的控制按键,通常这些按键可以优选设置在系统桌面通知栏列表处,或者以桌面悬浮窗的方式提供,既便于用户触控控制,又不影响用户视觉效果,当然也可作为系统的默认功能而随用户开启WiFi按键时激活。较佳的,所述应用程序可以将自身设为自启动项,使得系统启动时,可以自行加载所述的按键,从而便于用户操作。
当用户通过所述的用户界面,触控所述的控制按键之后,便产生相应的控制指令,该控制指令将被所述应用程序的进程接收,从而对应的控制热点模式和/或站点模式开启。
具体而言,用户既可以通过单个控制按键来同时开启热点模式和站点模式,也可以通过两个与两种模式相对应的按键来开启,实质上提供了多种操作变化例。对应这些变化,以下进一步示例说明。
设用户界面提供单个控制按键,用户通过该单个控制按键而触发其用户指令,此处便可以先调用createGroup()创建热点。继而,本发明的应用程序进程再自行启动该站点进程,由此便可实现两种模式的并存。反之,也可以先行启动站点进程,在其完成开启之后,再行参照上述示例开启热点模式。也就是说,对应于单个控制按键引起的控制指令,可以以不同的实施方式灵活安排所述热点模式和站点模式的启动顺序。
而对应用户界面提供不同的控制按键,分别表征开启不同的模式的实例而言,则可按用户点击不同控制按键的顺序而按序开启相应的模式,此举并不影响本发明的实施。
在优选的方案中,推荐优先让站点模式先于热点模式开启,在确保本智能终端可以连接外网的情况下,向其他智能终端提供接入功能,可以免除一些无用功,更为节能。
由此可见,将站点模式与热点模式相继启动后,便可以实现两种模式的共存。在此基础上,本发明的应用程序进程可以向用户界面输出一些结果信息,以告知用户该智能终端当前已经处于热点模式和站点模式共存的双模状态。至于所述的结果信息的表达形式,既可以是通过系统消息显示到通知栏中,也可以在桌面上弹窗显示,更优的方式可以是调用一个预设的第三方图标,用于表征该智能终端处于热点模式和站点模式共存的双模状态,将该第三方图标显示到用户界面的系统状态栏中,使得用户更易于获知相应的结果信息。
步骤S12、
调用网络守护进程执行如下过程:开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选项。
涉及到对网络守护进程直接调用的操作,依照Android的规范,需要获取系统的最高权限,因而,在获取Android系统最高权限或者Android系统已经开放最高权限的前提下,可以通过对所述网络守护进程进行调用,借此修改涉及到网络共享的配置信息,即网络共享配置信息,以便连通热点模式与站点模式之间的网络连接,让客户端可以通过服务端来访问外网。
所述的网络守护进程,即Netd,NetworkDaemon的缩写。Netd负责跟一些涉及物理端口的网络操作相关的功能实现,例如带宽控制(Bandwidth),网络地址转换(NAT),个人局域网(pan),PPP链接,soft-ap,本智能终端的热点模式所涉及的共享上网(Tether)等等……都是按照模块(.cpp+.h)组织在netd文件目录下的。
AndroidNetd相关的基本框架的四大部分:
(1)LinuxKernel用于检测网络相关的所有事件。
(2)Netd作为Kernel(内核层)与Framework(框架层)之间通信的桥梁。
(3)框架层操作Netd,向Netd发送操作命令。
(4)应用层与框架层交互,用于用户进行网络的操控。
Android为Netd提供了一个测试工具,即ndc,其主要功能有:
监视Netd中发生的事件。
支持通过命令行发送命令给Netd去执行。ndc的实现原理,便是连接上位于netd进程中的“netd”监听socket,然后从Netd接收信息或发送命令给Netd。
由此可见,可以通过ndc来驱动网络守护进程执行相关指令,本发明中,实现对网络共享配置信息的修改的功能,便可利用ndc命令来实施。
请先参照如下对Android系统实施的观测过程:
首先,通过分析,发现createGroup()创建热点之后,虽然可以被客户端连接,但其用于向用户反馈DHCP配置信息的配置进程DNSmasq的参数如下:
/system/bin/dnsmasq--keep-in-foreground--no-resolv--no-poll--dhcp-authoritative--dhcp-option-force=43,ANDROID_METERED--pid-file--dhcp-range=192.168.42.2,192.168.42.254,1h--dhcp-range=192.168.43.2,192.168.43.254,1h--dhcp-range=192.168.44.2,192.168.44.254,1h--dhcp-range=192.168.45.2,192.168.45.254,1h--dhcp-range=192.168.46.2,192.168.46.254,1h--dhcp-range=192.168.47.2,192.168.47.254,1h--dhcp-range=192.168.48.2,192.168.48.254,1h--dhcp-range=192.168.49.2,192.168.49.254,1h
从中可以看出,其中增加了强制配置序列为43的控制选项即dhcp-option-force=43,ANDROID_METERED,序号43的官方释义是厂商指定选项,用于表示当前连接为计费连接,在这种情况下,客户端将不能利用服务端的外网连接,以免产生巨额费用。然而,这种设计逻辑是以服务端将通过运营商的计费连接而提供访问外网服务的,但服务端存在以WiFi站点模式建立的免费外网连接的情况,并未被Android所兼容。
继而,通过分析Android官方文档中对于TetherController(共享控制器)的源代码可知,在这种情况下,该处对ANDROID_METERED进行了规范,然而,却未见默认网关的设置。
而对客户端中进行分析,从core.java.android.net.DhcpInfoInternal也就是dhcp客户端那边,利用下述的代码实施检测:
以上的分析表明,如要令客户端通过服务端来连接外网,需要避开上述的控制选项的影响。
进而,通过分析本智能终端的热点模式开启前和开启后的数据包转发开关和数据包过滤表即iptables,也发现影响客户端上网的因子。
具体而言,对于数据包转发开关,可以发现,cat/proc/sys/net/ipv4/ip_forward的结果是1而不是0,因而理论上可以通过echo"1">/proc/sys/net/ipv4/ip_forwardenable来改变此一开关设置,使其打开数据包转发功能。然而,这种情况下,由于受iptables的影响,即使做出上述的改变,客户端进行外网访问仍然未能畅通。当智能终端的热点模式下的p2p0标识所对应的接口收到数据包,虽会查找路由,并且发到其站点模式下wlan0标识所对应的接口,但是会被iptables的过滤规则所丢弃。
对于iptables,发现其存在两方面的影响,其一是其中包含有将接口p2p0的数据包丢弃的规则,其二是欠缺将智能终端映射到公网的NAT规则。对于前者,可以通过以下指令处理:iptables-DFORWARD4,即删除forward里的第4条规则,也即natctrl_FORWARD规则。这时候当p2p0收到包,会从wlan0发出。但是这个包的源ip是一个内网ip。因此,需要对后者做处理如下:iptables-tnat-APOSTROUTING-owlan0-jMASQUERADE,即向iptables过滤表增加一条nat规则,添加之后,在另一个手机上,便可以ping通外网ip了。由客户端到外网的连接,由此便畅通了。自然的,以及结合实践分析,网关也已经得到正确配置。
通过上述的处理,仅仅解决了IP层的问题,对于DNS解析的功能,则仍未实现。进一步通过分析DNSmasq的配置参数,发现其携带了--no-resolv选项,该选项正是导致影响客户端获取正确的DNS解析的原因。由此,可以通过修改startTethering方法或者增加一个startTetheringWithDns()方法,去掉--no-resolv参数。完成这些操作,客户端经服务端到外网,具体到基于域名的万维网的访问,便畅通无阻了。
以上,概括而言,本发明为实现客户端通过服务端访问外网而借助ndc工具驱动网络守护进程所做出的涉及到网络共享配置信息的修改,主要涉及到以下方面:
其一、开通连通热点模式与站点模式之间的网络连接的数据包转发功能:具体表现为可通过echo指令设置其参数为1来打开。
其二、畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容:具体表现为对iptables表格去除相应的过滤条目以及添加NAT映射记录,实现内网地址与公网地址之间的一对一映射。
其三、去除客户端共享上网限制解析DNS的选项:具体表现为可通过共享控制器(TetherController)的有关方法来去除--no-resolv选项。
由此可见,通过上述的方法,便可使本发明的智能终端实现连通其热点模式与其站点模式下之间的网络连接,为客户端提供接入外网的服务。
以上通过揭示对Android的系统原理的分析过程,揭示了本发明的实现原理,并提供了如何修改网络共享配置信息的一种实施例,除此之外,还可通过以下的方式来修改网络共享配置信息:
这种方式具体而言,即以系统最高权限调用ndc工具通过网络守护进程来实现修改的方式,请参阅如下代码及其说明:
ndcipfwdenable
ndctetherdnsset0114.114.114.114
//如果失败,通常意味着前面有手工操作没有完全撤销。执行ps|grepdnsmasq先强制关闭配置进程。如果还有残留进程,例如:
shellCP8681_A01:/#ps|grepdnsmasq
dhcp355732510272740001a0338b66f61acS/system/bin/dnsmasq
//执行kill3557杀掉,然后
ndctetherstop,//停止共享
ndctetherstart192.168.49.2192.168.49.254//启动共享,配置网段
ndctetherdnsset0114.114.114.114//设置DNS
ndcnatenablep2p0wlan00//添加NAT规则
经测试,以上代码所起的效果与上方揭示的手动修改过程一致,经由此段代码作用,数据包转发功能被打开,iptables过滤表得到正确的配置,DNS解析功能也得到正确的维护。因此,本发明的应用程序可以在系统最高权限状态下,在启动热点模式之后,执行这段代码,便实现了对网络共享配置信息的正确修改,客户端便可通过服务端来上网。
多数的Android系统智能终端,由于厂商的限制,并未开放其系统最高权限,或者未成功被ROOT,对于这种情况,以上以NDC指令直接驱动网络守护进行实施网络共享配置信息的修改的操作将不能成功。因此,需要另辟蹊径。
一种改进的方式是将以上以NDC表达的代码封装成一个方法函数(配置接口),对WiFiP2pManager类的开源代码文件即WifiP2pServiceImpl.java进行修改,由于WifiP2pServiceImpl.java可以直接通过mNwService导出的函数实现那些ndc命令,因在,可在里面增加该方法函数,并且导出给WiFiP2pManager类使用,这样,本发明的应用程序只需直接通过WiFiP2pManager类调用该配置接口,即可实施对网络共享配置信息的修改,而无需借助系统最高权限的获取。
由此可见,借助ndc命令控制所述网络守护进程以修改网络共享配置参数的方式也是多样化的。
通过实施上述的多种控制方式,均可使服务端的热点模式和站点模式之间的网络连接互相连通,路由的问题随之有解。而本发明作用后在应用方面的表现,请参阅后续的揭示:
步骤S13、在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
客户端接入服务端提供的网络群组之后,将向服务端发送DHCP请求,服务端的配置进程读取经上述修改之后的正确的网络共享配置信息,反馈给客户端。客户端据此完成自身的网络设置后,便可经作为服务端本发明智能终端的热点接口、站点接口而访问外网。对于本智能终端而言,当其接收客户端访问外网的数据包时,将该数据包转发经所述站点模式的路径传输给所述的外网;当其接收外网访问客户端的数据包时,将其转发经所述热点模式的路径传输给该客户端。
进一步的,为完善本发明的应用程序进程的功能,可以增加后续步骤:该步骤响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
具体而言,本发明的应用程序可以参照前述的方式,向用户界面提供一个共享上网的控制按键,如沿用上述已经提供到用户界面的控制按键的一个复选控制操作也可。当该控制按键被触发时,便产生所述的用户指令,受该用户指令的作用,本发明便可实施断开所述的热点模式,由此便自动断开外部连接。
进一步,可以采用更为彻底的方式,先行对前述处理过程产生的网络共享配置信息进行清理,例如,参阅以下的ndc指令:
ndcipfwddisable//关闭数据包转发功能
ndctetherstop//停止上网共享功能
ndcnatdisablep2p0wlan00//关闭NAT映射功能
通过本发明的应用程序进程执行上述的命令,便可通过SOCKET端口控制网络守护进程执行相应的功能,从而避免前述的对网络共享配置信息对本机使用所带来的潜在的影响。可以知晓,在本发明的应用程序进程中直接调用上述的命令控制所述的网络守护进程的前提是已经获取系统的最高权限。
同理,根据上述构造方法函数并将其植入到WiFiP2pManager中的示例可知,此处的清理代码完全可以同样的方法被构造为方法函数(清退接口),添加到WiFiP2pManager类的代码文件中,导出为该类的相应的成员函数,后续直接由本发明的应用程序进程调用该清退接口即可执行,而不必考虑当前是否已经获得系统ROOT权限。
综上所述,本发明的方法解决了Android智能终端同时开启热点模式和站点模式的技术难题,并且允许接入其热点模式下的网络群组的客户端经由其站点模式相对应的外网接口访问外网。
根据计算机软件的模块化思维,本发明还提供一种智能终端,该智能终端包括建立单元11、配置单元12,进一步,出于应用的考虑但并非对本发明的限制,还可如图2所示提供通信单元13,以下介绍各个单元所实现的具体功能:
所述的建立单元11,调用WiFiP2pManager类构造热点。
理论上可以通过Android系统的热点进程Hostapd来建立所述的热点模式,但是,实测中,hostapd进程启动时,会自动关闭站点进程,导致智能终端无法同时工作于热点模式和站点模式之下,因而,转而采用自行建立网络群组的方式,可以有效避免这一故障的发生。
根据WiFiP2P协议的规范,可以使多个智能终端组在一个网络群组,在该网络群组中,有且只有一个服务端角色,余者为客户端角色。所述的服务端与客户端两种角色,在本发明中,主要相对于以WiFiP2P协议所规范的两部智能终端而言,其中,作为客户端的智能终端的芯片模组工作于该协议所规范的P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协议所规范的P2P-GroupOwner(P2PGO)模式下,即表现为服务端角色。
Android系统中,封装了一个点对点连接管理类,即WiFiP2pManager,顾名思义,该类即用于依照WiFiP2P协议的规范来管理Android终端之间的点对点连接。该类构造了一个用于建立所述的网络群组的方法函数,具体引用形式为WiFiP2pManager.createGroup(wifip2pmanger.chanenl,wifip2pmanager.ActionListener),调用该方法,可以创建一个热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可以供不支持WiFiP2P协议的传统WiFi设备与之连接。由此形成的网络群组,可以使用该类的另一方法函数:requestConnectionInfo(wifip2pmanger.chanenl,wifip2pmanager.ActionListener)去得到详细的连接信息。这个wifip2pInfo连接信息包含了拥有组者也即服务端的地址groupOwnerAddress和一个去说明当前设备是否是这个p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可以和p2p组拥有者通过一个socket连接进行通信。
Android操作系统默认情况下,并不允许同一智能终端的WiFi芯片模组同时工作于客户端和服务端两种模式下,但是,通过自行创建所述的网络群组却可解决这一问题,其中createGroup()函数的调用起到关键的作用,其完成了本智能终端的热点模式的启动。
由于本发明重点是希望解决让客户端通过服务端所在的智能设备的WiFi功能访问外网的网络配置问题。在不考虑客户端自行连接外网的前提下,本智能终端能够访问外网,是接入本网络群组的客户端访问外网的前提。因此,较佳的方式中,是使本智能终端在完成上述热点模式的启动之前,便已启动了站点模式。
欲启动Android系统的站点模式,可以通过用户在系统设置页上手动开启或通过系统的站点进程来建立。所述站点进程,特指Android系统自身提供的wpa_supplicant进程,wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。经过编译后的wpa_supplicant源程序可以看到两个主要的可执行工具:wpa_supplicant和wpa_cli。wpa_supplicant是核心程序,它和wpa_cli的关系就是服务和客户端的关系:后台运行wpa_supplicant,使用wpa_cli来搜索、设置、和连接网络。
以下提供一个利用wpa_cli来完成网络连接的示例供本领域技术人员参照理解本发明,但不应理解为对本发明的实现的限制。
要实现网络连接功能,首先需要运行wpa_supplicant程序以加载基本功能;
执行:/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
其中:
-d:增加调试信息
-Dwext:wext,驱动名称
-iwlan0:wlan0,网络接口名称
/system/bin/wpa_supplicant:wpa_supplicant,可执行程序路径
/data/misc/wifi/wpa_supplicant.conf:wpa_supplicant的配置文件路径
然后,运行命令行工具wpa_cli;
执行:wpa_cli-iwlan0-p/data/system/wpa_supplicant
注意,-p/data/system/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是个控制套接字。
此时会进入交互模式。其中交互模式的命令如下表:
Fullcommand
Shortcommand
Description
status
stat
displaysthecurrentconnectionstatus
disconnect
disc
preventswpa_supplicantfromconnectingtoanyaccesspoint
quit
q
exitswpa_cli
terminate
term
killswpa_supplicant
reconfigure
recon
reloadswpa_supplicantwiththeconfigurationfilesupplied(-cparameter)
scan
scan
scansforavailableaccesspoints(onlyscansit,doesn'tdisplayanything)
scan_result
scan_r
displaystheresultsofthelastscan
list_networks
list_n
displaysalistofconfigurednetworksandtheirstatus(activeornot,enabledordisabled)
select_network
select_n
selectanetworkamongthosedefinedtoinitiateaconnection(ieselect_network0)
enable_network
enable_n
makesaconfigurednetworkavailableforselection(ieenable_network0)
disable_network
disable_n
makesaconfigurednetworkunavailableforselection(iedisable_network0)
remove_network
remove_n
removesanetworkanditsconfigurationfromthelist(ieremove_network0)
add_network
add_n
addsanewnetworktothelist.Itsidwillbecreatedautomatically
set_network
set_n
showsaveryshortlistofavailableoptionstoconfigureanetworkwhensuppliedwithnoparameters.
Seenextsectionforalistofextremelyusefulparameterstobeusedwithset_networkandget_network.
get_network
get_n
displaystherequiredparameterforthespecifiednetwork.Seenextsectionforalistofparameters
save_config
save_c
savestheconfiguration
以上命令项可以从Android的公开技术文档中查看,此处仅供参考。
设置网络的基本格式的指令为:set_network<networkid><key><parameter>[<parameter>]
显示网络信息的基本格式的指令为:get_network<networkid><key>
相应的参数如下表:
Key
Description
Parameters
ssid
Accesspointname
string
id_str
Stringidentifyingthenetwork
string
priority
ConnectionpriorityoverotherAPs
number(0beingthedefaultlowpriority)
bssid
Macaddressoftheaccesspoint
macaddress
scan_ssid
Enable/disbalessidscan
0,1,2
key_mgmt
Typeofkeymanagement
WPA-PSK,WPA_EAP,None
pairwise
PairwiseciphersforWPA
CCMP,TKIP
group=TKIP
GroupciphersforWPA
CCMP,TKIP,WEP104,WEP40
psk
Pre-SharedKey(clearorencrypted)
string
wep_key0
WEPkey(upto4:wep_key[0123])
string
eap
ExtensibleAuthenticationProtocol
MD5,MSCHAPV2,OTP,GTC,TLS,PEAP,TTLS
identity
EAPidentitystring
string
password
EAPpassword
string
ca_cert
PathnametoCAcertificatefile
/full/path/to/certificate
client_cert
Pathnametoclientcertificate
/full/path/to/certificate(PEM/DER)
private_key
Pathnametoaclientprivatekeyfile
/full/path/to/private_key(PEM/DER/PFX)
同理,以上参数表也可通过公共途径从Android官方得到,仅供参考同,恕不赘述。以下利用一用于连接无加密的AP的具体实例说明如何实现网络连接:
>add_network(将显示一网络ID,假定返回值为0)
>set_network0ssid"666"
>set_network0key_mgmtNONE
>enable_network0
>quit
再利用一用于连接WEP加密的AP的具体实例加以说明:
>add_network(假定网络ID返回1)
>set_network1ssid"666"
>set_network1key_mgmtNONE
>set_network1wep_key0"yourappassword"
>enable_network1
至于连接WPA-PSK/WPA2-PSK加密的AP的示例如下:
>add_network(假定网络ID返回2)
>set_network2ssid"666"
>set_network2psk"yourpre-sharedkey"
>enable_network2
到此,wifi模块就能连接上AP了。
以上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可以通过wpa_supplicant的配置文件来实现连接。
不妨再回顾前面运行wpa_supplicant时执行的命令:
/system/bin/wpa_supplicant-d-Dwext-iwlan0-c/data/misc/wifi/wpa_supplicant.conf
我们在执行时加上了-c/data/misc/wifi/wpa_supplicant.conf,故而可以将要连接的AP的设置以一定的格式写入wpa_supplicant.conf配置文件中即可。例如:
ctrl_interface=DIR=/data/system/wpa_supplicantGROUP=systemupdate_config=1
network={
ssid="myaccesspoint"
proto=WPA
key_mgmt=WPA-PSK
psk="youpasswords"
}
可见,即使是调用站点进程启动智能终端WiFi芯片模组的站点模式,也可通过以上运用指令、运用配置文件两种不同方式,来实现由应用程序进程自行控制所述的站点进程的开启,从而使智能终端工作于站点模式之下。
由以上的分析可知,本发明可以借助多种方式激活智能终端的站点模式,并通过调用点对点连接管理类的createGroup方法来激活智能终端的热点模式,这两种模式可以并存于Android智能终端中。从而使得智能终端能够利用其站点模式接入外网,同时利用热点模式建构一个小型网络。
为使上述的双模状态更易于操作,体现更佳的用户体验,本发明的应用程序进程可以通过对用户界面进行设计来对此加以完善。
用户界面泛指能够用于实现人机交互并且能够接收用户控制指令的显示界面,例如,可以为Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
本发明优选如下两种方式,用于接收所述的控制指令:
其一,通过在用户界面提供单个控制按键,以用于一键式地接收所述的控制指令,这种方式便于用户实现一键式操作。
其二,通过在用户界面对应热点模式和站点模式而分别提供控制按键,以分别对应不同按键而产生对应启动相应的模式的控制指令。
根据以上的方式提供的控制按键,通常这些按键可以优选设置在系统桌面通知栏列表处,或者以桌面悬浮窗的方式提供,既便于用户触控控制,又不影响用户视觉效果,当然也可作为系统的默认功能而随用户开启WiFi按键时激活。较佳的,所述应用程序可以将自身设为自启动项,使得系统启动时,可以自行加载所述的按键,从而便于用户操作。
当用户通过所述的用户界面,触控所述的控制按键之后,便产生相应的控制指令,该控制指令将被所述应用程序的进程接收,从而对应控制热点模式和/或站点模式开启。
具体而言,用户既可以通过单个控制按键来希望同时开启热点模式和站点模式,也可以通过两个与两种模式相对应的按键来开启,实质上提供了多种操作变化例。对应这些变化,以下进一步示例说明。
设用户界面提供单个控制按键,用户通过该单个控制按键而触发其用户指令,此处便可以先调用createGroup()创建热点。继而,本发明的应用程序进程再自行启动该站点进程,由此便可实现两种模式的并存。反之,也可以先行启动站点进程,在其完成开启之后,再行参照上述示例开启热点模式。也就是说,对应于单个控制按键引起的控制指令,可以以不同的实施方式灵活安排所述热点模式和站点模式的启动顺序。
而对应用户界面提供不同的控制按键,分别表征开启不同的模式的实例而言,则可按用户点击不同控制按键的顺序而按序开启相应的模式,此举并不影响本发明的实施。
在优选的方案中,推荐优先让站点模式先于热点模式开启,在确保本智能终端可以连接外网的情况下,向其他智能终端提供接入功能,可以免除一些无用功,更为节能。
由此可见,将站点模式与热点模式相继启动后,便可以实现两种模式的共存。在此基础上,本发明的应用程序进程可以向用户界面输出一些结果信息,以告知用户该智能终端当前已经处于热点模式和站点模式共存的双模状态。至于所述的结果信息的表达形式,既可以是通过系统消息显示到通知栏中,也可以在桌面上弹窗显示,更优的方式可以是调用一个预设的第三方图标,用于表征该智能终端处于热点模式和站点模式共存的双模状态,将该第三方图标显示到用户界面的系统状态栏中,使得用户更易于获知相应的结果信息。
所述的配置单元12,被配置为调用网络守护进程执行如下过程:开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选项。
涉及到对网络守护进程直接调用的操作,依照Android的规范,需要获取系统的最高权限,因而,在获取Android系统最高权限或者Android系统已经开放最高权限的前提下,可以通过对所述网络守护进程进行调用,借此修改涉及到网络共享的配置信息,即网络共享配置信息,以便连通热点模式与站点模式之间的网络连接,让客户端可以通过服务端来访问外网。
所述的网络守护进程,即Netd,NetworkDaemon的缩写。Netd负责跟一些涉及物理端口的网络操作相关的功能实现,例如带宽控制(Bandwidth),网络地址转换(NAT),个人局域网(pan),PPP链接,soft-ap,本智能终端的热点模式所涉及的共享上网(Tether)等等……都是按照模块(.cpp+.h)组织在netd文件目录下的。
AndroidNetd相关的基本框架的四大部分:
(1)LinuxKernel用于检测网络相关的所有事件。
(2)Netd作为Kernel(内核层)与Framework(框架层)之间通信的桥梁。
(3)框架层操作Netd,向Netd发送操作命令。
(4)应用层与框架层交互,用于用户进行网络的操控。
Android为Netd提供了一个测试工具,即ndc,其主要功能有:
监视Netd中发生的事件。
支持通过命令行发送命令给Netd去执行。ndc的实现原理,便是连接上位于netd进程中的“netd”监听socket,然后从Netd接收信息或发送命令给Netd。
由此可见,可以通过ndc来驱动网络守护进程执行相关指令,本发明中,实现对网络共享配置信息的修改的功能,便可利用ndc命令来实施。
请先参照如下对Android系统实施的观测过程:
首先,通过分析,发现createGroup()创建热点之后,虽然产生可以被客户端连接,但其用于向用户反馈DHCP配置信息的配置进程DNSmasq的参数如下:
/system/bin/dnsmasq--keep-in-foreground--no-resolv--no-poll--dhcp-authoritative--dhcp-option-force=43,ANDROID_METERED--pid-file--dhcp-range=192.168.42.2,192.168.42.254,1h--dhcp-range=192.168.43.2,192.168.43.254,1h--dhcp-range=192.168.44.2,192.168.44.254,1h--dhcp-range=192.168.45.2,192.168.45.254,1h--dhcp-range=192.168.46.2,192.168.46.254,1h--dhcp-range=192.168.47.2,192.168.47.254,1h--dhcp-range=192.168.48.2,192.168.48.254,1h--dhcp-range=192.168.49.2,192.168.49.254,1h
从中可以看出,其中增加了强制配置序列为43的控制选项即dhcp-option-force=43,ANDROID_METERED,序号43的官方释义是厂商指定选项,用于表示当前连接为计费连接,在这种情况下,客户端将不能利用服务端的外网连接,以免产生巨额费用。然而,这种设计逻辑是以服务端将通过运营商的计费连接而提供访问外网服务的,但服务端存在以WiFi站点模式建立的免费外网连接的情况,并未被Android所兼容。
继而,通过分析Android官方文档中对于TetherController(共享控制器)的源代码可知,在这种情况下,该处对ANDROID_METERED进行了规范,然而,却未见默认网关的设置。
而对客户端中进行分析,从core.java.android.net.DhcpInfoInternal也就是dhcp客户端那边,利用下述的代码实施检测:
以上的分析表明,如要令客户端通过服务端来连接外网,需要避开上述的控制选项的影响。
进而,通过分析本智能终端的热点模式开启前和开启后的数据包转发开关和数据包过滤表即iptables,也发现影响客户端上网的因子。
具体而言,对于数据包转发开关,可以发现,cat/proc/sys/net/ipv4/ip_forward的结果是1而不是0,因而理论上可以通过echo"1">/proc/sys/net/ipv4/ip_forwardenable来改变此一开关设置,使其打开数据包转发功能。然而,这种情况下,由于受iptables的影响,即使做出上述的改变,客户端进行外网访问仍然未能畅通。当智能终端的热点模式下的p2p0标识所对应的接口收到数据包,虽会查找路由,并且发到其站点模式下wlan0标识所对应的接口,但是会被iptables的过滤规则所丢弃。
对于iptables,发现其存在两方面的影响,其一是其中包含有将接口p2p0的数据包丢弃的规则,其二是欠缺将智能终端映射到公网的NAT规则。对于前者,可以通过以下指令处理:iptables-DFORWARD4,即删除forward里的第4条规则,也即natctrl_FORWARD规则。这时候当p2p0收到包,会从wlan0发出。但是这个包的源ip是一个内网ip。因此,需要对后者做处理如下:iptables-tnat-APOSTROUTING-owlan0-jMASQUERADE,即向iptables过滤表增加一条nat规则,添加之后,在另一个手机上,便可以ping通外网ip了。由客户端到外网的连接,由此便畅通了。自然的,以及结合实践分析,网关也已经得到正确配置。
通过上述的处理,仅仅解决了IP层的问题,对于DNS解析的功能,则仍未实现。进一步通过分析DNSmasq的配置参数,发现其携带了--no-resolv选项,该选项正是导致影响客户端获取正确的DNS解析的原因。由此,可以通过修改startTethering方法或者增加一个startTetheringWithDns()方法,去掉--no-resolv参数。完成这些操作,客户端经服务端到外网,具体到基于域名的万维网的访问,便畅通无阻了。
以上,概括而言,本发明为实现客户端通过服务端访问外网而借助ndc工具驱动网络守护进程所做出的涉及到网络共享配置信息的修改,主要涉及到以下方面:
其一、开通连通热点模式与站点模式之间的网络连接的数据包转发功能:具体表现为可通过echo指令设置其参数为1来打开。
其二、畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容:具体表现为对iptables表格去除相应的过滤条目以及添加NAT映射记录,实现内网地址与公网地址之间的一对一映射。
其三、去除客户端共享上网限制解析DNS的选项:具体表现为可通过共享控制器(TetherController)的有关方法来去除--no-resolv选项。
由此可见,通过上述的方法,便可使本发明的智能终端实现连通其热点模式与其站点模式下之间的网络连接,为客户端提供接入外网的服务。
以上通过揭示对Android的系统原理的分析过程,揭示了本发明的实现原理,并提供了如何修改网络共享配置信息的一种实施例,除此之外,还可通过以下的方式来修改网络共享配置信息:
这种方式具体而言,即以系统最高权限调用ndc工具通过网络守护进程来实现修改的方式,请参阅如下代码及其说明:
ndcipfwdenable
ndctetherdnsset0114.114.114.114
//如果失败,通常意味着前面有手工操作没有完全撤销。执行ps|grepdnsmasq先强制关闭配置进程。如果还有残留进程,例如:
shellCP8681_A01:/#ps|grepdnsmasq
dhcp355732510272740001a0338b66f61acS/system/bin/dnsmasq
//执行kill3557杀掉,然后
ndctetherstop,//停止共享
ndctetherstart192.168.49.2192.168.49.254//启动共享,配置网段
ndctetherdnsset0114.114.114.114//设置DNS
ndcnatenablep2p0wlan00//添加NAT规则
经测试,以上代码所起的效果与上方揭示的手动修改过程一致,经由此段代码作用,数据包转发功能被打开,iptables过滤表得到正确的配置,DNS解析功能也得到正确的维护。因此,本发明的应用程序可以在系统最高权限状态下,在启动热点模式之后,执行这段代码,便实现了对网络共享配置信息的正确修改,客户端便可通过服务端来上网。
多数的Android系统智能终端,由于厂商的限制,并未开放其系统最高权限,或者未成功被ROOT,对于这种情况,以上以NDC指令直接驱动网络守护进行实施网络共享配置信息的修改的操作将不能成功。因此,需要另辟蹊径。
一种改进的方式是将以上以NDC表达的代码封装成一个方法函数(配置接口),对WiFiP2pManager类的开源代码文件即WifiP2pServiceImpl.java进行修改,由于WifiP2pServiceImpl.java可以直接通过mNwService导出的函数实现那些ndc命令,因在,可在里面增加该方法函数,并且导出给WiFiP2pManager类使用,这样,本发明的应用程序只需直接通过WiFiP2pManager类调用该配置接口,即可实施对网络共享配置信息的修改,而无需借助系统最高权限的获取。
由此可见,借助ndc命令控制所述网络守护进程以修改网络共享配置参数的方式也是多样化的。
通过实施上述的多种控制方式,均可使服务端的热点模式和站点模式之间的网络连接互相连通,路由的问题随之有解。而本发明作用后在应用方面的表现,请参阅后续的揭示:
所述的通信单元13,用于在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持的外网的连接。
客户端接入服务端提供的网络群组之后,将向服务端发送DHCP请求,服务端的配置进程读取经上述修改之后的正确的网络共享配置信息,反馈给客户端。客户端据此完成自身的网络设置后,便可经作为服务端本发明智能终端的热点接口、站点接口而访问外网。对于本智能终端而言,当其接收客户端访问外网的数据包时,将该数据包转发经所述站点模式的路径传输给所述的外网;当其接收外网访问客户端的数据包时,将其转发经所述热点模式的路径传输给该客户端。
进一步的,为完善本发明的应用程序进程的功能,可以增加恢复单元,该恢复单元被配置为响应于退出共享上网的用户指令,恢复所述的网络共享配置信息。
具体而言,本发明的应用程序可以参照前述的方式,向用户界面提供一个共享上网的控制按键,如沿用上述已经提供到用户界面的控制按键的一个复选控制操作也可。当该控制按键被触发时,便产生所述的用户指令,受该用户指令的作用,本发明便可实施断开所述的热点模式,由此便自动断开外部连接。
进一步,可以采用更为彻底的方式,先行对前述处理过程产生的网络共享配置信息进行清理,例如,参阅以下的ndc指令:
ndcipfwddisable//关闭数据包转发功能
ndctetherstop//停止上网共享功能
ndcnatdisablep2p0wlan00//关闭NAT映射功能
通过本发明的应用程序进程执行上述的命令,便可通过SOCKET端口控制网络守护进程执行相应的功能,从而避免前述的对网络共享配置信息对本机使用所带来的潜在的影响。可以知晓,在本发明的应用程序进程中直接调用上述的命令控制所述的网络守护进程的前提是已经获取系统的最高权限。
同理,根据上述构造方法函数并将其植入到WiFiP2pManager中的示例可知,此处的清理代码完全可以同样的方法被构造为方法函数(清退接口),添加到WiFiP2pManager类的代码文件中,导出为该类的相应的成员函数,后续直接由本发明的应用程序进程调用该清退接口即可执行,而不必考虑当前是否已经获得系统ROOT权限。
综上所述,本发明的方法解决了Android智能终端同时开启热点模式和站点模式的技术难题,并且允许接入其热点模式下的网络群组的客户端经由其站点模式相对应的外网接口访问外网。
概而言之,通过本发明的处理,Android系统的智能终端便具备了双模功能,也即同时既可充当热点供其他设备接入,也可充当站点接入外部网络接入点,并且可以起到路由器的作用,允许接入该智能终端的客户端设备通过该智能终端访问外网。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-OnlyMemory,只读存储器)、RAM(RandomAccessMemory,随即存储器)、EPROM(ErasableProgrammableRead-OnlyMemory,可擦写可编程只读存储器)、EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种智能终端网络底层配置方法,其特征在于,包括如下步骤:
调用WiFiP2pManager类构造热点;
调用网络守护进程执行如下过程:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选项。
2.根据权利要求1所述的方法,其特征在于,本方法工作于获取系统最高权限的环境中,由应用程序调用ndc命令执行对网络守护进程的调用。
3.根据权利要求1所述的方法,其特征在于,本方法工作于未获取系统最高权限的环境中,执行网络守护进程的ndc命令被预置于所述WiFiP2pManager类的代码文件中并被导出为该类的方法函数,以供本方法调用执行。
4.根据权利要求1所述的方法,其特征在于,本方法对网络守护进程执行独条指令顺序控制的操作。
5.根据权利要求1所述的方法,其特征在于,通过修改系统的iptables过滤表的规则实现所述数据包过滤表的设置内容的修正。
6.根据权利要求5所述的方法,其特征在于,对iptables过滤表的修正内容包括删除用于丢弃数据包的记录和添加一条将内网地址映射为公网地址的NAT记录。
7.根据权利要求1所述的方法,其特征在于,通过关闭系统的用于向客户端反馈DHCP配置信息的配置进程,重新配置其参数,而去除客户端共享上网限制解析DNS选项。
8.根据权利要求7所述的方法,其特征在于,所述配置进程为Dnsmasq进程,所述选项为--no-resolv选项。
9.根据权利要求1所述的方法,其特征在于,所述网络守护进程为Android系统的NetD进程。
10.一种智能终端,其特征在于,包括:
建立单元,用于调用WiFiP2pManager类构造热点;
配置单元,用于调用网络守护进程执行如下过程:
开通连通热点模式与站点模式之间的网络连接的数据包转发功能,畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,去除客户端共享上网限制解析DNS的选项。
CN201610141384.8A 2016-03-11 2016-03-11 智能终端及其网络底层配置方法 Active CN105721220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610141384.8A CN105721220B (zh) 2016-03-11 2016-03-11 智能终端及其网络底层配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610141384.8A CN105721220B (zh) 2016-03-11 2016-03-11 智能终端及其网络底层配置方法

Publications (2)

Publication Number Publication Date
CN105721220A true CN105721220A (zh) 2016-06-29
CN105721220B CN105721220B (zh) 2019-08-27

Family

ID=56158543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610141384.8A Active CN105721220B (zh) 2016-03-11 2016-03-11 智能终端及其网络底层配置方法

Country Status (1)

Country Link
CN (1) CN105721220B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106412940A (zh) * 2016-11-15 2017-02-15 北京小米移动软件有限公司 创建无线局域子网的方法及装置、接入网络的方法及装置
CN107205238A (zh) * 2017-06-21 2017-09-26 福州汇思博信息技术有限公司 一种安卓系统中实现wifi探针的方法和终端
CN109587829A (zh) * 2018-11-16 2019-04-05 青岛海信电器股份有限公司 一种终端同时作为站点和热点工作的方法、装置及终端
CN109743783A (zh) * 2019-02-12 2019-05-10 Oppo广东移动通信有限公司 数据传输控制方法及相关产品
CN110888693A (zh) * 2019-11-22 2020-03-17 烽火通信科技股份有限公司 一种在Android系统中支持AP和STA共存的方法及装置
CN111405367A (zh) * 2020-03-11 2020-07-10 海信视像科技股份有限公司 基于多网络切换场景系统部件网络共享的方法及显示设备
CN111867143A (zh) * 2020-04-27 2020-10-30 广州朗国电子科技有限公司 一种教育白板内部多设备间的通信方法、装置及教育白板
CN112165474A (zh) * 2020-09-22 2021-01-01 珠海市魅族科技有限公司 一种网络监控方法及装置
CN112312394A (zh) * 2020-11-27 2021-02-02 展讯半导体(成都)有限公司 一种无线保真Wi-Fi管理方法、装置及相关设备
CN113727410A (zh) * 2021-10-08 2021-11-30 亿次网联(杭州)科技有限公司 移动终端直连家庭云服务器的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932401A (zh) * 2011-08-08 2013-02-13 三星电子株式会社 使用Wi-Fi Direct形成Wi-Fi P2P组的方法和设备
CN104243586A (zh) * 2014-09-18 2014-12-24 北京奇虎科技有限公司 内容共享方法、内容共享装置,以及内容共享设备
CN104580401A (zh) * 2014-12-23 2015-04-29 小米科技有限责任公司 连接方法及装置
CN105101340A (zh) * 2015-09-09 2015-11-25 深圳市唯传科技有限公司 基于智能移动终端的消息多跳控制方法及系统
CN105338535A (zh) * 2015-08-31 2016-02-17 浙江利尔达物联网技术有限公司 一种使用移动终端进行无线组网的方法
CN105375970A (zh) * 2015-09-30 2016-03-02 青岛海信移动通信技术股份有限公司 一种移动设备进行中继的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932401A (zh) * 2011-08-08 2013-02-13 三星电子株式会社 使用Wi-Fi Direct形成Wi-Fi P2P组的方法和设备
CN104243586A (zh) * 2014-09-18 2014-12-24 北京奇虎科技有限公司 内容共享方法、内容共享装置,以及内容共享设备
CN104580401A (zh) * 2014-12-23 2015-04-29 小米科技有限责任公司 连接方法及装置
CN105338535A (zh) * 2015-08-31 2016-02-17 浙江利尔达物联网技术有限公司 一种使用移动终端进行无线组网的方法
CN105101340A (zh) * 2015-09-09 2015-11-25 深圳市唯传科技有限公司 基于智能移动终端的消息多跳控制方法及系统
CN105375970A (zh) * 2015-09-30 2016-03-02 青岛海信移动通信技术股份有限公司 一种移动设备进行中继的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邓凡平: "《深入理解Android Wi-Fi、NFC和GPS卷》", 31 March 2014 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106412940A (zh) * 2016-11-15 2017-02-15 北京小米移动软件有限公司 创建无线局域子网的方法及装置、接入网络的方法及装置
CN107205238A (zh) * 2017-06-21 2017-09-26 福州汇思博信息技术有限公司 一种安卓系统中实现wifi探针的方法和终端
CN107205238B (zh) * 2017-06-21 2020-08-14 福州汇思博信息技术有限公司 一种安卓系统中实现wifi探针的方法和终端
CN109587829A (zh) * 2018-11-16 2019-04-05 青岛海信电器股份有限公司 一种终端同时作为站点和热点工作的方法、装置及终端
CN109587829B (zh) * 2018-11-16 2022-01-11 海信视像科技股份有限公司 一种终端同时作为站点和热点工作的方法、装置及终端
CN109743783B (zh) * 2019-02-12 2021-11-02 Oppo广东移动通信有限公司 数据传输控制方法及相关产品
CN109743783A (zh) * 2019-02-12 2019-05-10 Oppo广东移动通信有限公司 数据传输控制方法及相关产品
WO2020164349A1 (zh) * 2019-02-12 2020-08-20 Oppo广东移动通信有限公司 数据传输控制方法及相关产品
CN110888693A (zh) * 2019-11-22 2020-03-17 烽火通信科技股份有限公司 一种在Android系统中支持AP和STA共存的方法及装置
CN111405367A (zh) * 2020-03-11 2020-07-10 海信视像科技股份有限公司 基于多网络切换场景系统部件网络共享的方法及显示设备
CN111867143A (zh) * 2020-04-27 2020-10-30 广州朗国电子科技有限公司 一种教育白板内部多设备间的通信方法、装置及教育白板
CN112165474A (zh) * 2020-09-22 2021-01-01 珠海市魅族科技有限公司 一种网络监控方法及装置
CN112312394A (zh) * 2020-11-27 2021-02-02 展讯半导体(成都)有限公司 一种无线保真Wi-Fi管理方法、装置及相关设备
CN112312394B (zh) * 2020-11-27 2023-03-31 展讯半导体(成都)有限公司 一种无线保真Wi-Fi管理方法、装置及相关设备
CN113727410A (zh) * 2021-10-08 2021-11-30 亿次网联(杭州)科技有限公司 移动终端直连家庭云服务器的方法和装置
CN113727410B (zh) * 2021-10-08 2022-01-28 亿次网联(杭州)科技有限公司 移动终端直连家庭云服务器的方法和装置

Also Published As

Publication number Publication date
CN105721220B (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
CN105704226A (zh) 智能终端及其网络配置方法
CN105721220A (zh) 智能终端及其网络底层配置方法
CN106060970A (zh) 智能终端及其网络配置方法
CN105847321A (zh) 智能终端及其免系统权限网络配置方法
CN102137395B (zh) 配置接入设备的方法、装置及系统
US10263839B2 (en) Remote management system for configuring and/or controlling a computer network switch
US8626147B2 (en) Virtual instance architecture for mobile device management systems
US7620065B2 (en) Mobile connectivity solution
CN103973800B (zh) 一种基于安卓系统的双网卡并存的实现方法
CN100414890C (zh) 一种集中配置终端设备的方法和系统
CN101335666A (zh) 一种配置发送的方法、接入控制设备和接入点
CN102026263A (zh) 一种无线通信网络连接方法
CN104685963B (zh) 管理网络装置的操作
Neumann et al. Community-lab: Architecture of a community networking testbed for the future internet
US20180183666A1 (en) Secure plug and play configuration of wireless distribution system (wds) wi-fi range extenders
WO2007010319A1 (en) Mobile connectivity solution
CN102035703A (zh) 一种家庭无线网络及其实现方法
Kind et al. Splitarchitecture: Applying the software defined networking concept to carrier networks
CN105827440A (zh) 智能终端及其路由配置方法
CN101599834B (zh) 一种认证部署方法和一种管理设备
CN101917414B (zh) Bgp分类网关设备及利用该设备实现网关功能的方法
Clarke 1,001 CCNA Routing and Switching Practice Questions For Dummies (+ Free Online Practice)
KR20060012285A (ko) 네트워크 구성요소의 네트워크 위치를 프로그램에 따라전환하는 시스템 및 방법
CN101909021A (zh) Bgp网关设备及利用该设备实现通断网关功能的方法
Cisco Release Notes for Cisco Aironet Access Points

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160928

Address after: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant after: Beijing Qihu Technology Co., Ltd.

Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant before: Beijing Qihu Technology Co., Ltd.

Applicant before: Our Internet Network Technology (Shenzhen) Co., Ltd.

TA01 Transfer of patent application right

Effective date of registration: 20170719

Address after: 100102, 18 floor, building 2, Wangjing street, Beijing, Chaoyang District, 1801

Applicant after: BEIJING ANYUN SHIJI SCIENCE AND TECHNOLOGY CO., LTD.

Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant before: Beijing Qihu Technology Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant