CN104702608B - WiFi共享*** - Google Patents

WiFi共享*** Download PDF

Info

Publication number
CN104702608B
CN104702608B CN201510109765.3A CN201510109765A CN104702608B CN 104702608 B CN104702608 B CN 104702608B CN 201510109765 A CN201510109765 A CN 201510109765A CN 104702608 B CN104702608 B CN 104702608B
Authority
CN
China
Prior art keywords
wifi
user
wpa
functions
server
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.)
Expired - Fee Related
Application number
CN201510109765.3A
Other languages
English (en)
Other versions
CN104702608A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201510109765.3A priority Critical patent/CN104702608B/zh
Publication of CN104702608A publication Critical patent/CN104702608A/zh
Application granted granted Critical
Publication of CN104702608B publication Critical patent/CN104702608B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种WiFi共享***,该WiFi共享***包括:客户端界面模块、服务器界面模块、登录认证模块、流量控制模块、计费充值模块、数据库模块。本发明将每一台家庭的路由器或拥有无线网卡的电脑作为基站,提供WiFi信号给需要上网的会员,有效缓解了蜂窝网的数据拥堵,不需要询问WiFi密码即可接入网络,能够以免费或远低于运营商的资费提供了优于运营商蜂窝网的服务,通过实名认证和诸多安全技术手段确保在陌生环境下安全连接WiFi,对于带有木马或病毒的WiFi过滤,WiFi提供者在为其他会员提供WiFi信号的同时实现盈利i。本发明的结构简单,使用方便,为使用者提供了一种便捷的途径。

Description

WiFi共享***
技术领域
本发明属于WiFi共享技术领域,尤其涉及一种WiFi共享***。
背景技术
传统的WiFi共享方式主要是在咖啡厅,机场等公共场所,通过向店家问询密码之后手动输入密码来接入互联网。
WiFi共享领域较为先进的公司如Fon Technology S.L公司开创了P2P式无线宽带共享社区模式。该模式的核心是发动所有拥有WIFI AP设备和宽带接入资源的人或机构,通过加盟的方式开放自己的资源。用户只需共享出自己的AP,就可以免费接入联盟中其他用户的AP。
通过问询密码手动输入方式该耗时时间久,输入不方便,且AP所有者不一定愿意提供WiFi密码。
Fon公司的共享社区模式需要购买Fon路由器,在路由器中安装Fon固件就可以加入到Fon网络中,但目前并不是所有的无线路由器都能够兼容Fon公司的固件。
发明内容
本发明的目的在于提供一种WiFi共享***,旨在解决现有的WiFi共享方法存在的通过问询密码手动输入方式耗时较长,输入不方便,Fon路由器使用条件有限的问题。
本发明是这样实现的,一种WiFi共享***,该WiFi共享***包括:客户端界面模块、服务器界面模块、登录认证模块、流量控制模块、计费充值模块、数据库模块;
客户端界面模块,用于实现客户的登录;
服务器界面模块,用于实现服务器管理;
登录认证模块,与客户端界面模块连接,对客户端的登录身份进行认证;
流量控制模块,与登录认证模块连接,用于实现WiFi流量控制;
计费充值模块,与流量控制模块连接,用于计算产生流量的费用;
数据库模块,与服务器界面模块、登录认证模块、流量控制模块、计费充值模块5连接,用于存储登录记录、WiFi流量、产生流量的费用。
进一步,该WiFi共享***的WiFi共享方法具体包括:
WiFi提供者注册阶段打开自己的AP,软件会自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器,等待WiFi使用者接入,WiFi使用者的移动终端搜索到iflying字样的WiFi并点击确定后,会向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码,服务器通过密文形式发送给WiFi使用者WiFi密码,WiFi使用者接入互联网;***从用户接入互联网的时刻开始统计WiFi使用者使用流量,结束使用后给服务器发送结束使用请求,完成操作。
进一步,用户注册的步骤具体包括;
步骤一,注册过程:
通过手机号码或邮箱注册成为***会员,供选择身份有WiFi提供者、WiFi使用者、WiFi提供者+WiFi使用者;
当选择身份为WiFi提供者时,打开AP,自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器。其他注册内容包括手机号码,绑定银行***或支付宝账号;
当选择身份为WiFi使用者时,需要为账户充值,注册内容包括手机号码,绑定银行***或支付宝账号;
当选择身份为WiFi提供者+WiFi使用者时,需要打开AP,自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器,其他注册内容包括手机号码,绑定银行***或支付宝账号;
步骤二,搜索过程;
WiFi提供者开启AP,并统一命名为iflying,WiFi使用者的移动终端搜索ifiying字样的WiFi并点击确定;
步骤三,使用过程:
WiFi使用者的移动终端搜索到iflying字样的WiFi并点击确定后,向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码,服务器通过密文形式发送给WiFi使用者WiFi密码,WiFi使用者接入互联网,从用户接入互联网的时刻开始统计WiFi使用者使用流量,结束使用后给服务器发送结束使用请求,WiFi使用者移动客户端显示使用过程中产生的流量及其对应金额,WiFi提供者客户端也显示提供WiFi过程中产生的流量及其对应金额;
步骤四,后续过程:
WiFi提供者选择对获得金额进行提现,WiFi使用者查询账户余额。
进一步,该WiFi共享***的WiFi扫描流程具体包括:
步骤一,启动wifi服务:
在SystemServer启动的时候,会生成一个ConnectivityService的实例;
ConnectivityService类中private ConnectivityService构造函数创建WifiService和WifiStateTracker对象;
创建WifiStateTracker和WifiService对象用来启动wifi管理服务WifiStateTracker会创建WifiMonitor用来接收来自底层的事件,WifiService和WifiMonitor是整个模块的核心;
WifiService负责启动关闭wpa_supplicant、启动关闭WifiMonitor监视线程和把命令下发给wpa_supplicant;
WifiMonitor开始运行线程,会请求连接wpa_supplicant,通过调用WifiStateTracker函数connectToSupplicant然后通过wifi.c的wifi_connect_to_supplicant,接着向wpa_ctrl的wpa_ctrl_open。然后通过CreateFile函数向wpa_supplicant读取数据;连接成功后会发送EVENT_SUPPLICANT_CONNECTION消息启动获取DHCP地址线程阻塞调用,并记录自己的MAC地址接着开启一个死循环处理wpa_supplicant发送的事件;
当用户点击Wi-Fi按钮的时WifiEnabler中的onPreferenceChange函数会被调用,再由该函数调用WifiManager的setWifiEnabled函数,先引用AIDL经由IWifiManager通过Binder机制调用WifiService的setWifiEnabled设置Wifi开启状态,同时WifiService会发送MESSAGE_ENABLE_WIFI消息,由WifiService的setWifiEnabledBlocking函数响应该消息,负责Wifi可用的需要工作,首先他会加载驱动loadDriver(),然后开启wpa_supplicant再注册广播消息,而后通过WifiStateTracker来启动WifiMonitor中的监视线程,以上使能成功后,会调用setWifiEnabledState最后广播WIFI_STATE_CHANGED_ACTION这个Intent,至此Wifi功能开启。
步骤二,扫描AP
WifiSettings和WifiEnabler创建的时候就会向Android注册接收WIFI_STATE_CHANGED_ACTION,因此会收到WIFI_STATE_CHANGED_ACTION这个Intent,WifiEnabler负责使得图标加亮,WifiSettings负责使得开启扫描AP,经由WifiService的startScan,再通过JNI由android_net_wifi_scanCommand函数向wpa_supplicant发送扫描命令.当wpa_supplicant处理完SCAN命令后,它会向控制通道发送事件通知扫描完成,从而wifi_wait_for_event函数会接收到该事件,由此WifiMonitor中的MonitorThread会被执行来处理接扫描结果事件,线程通过WifiStateTracker广播SCAN_RESULTS_AVAILABLE_ACTION这个Intent,而WifiSettings注册了接收此Intent,最终由其相应函数updateAccessPoints将AP列表,以GUI的形式列出来。
进一步,移动终端WiFi连接流程包括:
当用户选择一个iflying字样的AP时会弹出一个AP参数配置对话框,此对话框会显示当前选择的AP信号强度,并触发一个点击事件,移动终端软件会向***服务器发送所连接路由器的Mac地址和广域网地址信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码,服务器通过密文形式发送给WiFi使用者WiFi密码,WifiSettings中的onPreferenceTreeClick会被调用,用户配置好之后点击连接按钮,onClick函数会被调用。
进一步,移动终端WiFi连接流程具体包括:
第一步,连接请求
Settings的connect函数响应连接,更新网络保存配置,更新设置当前选择的优先级最高,并保存,然后通过enableNetwork使得其他网络不可用来进行连接,最后调用WifiManager的reconnect函数连接当前选择的网络;
WifiManager的reconnect函数通过AIDL的Binder机制,调用WifiService的reconnect函数;
然后会调用WifiStateTracker的reconnectCommand函数,通过JNI(android_net_wifi_Wifi)的android_net_wifi_reconnectCommand函数向WPA_WPASUPPLICANT发送RECONNECT命令;
android_net_wifi_Wifi通过doCommand调用wifi.c中的wifi_command函数来发送命令;
最后通过wpa_ctrl的wpa_ctrl_request函数向控制通道发送连接命令;
第二步,返回请求
当连接上之后WPA_SUPPLICANT会向控制通道发送连接成功命令,wifi.c的wifi_wait_for_event函数阻塞调用并返回这个命令的字符串;
而后WifiMonitor会被执行来处理这个事件,WifiMonitor再调用WifiStateTracker的notifyStateChange,WifiStateTracker则接着会往自身发送EVENT_DHCP_START消息来启动DHCP去获取IP地址,然后广播NETWORK_STATE_CHANGED_ACTION消息,最后由WifiSettings类来响应,改变状态和界面信息;
wpa_supplicant用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket与驱动交互上报数据给用户,而用户通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。
本发明提供的WiFi共享***,基于用户现有的AP资源,通过软件方法实现,不需额外购买任何固件或者附加设备,即可共享WIFI资源。
本发明与现有技术相比,具有以下优势:
1)面对大幅增长的数据流量,移动蜂窝网不堪重负,用户体验差,而本发明将每一台家庭的路由器或拥有无线网卡的电脑作为基站,提供WiFi信号给需要上网的会员,在不需要花费昂贵的基站建设费用的基础上,有效缓解了蜂窝网的数据拥堵。
2)传统的WiFi共享方式最常见的为向WiFi提供方问询密码之后手动输入密码来接入网络,按本发明不需要询问WiFi密码即可接入网络。
3)因为移动终端与本发明AP距离更近,故WiFi共享***能够以免费或远低于运营商的资费提供了优于运营商蜂窝网的服务。
4)通过实名认证和诸多安全技术手段确保在陌生环境下安全连接WiFi,对于带有木马或病毒的WiFi过滤。
5)传统的方式下WiFi提供者不一定愿意提供WiFi密码给陌生人,本发明中WiFi提供者在为其他会员提供WiFi信号的同时实现盈利更愿意提供WiFi。
附图说明
图1是本发明实施例提供的实施例的方法流程图;
图2是本发明实施例提供的用户注册流程图;
图3是本发明实施例提供的WiFi扫描流程分析图;
图4是本发明实施例提供的WiFi连接流程分析图;
图5是本发明实施例提供的WiFi共享***结构示意图;
图中:1、客户端界面模块;2、服务器界面模块;3、登录认证模块;4、流量控制模块;5、计费充值模块;6、数据库模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
如图1所示,本发明实施例的WiFi共享方法具体包括:
WiFi共享***给用户提供一个安全的平台,用户在本发明注册后成为会员,会员之间可以实现WiFi的共享。
会员可供选择身份有1.WiFi提供者,2.WiFi使用者,3.WiFi提供者+WiFi使用者。WiFi提供者注册阶段需要打开自己的AP,安装的***软件会自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器,等待WiFi使用者接入。WiFi使用者的移动终端搜索到“ifiying”字样的WiFi并点击确定后,会向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码。服务器通过密文形式发送给WiFi使用者WiFi密码,WiFi使用者接入互联网。
***从用户接入互联网的时刻开始统计WiFi使用者使用流量,结束使用后给服务器发送结束使用请求,完成操作。
如图2所示,本发明实施例的用户注册流程图;
1)注册过程:
一个新用户要加入联盟,首先要通过手机号码或邮箱注册成为***会员,可供选择身份有1.WiFi提供者,2.WiFi使用者,3.WiFi提供者+WiFi使用者。
当选择身份为WiFi提供者时,需要打开自己的AP,本发明会自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器。其他注册内容包括手机号码,绑定银行***或支付宝账号。
当选择身份为WiFi使用者时,需要为账户充值,注册内容包括手机号码,绑定银行***或支付宝账号。
当选择身份为WiFi提供者+WiFi使用者时,需要打开自己的AP,本发明会自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器。其他注册内容包括手机号码,绑定银行***或支付宝账号。
2)搜索过程:
WiFi提供者开启AP,并统一命名为“iflying”,WiFi使用者的移动终端搜索“ifiying”字样的WiFi并点击确定。
3)使用过程:
WiFi使用者的移动终端搜索到“ifiying”字样的WiFi并点击确定后,会向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码。服务器通过密文形式发送给WiFi使用者WiFi密码,WiFi使用者接入互联网。从用户接入互联网的时刻开始统计WiFi使用者使用流量,结束使用后给服务器发送结束使用请求,WiFi使用者移动客户端显示使用过程中产生的流量及其对应金额(WiFi流量可以从***属性中获取移动终端设备的wifiinterface名称,从***文件读取该接口的数据流量),WiFi提供者客户端也显示提供WiFi过程中产生的流量及其对应金额。
4)后续过程:
WiFi提供者可选择对获得金额进行提现,WiFi使用者查询账户余额。
如图3所示,本发明实施例的WiFi扫描流程图,具体包括:
1)启动wifi服务
1.在SystemServer启动的时候,会生成一个ConnectivityService的实例。
2.ConnectivityService类中private ConnectivityService(Context context)构造函数创建WifiService和WifiStateTracker对象。
3.创建WifiStateTracker和WifiService对象用来启动wifi管理服务WifiStateTracker会创建WifiMonitor用来接收来自底层的事件,WifiService和WifiMonitor是整个模块的核心。
4.WifiService负责启动关闭wpa_supplicant、启动关闭WifiMonitor监视线程和把命令下发给wpa_supplicant。
5.WifiMonitor开始运行线程,会请求连接wpa_supplicant,通过调用WifiStateTracker函数connectToSupplicant然后通过wifi.c的wifi_connect_to_supplicant,接着向wpa_ctrl的wpa_ctrl_open。然后通过CreateFile函数向wpa_supplicant读取数据。连接成功后会发送EVENT_SUPPLICANT_CONNECTION消息启动获取DHCP地址线程阻塞调用(当连接上AP的时候,该线程会被执行起来获取IP地址),并记录自己的MAC地址(因为MAC地址不会改变所以请求一次即可)接着开启一个死循环处理wpa_supplicant发送的事件。
当用户点击Wi-Fi按钮的时候WifiEnabler中的onPreferenceChange函数会被调用,再由该函数调用WifiManager的setWifiEnabled函数,它先引用AIDL经由IWifiManager通过Binder机制调用WifiService的setWifiEnabled设置Wifi开启状态。同时WifiService会发送MESSAGE_ENABLE_WIFI消息,由WifiService的setWifiEnabledBlocking函数响应该消息,负责Wifi可用的需要工作。首先他会加载驱动loadDriver(),然后开启wpa_supplicant再注册广播消息,而后通过WifiStateTracker来启动WifiMonitor中的监视线程。以上工作使能成功后,会调用setWifiEnabledState最后广播WIFI_STATE_CHANGED_ACTION这个Intent,至此Wifi功能开启。
2)扫描AP
WifiSettings和WifiEnabler创建的时候就会向Android注册接收
WIFI_STATE_CHANGED_ACTION,因此他们都会收到WIFI_STATE_CHANGED_ACTION这个Intent,WifiEnabler负责使得图标加亮,WifiSettings负责使得开启扫描AP。经由WifiService的startScan,再通过JNI由android_net_wifi_scanCommand函数向wpa_supplicant发送扫描命令.当wpa_supplicant处理完SCAN命令后,它会向控制通道发送事件通知扫描完成,从而wifi_wait_for_event函数会接收到该事件,由此WifiMonitor中的MonitorThread会被执行来处理接扫描结果事件。此线程通过WifiStateTracker广播SCAN_RESULTS_AVAILABLE_ACTION这个Intent。而WifiSettings注册了接收此Intent,最终由其相应函数updateAccessPoints将AP列表,以GUI的形式列出来。
如图4所示,移动终端WiFi连接流程图,具体包括:
当用户选择一个本发明“iflying”字样的AP时会弹出一个AP参数配置对话框,此对话框会显示当前选择的AP信号强度,并触发一个点击事件,(默认本发明AP均设置密码),移动终端软件会向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码。服务器通过密文形式发送给WiFi使用者WiFi密码。WifiSettings中的onPreferenceTreeClick会被调用,用户配置好之后点击连接按钮,onClick函数会被调用。
1)连接请求
一.Settings的connect函数响应连接,更新网络保存配置,更新设置当前选择的优先级最高,并保存。然后通过enableNetwork使得其他网络不可用来进行连接。最后调用WifiManager的reconnect函数连接当前选择的网络。
二.WifiManager的reconnect函数通过AIDL的Binder机制,调用WifiService的reconnect函数。
三.然后会调用WifiStateTracker的reconnectCommand函数,通过JNI(android_net_wif_Wifi)的android_net_wifi_reconnectCommand函数向WPA_WPASUPPLICANT发送RECONNECT命令。
四.android_net_wifi_Wifi通过doCommand(命令名,响应缓冲,响应缓存大小)调用wifi.c中的wifi_command函数来发送命令。
五.最后通过wpa_ctrl的wpa_ctrl_request函数向控制通道发送连接命令。
2)返回请求
六.当连接上之后WPA_SUPPLICANT会向控制通道发送连接成功命令。wifi.c的
wifi_wait_for_event函数阻塞调用并返回这个命令的字符串(CONNECTED)。
七.而后WifiMonitor会被执行来处理这个事件,WifiMonitor再调用WifiStateTracker的notifyStateChange,WifiStateTracker则接着会往自身发送EVENT_DHCP_START消息来启动DHCP去获取IP地址,然后广播NETWORK_STATE_CHANGED_ACTION消息,最后由WifiSettings类来响应,改变状态和界面信息。
wpa_supplicant主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。
如图5所示,本发明实施例的主要包括:客户端界面模块1、服务器界面模块2、登录认证模块3、流量控制模块4、计费充值模块5、数据库模块6;
客户端界面模块1的移动客户端用Android开发,电脑客户端由C++开发,后台数据库采用sql server开发。
客户端界面模块1,用于实现客户的登录;
服务器界面模块2,用于实现服务器管理;
登录认证模块3,与客户端界面模块1连接,对客户端的登录身份进行认证;
流量控制模块4,与登录认证模块3连接,用于实现WiFi流量控制;
计费充值模块5,与流量控制模块4连接,用于计算产生流量的费用;
数据库模块6,与服务器界面模块2、登录认证模块3、流量控制模块4、计费充值模块5连接,用于存储登录记录、WiFi流量、产生流量的费用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种WiFi共享***,其特征在于,该WiFi共享***包括:客户端界面模块、服务器界面模块、登录认证模块、流量控制模块、计费充值模块、数据库模块;
客户端界面模块,用于实现客户的登录;
服务器界面模块,用于实现服务器管理;
登录认证模块,与客户端界面模块连接,对客户端的登录身份进行认证;
流量控制模块,与登录认证模块连接,用于实现WiFi流量控制;
计费充值模块,与流量控制模块连接,用于计算产生流量的费用;
数据库模块,与服务器界面模块、登录认证模块、流量控制模块、计费充值模块5连接,用于存储登录记录、WiFi流量、产生流量的费用;
该WiFi共享***的WiFi共享方法具体包括:
WiFi提供者注册阶段打开自己的AP,软件会自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器,等待WiFi使用者接入,WiFi使用者的移动终端搜索到iflying字样的WiFi并点击确定后,会向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码,服务器通过密文形式发送给WiFi使用者WiFi密码,WiFi使用者接入互联网;***从用户接入互联网的时刻开始统计WiFi使用者使用流量,结束使用后给服务器发送结束使用请求,完成操作;
用户注册的步骤具体包括;
步骤一,注册过程:
通过手机号码或邮箱注册成为***会员,供选择身份有WiFi提供者、WiFi使用者、WiFi提供者+WiFi使用者;
当选择身份为WiFi提供者时,打开AP,自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器;其他注册内容包括手机号码,绑定银行***或支付宝账号;
当选择身份为WiFi使用者时,需要为账户充值,注册内容包括手机号码,绑定银行***或支付宝账号;
当选择身份为WiFi提供者+WiFi使用者时,需要打开AP,自动扫描设备的相关信息,包括AP的MAC地址,WiFi密码,广域网地址和远程配置端口号,将信息提交给服务器,其他注册内容包括手机号码,绑定银行***或支付宝账号;
步骤二,搜索过程:
WiFi提供者开启AP,并统一命名为iflying,WiFi使用者的移动终端搜索iflying字样的WiFi并点击确定;
步骤三,使用过程:
WiFi使用者的移动终端搜索到iflying字样的WiFi并点击确定后,向***服务器发送所连接路由器的Mac地址和广域网地址等信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码,服务器通过密文形式发送给WiFi使用者WiFi密码,WiFi使用者接入互联网,从用户接入互联网的时刻开始统计WiFi使用者使用流量,结束使用后给服务器发送结束使用请求,WiFi使用者移动客户端显示使用过程中产生的流量及其对应金额,WiFi提供者客户端也显示提供WiFi过程中产生的流量及其对应金额;
步骤四,后续过程:
WiFi提供者选择对获得金额进行提现,WiFi使用者查询账户余额;
该WiFi共享***的WiFi扫描流程具体包括:
步骤一,启动wifi服务:
在SystemServer启动的时候,会生成一个ConnectivityService的实例;
ConnectivityService类中private ConnectivityService构造函数创建WifiService和WifiStateTracker对象;
创建WifiStateTracker和WifiService对象用来启动wifi管理服务WifiStateTracker会创建WifiMonitor用来接收来自底层的事件,WifiService和WifiMonitor是整个模块的核心;
WifiService负责启动关闭wpa_supplicant、启动关闭WifiMonitor监视线程和把命令下发给wpa_supplicant;
WifiMonitor开始运行线程,会请求连接wpa_supplicant,通过调用WifiStateTracker函数connectToSupplicant然后通过wifi.c的wifi_connect_to_supplicant,接着向wpa_ctrl的wpa_ctrl_open;然后通过CreateFile函数向wpa_supplicant读取数据;连接成功后会发送EVENT_SUPPLICANT_CONNECTION消息启动获取DHCP地址线程阻塞调用,并记录自己的MAC地址接着开启一个死循环处理wpa_supplicant发送的事件;
当用户点击Wi-Fi按钮的时WifiEnabler中的onPreferenceChange函数会被调用,再由该函数调用WifiManager的setWifiEnabled函数,先引用AIDL经由IWifiManager通过Binder机制调用WifiService的setWifiEnabled设置Wifi开启状态,同时WifiService会发送MESSAGE_ENABLE_WIFI消息,由WifiService的setWifiEnabledBlocking函数响应该消息,负责Wifi可用的需要工作,首先他会加载驱动loadDriver(),然后开启wpa_supplicant再注册广播消息,而后通过WifiStateTracker来启动WifiMonitor中的监视线程,以上使能成功后,会调用setWifiEnabledState最后广播WIFI_STATE_CHANGED_ACTION这个Intent,至此Wifi功能开启;
步骤二,扫描AP
WifiSettings和WifiEnabler创建的时候就会向Android注册接收WIFI_STATE_CHANGED_ACTION,因此会收到WIFI_STATE_CHANGED_ACTION这个Intent,WifiEnabler负责使得图标加亮,WifiSettings负责使得开启扫描AP,经由WifiService的startScan,再通过JNI由android_net_wifi_scanCommand函数向wpa_supplicant发送扫描命令.当wpa_supplicant处理完SCAN命令后,它会向控制通道发送事件通知扫描完成,从而wifi_wait_for_event函数会接收到该事件,由此WifiMonitor中的MonitorThread会被执行来处理接扫描结果事件,线程通过WifiStateTracker广播SCAN_RESULTS_AVAILABLE_ACTION这个Intent,而WifiSettings注册了接收此Intent,最终由其相应函数updateAccessPoints将AP列表,以GUI的形式列出来;
移动终端WiFi连接流程包括:
当用户选择一个iflying字样的AP时会弹出一个AP参数配置对话框,此对话框会显示当前选择的AP信号强度,并触发一个点击事件,移动终端软件会向***服务器发送所连接路由器的Mac地址和广域网地址信息,***服务器通过路由器Mac地址查询数据库获得WiFi提供者在注册阶段提交到数据库的WiFi密码,服务器通过密文形式发送给WiFi使用者WiFi密码,WifiSettings中的onPreferenceTreeClick会被调用,用户配置好之后点击连接按钮,onClick函数会被调用;
移动终端WiFi连接流程具体包括:
第一步,连接请求
Settings的connect函数响应连接,更新网络保存配置,更新设置当前选择的优先级最高,并保存,然后通过enableNetwork使得其他网络不可用来进行连接,最后调用WifiManager的reconnect函数连接当前选择的网络;
WifiManager的reconnect函数通过AIDL的Binder机制,调用WifiService的reconnect函数;
然后会调用WifiStateTracker的reconnectCommand函数,通过JNI(android_net_wifi_Wifi)的android_net_wifi_reconnectCommand函数向WPA_WPASUPPLICANT发送RECONNECT命令;
android_net_wifi_Wifi通过doCommand调用wifi.c中的wifi_command函数来发送命令;
最后通过wpa_ctrl的wpa_ctrl_request函数向控制通道发送连接命令;
第二步,返回请求
当连接上之后WPA_SUPPLICANT会向控制通道发送连接成功命令,wifi.c的wifi_wait_for_event函数阻塞调用并返回这个命令的字符串;
而后WifiMonitor会被执行来处理这个事件,WifiMonitor再调用WifiStateTracker的notifyStateChange,WifiStateTracker则接着会往自身发送EVENT_DHCP_START消息来启动DHCP去获取IP地址,然后广播NETWORK_STATE_CHANGED_ACTION消息,最后由WifiSettings类来响应,改变状态和界面信息;
wpa_supplicant用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket与驱动交互上报数据给用户,而用户通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。
CN201510109765.3A 2015-03-13 2015-03-13 WiFi共享*** Expired - Fee Related CN104702608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510109765.3A CN104702608B (zh) 2015-03-13 2015-03-13 WiFi共享***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510109765.3A CN104702608B (zh) 2015-03-13 2015-03-13 WiFi共享***

Publications (2)

Publication Number Publication Date
CN104702608A CN104702608A (zh) 2015-06-10
CN104702608B true CN104702608B (zh) 2018-04-06

Family

ID=53349377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510109765.3A Expired - Fee Related CN104702608B (zh) 2015-03-13 2015-03-13 WiFi共享***

Country Status (1)

Country Link
CN (1) CN104702608B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069669A (zh) * 2015-07-01 2015-11-18 陆洋 一种基于WiFi的流量交易方法和***
CN105187315A (zh) * 2015-08-03 2015-12-23 深圳奇沃智联科技有限公司 具备4G及Wi-Fi功能的路由器
CN104994118A (zh) * 2015-08-11 2015-10-21 吴培希 一种基于动态密码的WiFi认证***及方法
CN105873122A (zh) * 2015-12-02 2016-08-17 乐视致新电子科技(天津)有限公司 无线路由器WiFi信号强度显示方法及装置、无线路由器
CN106658358A (zh) * 2016-09-30 2017-05-10 宇龙计算机通信科技(深圳)有限公司 一种共享网络的方法、装置和终端
CN106603526B (zh) * 2016-12-07 2020-03-24 Oppo广东移动通信有限公司 WiFi/热点的开启方法及装置
CN106686627B (zh) * 2016-12-07 2020-01-14 Oppo广东移动通信有限公司 WiFi/热点的开启方法及装置
CN106879045A (zh) * 2017-01-25 2017-06-20 成都众网行科技有限公司 无线网络访问用户筛选装置与方法
CN106936604A (zh) * 2017-03-10 2017-07-07 南京航空航天大学 一种移动设备共享网络流量***及其方法
CN107241708A (zh) * 2017-05-25 2017-10-10 武汉爱哦科技有限公司 一种全城互通WiFi共享***
CN107635203A (zh) * 2017-09-22 2018-01-26 北京小米移动软件有限公司 接入无线网的认证方法和装置
CN109905853A (zh) * 2017-12-10 2019-06-18 成都弥新科技有限公司 一种太阳能智能路灯间的wifi辐射***
CN108966311B (zh) * 2018-07-19 2021-01-26 广东工业大学 一种路由器、终端及网络共享方法、网络记录方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238548A (zh) * 2011-08-09 2011-11-09 陈佳阳 内外网分离架构的无线路由器及其共享无线网络的方法
CN102710634A (zh) * 2012-05-29 2012-10-03 刘乃安 智慧wifi分享***
CN103874092A (zh) * 2014-04-04 2014-06-18 周隽 基于互联网通过移动终端远程管理私有网络进行主动分享的方案及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140220806A1 (en) * 2013-02-04 2014-08-07 Cho-Liang Liang Portable plug adapter with wireless transceiver module

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238548A (zh) * 2011-08-09 2011-11-09 陈佳阳 内外网分离架构的无线路由器及其共享无线网络的方法
CN102710634A (zh) * 2012-05-29 2012-10-03 刘乃安 智慧wifi分享***
CN103874092A (zh) * 2014-04-04 2014-06-18 周隽 基于互联网通过移动终端远程管理私有网络进行主动分享的方案及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android中WIFI原理及流程分析;佚名;《www.360doc.com/content/12/0326/17/8157643_198010646.shtml》;20120326;全文 *
共享WIFI***设计与实现;熊少英;《中国优秀硕士学位论文》;20130315;正文第2.6节,第2.5.1-2.5.2节,图2.21 *

Also Published As

Publication number Publication date
CN104702608A (zh) 2015-06-10

Similar Documents

Publication Publication Date Title
CN104702608B (zh) WiFi共享***
US10805797B2 (en) Enabling secured wireless access using user-specific access credential for secure SSID
US9237154B2 (en) Secure and automatic connection to wireless network
CN102625310B (zh) 无线网络接入方法、认证方法和装置
US8495195B1 (en) Cookie preservation when switching devices
EP2936881B1 (en) Connecting to a wireless network using social network identifier
CN107615799A (zh) 网络中个体会话的准入
US20090109941A1 (en) Wireless access systems
EP2846586B1 (en) A method of accessing a network securely from a personal device, a corporate server and an access point
US7801517B2 (en) Methods, systems, and computer program products for implementing a roaming controlled wireless network and services
US20080207167A1 (en) System and method for remotely managing wireless devices
MX2012000268A (es) Metodos y aparatos para registrar con redes externas en entornos de redes inalambricas.
CN103476093B (zh) 用于促进不同类型的无线网络的通信的方法和装置
CN102685804A (zh) Wlan中wi-fi接入点装置的智能负载平衡方法和***
JP2007180998A (ja) 無線網制御装置及び無線網制御システム
KR20140125395A (ko) 소셜 핫스팟
KR20120064916A (ko) 전화번호를 이용한 홈 네트워크 접근 제어 장치 및 그 방법과 그 시스템
CN102685750A (zh) 无线网络接入方法、设备和无线网络***
US8689303B1 (en) Cookie-handling gateway
CN102427610A (zh) 内置用户管理功能的无线路由器、***及其组网方法
CN106982430B (zh) 一种基于用户使用习惯的Portal认证方法及***
CN105227592B (zh) 一种互联网架构及实现方法
JP6155237B2 (ja) ネットワークシステムとその端末登録方法
JP5319016B2 (ja) ローカルネットワークの構成を提供するためのシステム及び方法
KR101916342B1 (ko) Ap를 활용한 위치기반 마케팅 정보 서비스 시스템 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180406

Termination date: 20200313

CF01 Termination of patent right due to non-payment of annual fee