从无线局域网内终端向网外设备发送数据的方法和装置与流程

文档序号:13744457阅读:496来源:国知局

本发明涉及网络技术领域,特别是涉及一种从无线局域网内终端向网外设备发送数据的方法和装置,以及涉及一种接收从无线局域网内终端向网外设备发送的数据的方法和装置。



背景技术:

无线局域网(WirelessLocalAreaNetworks;WLAN)利用无线技术在空中传输数据、话音和视频信号。作为传统布线网络的一种替代方案或延伸,无线局域网把用户从固定位置解放了出来,使得用户在无线局域网覆盖范围内可以随时随地获取信息。

无线访问接入点(AccessPoint,AP)是目前组建小型无线局域网时最常用的设备。无线访问接入点承担着连接有线网和无线网的桥梁的角色,并将各个无线网络终端(无线终端,又可称为无线工作站)连接到一起。接入无线局域网的无线终端在无线访问接入点覆盖范围内可以通过无线访问接入点进行通信。

每一个无线局域网都具有自己的服务集标识(SSID,ServiceSetIdentifier),即相当于无线局域网的名字。无线终端需要将自身的无线网卡设置为相应无线局域网的SSID,才能接入该无线局域网。若该无线局域网具有接入密码,则无线终端还需要向该无线局域网的无线访问接入点发送该接入密码以便于无线访问接入点对无线终端进行身份验证,身份验证通过后,无线终端才能接入该无线局域网。

基于数据安全方面的考虑,无线局域网内的无线终端之间相互通信过程中具有加密机制以及相应的解密机制,从而无线局域网外的设备即使捕获到无线局域网内的无线终端发送的数据包,也无法准确识别出其中所包含的信息内容。



技术实现要素:

基于此,有必要提供一种从无线局域网内终端向网外设备发送数据的方法和一种从无线局域网内终端向网外设备发送数据的装置,使得无线局域网外的设备可准确识别出无线局域网内的终端发送的数据。

此外,还有必要提供一种接收从无线局域网内终端向网外设备发送的数据的方法和一种接收从无线局域网内终端向网外设备发送的数据的装置,使得无线局域网外的设备可准确识别出无线局域网内的终端发送的数据。

一种从无线局域网内终端向网外设备发送数据的方法,包括以下步骤:

所述终端获取需要发送的目标字符串;

所述终端以所述目标字符串作为解密对象,以所述无线局域网的接入密码为解密密钥,按照所述无线局域网的解密算法对所述目标字符串进行处理,所述解密算法为所述无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法,得到目标字符串的接入密码密文;

所述终端生成包体封装了所述目标字符串的接入密码密文的IP数据包,该IP数据包为广播IP数据包或组播IP数据包;

所述终端通过自身内置的无线网卡将所述IP数据包发送给所述无线局域网的无线访问接入点,通过所述无线访问接入点以无线电波信号为载体发送所述IP数据包,以使得无线网卡处于监听模式下的所述设备可以捕获到所述IP数据包。

一种接收无线局域网内终端向网外设备发送的数据的方法,包括以下步骤:

所述设备通过处于监听模式下的无线网卡捕获所述无线局域网的无线访问接入点发送的IP数据包,所述无线访问接入点发送的IP数据包中包含包体以明文形式封装了所述终端需要向所述设备发送的目标字符串的IP数据包;

所述设备提取所述IP数据包的包体所封装的数据;

所述设备根据所述目标字符串的用途使用所述提取的数据,以验证所述提取的数据是否为所述目标字符串。

一种从无线局域网内终端向网外设备发送数据的装置,包括:

字符串获取模块,用于获取需要发送的目标字符串;

接入密码密文获取模块,用于以所述目标字符串作为解密对象,以所述无线局域网的接入密码为解密密钥,按照所述无线局域网的解密算法对所述目标字符串进行处理,所述解密算法为所述无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法,得到目标字符串的接入密码密文;

IP数据包构造模块,用于生成包体封装了所述目标字符串的接入密码密文的IP数据包,该IP数据包为广播IP数据包或组播IP数据包;

数据包发送模块,用于通过所述终端内置的无线网卡将所述IP数据包发送给所述无线局域网的无线访问接入点,通过所述无线访问接入点以无线电波信号为载体发送所述IP数据包,以使得无线网卡处于监听模式下的所述设备可以捕获到所述IP数据包。

一种接收无线局域网内终端向网外设备发送的数据的装置,包括:

数据包获取模块,用于通过处于监听模式下的无线网卡捕获所述无线局域网的无线访问接入点发送的IP数据包,所述无线访问接入点发送的IP数据包中包含包体以明文形式封装了所述终端需要向所述设备发送的目标字符串的IP数据包;

数据提取模块,用于提取所述IP数据包的包体所封装的数据;

数据使用模块,用于根据所述目标字符串的用途使用所述提取的数据,以验证所述提取的数据是否为所述目标字符串。

由于无线局域网内的数据通信过程中,发送方无线网卡发送IP数据包之前,会以无线局域网的接入密码为加密密钥,按照一定的加密算法对IP数据包的包体进行加密,而接收方无线网卡接收到IP数据包之后,可以无线局域网的接入密码为解密密钥,按照作为该加密算法的逆算法的解密算法对IP数据包的包体进行解密;

因此,基于上述从无线局域网内终端向网外设备发送数据的方法和装置,终端以目标字符串作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法对目标字符串进行处理,得到目标字符串的接入密码密文;并进一步将目标字符串的接入密码密文封装在IP数据包的包体中;终端的无线网卡在发送IP数据包之前,会以无线局域网的接入密码为加密密钥,对IP数据包的包体按照该加密算法进行加密,从而相当于将IP数据包中的目标字符串的接入码密文还原为目标字符串,因此终端向无线访问接入点发送的IP数据包包体中包含了目标字符串明文,使得无线局域网外的设备捕获到该IP数据包即可准确识别出目标字符串。

由于无线访问接入点发送的IP数据包中包含包体以明文形式封装了无线局域网内终端需要向无线局域网外设备发送的目标字符串对应的IP数据包,基于上述接收无线局域网内终端向网外设备发送的数据的方法和装置,设备通过处于监听模式的无线网卡捕获无线访问接入点发送的IP数据包,以及提取其包体所封装的数据,并直接根据目标字符串的用途使用提取的数据以验证提取的数据是否为目标字符串,若能达到预期的使用效果,则说明提取的数据即为目标字符串,因此,上述接收无线局域网内终端向网外设备发送的数据的方法和装置可使得无线局域网外的设备准确地识别出无线局域网内的终端向其发送的目标字符串。

附图说明

图1A为一个实施例中本发明的从无线局域网内终端向网外设备发送数据的方法和接收从无线局域网内终端向网外设备发送的数据的方法的运行环境示意图;

图1B为一个实施例中图1A的终端102的内部结构示意图;

图1C为一个实施例中图1A的设备106的内部结构示意图;

图2为一个实施例中的从无线局域网内终端向网外设备发送数据的方法的流程示意图;

图3为一个实施例中的从无线局域网内终端向网外设备发送数据的方法的流程示意图;

图4为一个实施例中的接收从无线局域网内终端向网外设备发送的数据的方法的流程示意图;

图5为一个实施例中的从无线局域网内终端向网外设备发送数据的装置的结构示意图;

图6为一个实施例中的接收从无线局域网内终端向网外设备发送的数据的装置的结构示意图。

图7为一个实施例中的接收从无线局域网内终端向网外设备发送的数据的装置的结构示意图;

图8为一个实施例中的接收从无线局域网内终端向网外设备发送的数据的装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1A为一个实施例中本发明的从无线局域网内终端向网外设备发送数据的方法和接收从无线局域网内终端向网外设备发送的数据的方法的运行环境示意图。

本发明所述的无线局域网内的终端指的是已接入无线局域网即已与无线局域网的无线访问接入点建立通信连接的终端;而无线局域网外的设备则指的是尚未接入无线局域网的设备。本发明所述的无线访问接入点可为无线路由器。

图1A中的终端102与无线局域网的无线访问接入点104已建立通信连接,设备106尚未与无线访问接入点104建立通信连接。

如图1A所示,终端102获取需要发送的目标字符串,生成目标字符串对应的IP数据包,将IP数据包发送给无线访问接入点104。无线访问接入点104广播该IP数据包,设备106的通过处于监听模式下的无线网卡捕获该IP数据包,并从IP数据包中解析出目标字符串信息。

本发明所述的终端(包括图1A所示的终端102)可为手机、笔记本电脑、平板电脑等任意可与用户进行交互且可接入无线局域网络的智能用户终端。在一个实施例中,终端102的内部结构如图1B所示,该终端102包括通过系统总线连接的处理器、存储介质、内存、网络接口、显示屏幕和输入机构。终端102的输入机构根据用户操作触发相关指令,用户终端102的显示屏幕则将相关的信息展示给用户。终端102通过其网络接口与无线访问接入点104进行通信。终端102的存储介质中存储用于实现本发明的从无线局域网内终端向网外设备发送数据的方法的软件指令,终端102的处理器执行这些指令以实现本发明从无线局域网内终端向网外设备发送数据的方法。

本发明所述的无线访问接入点(包括图1A所示的终端102)可为无线路由器等。

本发明所述的设备(包括图1A中的设备106)可为电视机、摄像头、打印机、智能灯、智能开头等任意的可接入无线局域网的设备。在一个实施例中,图1A中的设备106的内部结构如图1C所示,该设备106包括控制芯片、工作功能机构、无线网卡和存储介质。其中,控制芯片协调控制工作功能机构、无线网卡和存储介质的工作,工作功能机构用于实现设备104的基本功能,例如摄像头的工作功能机构至少具有捕捉影像的功能等;无线网卡具有监听模式和普通模式,在监听模式下无线网卡可捕获附近的无线访问接入点发送的所有IP数据包并且不过滤任何IP数据包,在普通模式下,无线网卡过滤掉捕获的IP数据包中不是发送给自己的IP数据包;存储介质中存储用于实现本发明的接收从无线局域网内终端向网外设备发送的数据的方法的软件指令,控制芯片执行这些指令以实现本发明接收从无线局域网内终端向网外设备发送的数据的方法。

如图2所示,在一个实施例中,一种从无线局域网内终端向网外设备发送数据的方法,包括以下步骤:

步骤S202,终端获取需要发送的目标字符串。

目标字符串为预先约定的终端需要向设备发送的字符串;目标字符串的内容可以预先任意设定。在一个实施例中,目标字符串包含无线局域网的服务集标识(SSID)和接入密码,以使得设备获取到服务集标识和接入密码后可接入无线局域网。

在步骤S202之前,上述的从无线局域网内终端向网外设备发送数据的方法还包括步骤:终端获取当前接入的无线局域网的接入密码。在一个实施例中,终端可展示用于输入终端当前接入的无线局域网的接入密码的界面,并获取用户通过该界面输入的接入密码。

进一步的在步骤S202中,终端可获取当前接入的无线局域网的SSID,并将该SSID与当前接入的无线局域网的接入密码按照预设格式组合成目标字符串。例如,SSID为REXCHANG,接入密码为123,可将SSID和接入密码组合成目标字符串:REXCHANG|123。

步骤S204,终端以目标字符串作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的解密算法对目标字符串进行处理,该解密算法为无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法,得到目标字符串的接入密码密文。

目前常见的路由器支持的对称加密算法有三种:WPA-PSK/WPA2-PSK、WPA/WPA2、WEP。在Android(一种基于Linux的自由及开放源代码的主要使用于移动设备操作系统)操作系统中,可通过系统API(例如,android.net.wifi)获取无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法,在ios系统(由苹果公司开发的移动操作系统)中,可通过用户输入的加密算法信息来确定无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法。

步骤S206,终端生成包体封装了目标字符串的接入密码密文的IP数据包,该IP数据包为广播IP数据包或组播IP数据包。

IP数据包是数据在互联网上传输的最小单元,由包头和包体组成,其中,包头具有固定长度,包括校验信息、源地址、目标地址等,包体则包括所承载的具体数据。

IP数据包的目标地址为目标接收方的IP地址,通常可用“点分十进制”表示成由句点分隔的4个0~255之间的十进制整数串的形式,例如,100.4.5.6;其中,各个整数对应目标地址的一段,第一整数对应第一段,第二个整数对应第二段,依次类推。

在无线局域网中,由于无线访问接入点以无线电波的形式传播数据,因此只要是无线访问接入点向外辐射承载IP数据包的无线电波,即相当于广播IP数据包。广播IP数据包为目标接收方是局域网内所有工作站的IP数据包,组播IP数据包目标接收方是局域网内与发送方属于同一组的其它工作站的IP数据包。无线访问接入点接收到广播IP数据包或组播IP数据包之后,会广播接收到的广播IP数据包或组播IP数据包。本发明中将包体封装了目标字符串的接入密码密文的IP数据包(简称为目标字符串对应的IP数据包)设置成广播IP数据包或组播IP数据包,目的在于使得无线访问接入点在接收到该IP数据包后,会广播该IP数据包。

在一个实施例中,由于广播IP数据包的目标地址为255.255.255.255,因此步骤S206中,终端可将目标字符串对应的IP数据包的目标地址设置为255.255.255.255,以使得目标字符串对应的IP数据包为广播IP数据包。

在另一个实施例中,步骤S206中,终端可按照组播IP数据包的目标地址的特征设置目标字符串对应的IP数据包的目标地址,以使得目标字符串对应的IP数据包为组播IP数据包。

在一个实施例中,目标字符串对应的IP数据包的目标地址的第一段被设置为表示该IP数据包为组播IP数据包,IP数据包的目标地址的后三段被设置成符合预设条件以表示该IP数据包为目标字符串对应的IP数据包。

组播IP数据包的目标地址的第一段(数字)一般位于224~239范围内,根据IEEE802.11(现今无线局域网通用的标准,它是由国际电机电子工程学会(IEEE)所定义的无线网络通信的标准),目标地址的第一段(数字)为239、后三段为任意0~255的数字的IP数据包都为组播IP数据包。若将目标字符串对应的IP地址的目标地址的第一段(数字)设置为239,不但可使该IP数据包成为组播IP数据包,而且还使得该IP数据包的目标地址的后三段可用于承载指定信息。

例如,步骤S206中,终端可将目标字符串对应的IP数据包的目标地址设置为239.0.0.0等形式,其中第一段为239、后三段符合预设条件。

本实施例中,目标字符串对应的IP数据包的目标地址的第一段被设置为表示该IP数据包为组播IP数据包,IP数据包的目标地址的后三段被设置成符合预设条件以表示该IP数据包为目标字符串对应的IP数据包,设备捕获到IP数据包后,由于IP数据包的包头在通信过程中不会被加密,设备可直接验证IP数据包的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包,而不是针对捕获到的所有IP数据包,都需要根据目标字符串的用途使用从IP数据包包体中提取的数据来验证所提取的数据是否为目标字符串,由于后一验证过程可能较为复杂,因此本实施例可简化处理过程。

步骤S208,终端通过自身内置的无线网卡将IP数据包发送给无线局域网的无线访问接入点,通过无线访问接入点以无线电波信号为载体发送IP数据包,以使得无线网卡处于监听模式下的设备可以捕获到IP数据包。

由于无线局域网内的数据通信过程中,发送方无线网卡发送IP数据包之前,会以无线局域网的接入密码为加密密钥,按照一定的加密算法对IP数据包的包体进行加密,而接收方无线网卡接收到IP数据包之后,可以无线局域网的接入密码为解密密钥,按照作为该加密算法的逆算法的解密算法对IP数据包的包体进行解密;

因此,基于上述从无线局域网内终端向网外设备发送数据的方法,终端以目标字符串作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法对目标字符串进行处理,得到目标字符串的接入密码密文;并进一步将目标字符串的接入密码密文封装在IP数据包的包体中;终端的无线网卡在发送IP数据包之前,会以无线局域网的接入密码为加密密钥,对IP数据包的包体按照该加密算法进行加密,从而相当于将IP数据包中的目标字符串的接入码密文还原为目标字符串,因此终端向无线访问接入点发送的IP数据包包体中包含了目标字符串明文,使得无线局域网外的设备捕获到该IP数据包即可准确识别出目标字符串。

在一个实施例中,上述从无线局域网内终端向网外设备发送数据的方法还包括步骤:终端获取设备的物理标识码,以物理标识码为加密密钥对目标字符串进行加密,得到目标字符串的物理标识码密文;本实施例中,终端按照无线局域网的解密算法对目标字符串的物理标识码密文进行处理,得到目标字符串的接入密码密文。图3示出了本实施例中的从无线局域网内终端向网外设备发送数据的方法的一种执行流程。如图3所示,本实施例中的从无线局域网内终端向网外设备发送数据的方法包括以下步骤:

步骤S302,终端获取需要发送的目标字符串。

步骤S303,终端获取设备的物理标识码,以物理标识码为加密密钥对目标字符串进行加密,得到目标字符串的物理标识码密文。

物理标识码为可唯一标识设备的序列号,可在设备出厂前被确定,任意两个设备的物理标识码都不相同。

在一个实施例中,终端可展示用于输入设备的物理标识码的界面,并获取用户通过该界面输入的设备的物理标识码。在另一个实施例中,设备的物理标识码对应的二维码可印制于设备机体所附的标签上,终端通过扫描装置扫描得到设备的物理标识码。

步骤S304,终端以目标字符串的物理标识码密文作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的解密算法对目标字符串的物理标识码密文进行处理,该解密算法为无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法,得到目标字符串的接入密码密文。

步骤S306,终端生成包体封装了目标字符串的接入密码密文的IP数据包,该IP数据包为广播IP数据包或组播IP数据包。

步骤S308,终端通过自身内置的无线网卡将IP数据包发送给无线局域网的无线访问接入点,通过无线访问接入点以无线电波信号为载体发送IP数据包,以使得无线网卡处于监听模式下的设备可以捕获到IP数据包。

本实施例中,终端获取设备的物理标识码,以物理标识码为加密密钥对目标字符串进行加密,得到目标字符串的物理标识码密文,然后再以目标字符串的物理标识码密文作为解密对象,得到目标字符串的接入密码密文,从而使得终端向无线访问接入点发送的IP数据包包体中包含的是目标字符串的物理标识码密文,而不是目标字符串明文。设备获取到目标字符串的物理标识码密文后,可根据其物理标识码对目标字符串的物理标识码密文进行解码,从而还原目标字符串;不知道作为加密密钥的物理标识码的接收方则无法还原得到目标字符串;因此,本实施例提高了数据传输的安全性。

在一个实施例中,上述的目标字符串还包含终端在无线局域网中的IP地址以及通信端口号,以使得设备接入无线局域网后可向终端发送数据包。终端可在由无线局域网的SSID和接入密码组合成目标字符串中添加终端在无线局域网中的IP地址以及通信端口号。例如,终端在无线局域网中的IP地址为192.168.1.102,通信端口号为8080,以上述的目标字符串“REXCHANG|123”为基础,可将192.168.1.102和8080按照预设组织形式添加到该目标字符串中,形成最终的目标字符串:REXCHANG|123|192.168.1.102|8080。

上述的从无线局域网内终端向网外设备发送数据的方法还包括以下步骤:终端循环发送目标字符串对应的IP数据包,直到接收到设备发送的表示设备已成功接收数据的回馈数据包。

若终端在没有收到回馈数据包就停止发送目标字符串对应的IP数据包,则设备有可能由于IP数据包丢失、损坏或设备短暂故障等原因而导致接收不到目标字符串对应的IP数据包。而本实施例循环发送目标字符串对应的IP数据包,直到接收到设备发送的表示设备已成功接收数据的回馈数据包,可确保设备成功接收到目标字符串对应的IP数据包。

如图4所示,一种接收无线局域网内终端向网外设备发送的数据的方法,包括以下步骤:

步骤S402,设备通过处于监听模式下的无线网卡捕获无线局域网的无线访问接入点发送的IP数据包,发送的IP数据包中包含包体以明文形式封装了终端需要向设备发送的目标字符串对应的IP数据包。

现今的无线通信协议规定了针对无线局域网通信的14个信道,无线访问接入点有可能工作在该14个信道中的任意一个信道,因此,为了捕获无线访问接入点发送的IP数据包,设备将其无线网卡所监听的信道每间隔预设时长调整一次,直到设备获取到目标字符串对应的IP数据包。

在一个实施例中,在进入步骤S404之前,上述的接收无线局域网内终端向网外设备发送的数据的方法还包括步骤:设备检验捕获到的IP数据包的目标地址的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包,若是,则进入步骤S404,否则,设备丢弃该IP数据包。

本实施例中,目标字符串对应的IP数据包的目标地址的后三段被约定为符合预设条件。例如,目标字符串对应的IP数据包的目标地址的后三段都为0。设备可检验捕获到的IP数据包的目标地址的后三段是否都为0,若是,则确定该IP数据包为目标字符串对应的IP数据包,以及进入步骤S404。

本实施例中,目标字符串对应的IP数据包的目标地址的后三段被设置成符合预设条件,设备捕获到IP数据包后,由于IP数据包的包头在通信过程中不会被加密,设备可直接验证IP数据包的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包,而不是针对捕获到的所有IP数据包,都需要根据目标字符串的用途使用从IP数据包包体中提取的数据来验证所提取的数据是否为目标字符串,由于后一验证过程可能较为复杂,因此本实施例可简化处理过程。

步骤S404,设备提取IP数据包的包体所封装的数据。

步骤S406,设备根据目标字符串的用途使用提取的数据,以验证提取的数据是否为目标字符串。若对所提取的数据的使用能达到预期的使用效果,则说明所提取的数据即为目标字符串。

在一个实施例中,目标字符串包含无线局域网的服务集标识和接入密码;无线局域网的服务集标识和接入密码用于接入该无线局域网。

在一个实施例中,目标字符串由无线局域网的服务集标识和接入密码按照预设格式组合而成。在步骤S406中,设备可按照该预设格式从目标字符串中提取服务集标识和接入密码,根据服务集标识和接入密码尝试连接服务集标识对应的无线局域网,若成功接入到服务集标识对应的无线局域网,则说明从捕获的IP数据包包体中提取的数据即为目标字符串。

在一个实施例中,目标字符串还包含发送目标字符中对应的IP数据包的终端在无线局域网中的IP地址以及该通信端口号;本实施例中,上述接收无线局域网内终端向网外设备发送的数据的方法还包括步骤:设备在成功接入目标字符串包含的服务集标识对应的无线局域网后,根据目标字符串中包含的IP地址和通信端口号向终端发送表示设备已成功接收数据的回馈数据包。从而可使得终端不再重复发送目标字符串对应的IP数据包。

在一个实施例中,目标字符串对应的IP数据包的包体所封装的数据以设备的物理标识码作为加密密钥进行过加密。上述接收无线局域网内终端向网外设备发送的数据的方法还包括步骤:在提取IP数据包的包体所封装的数据之后,设备以设备的物理标识码为解密密钥对提取的数据进行解密。

设备可采用与加密过程所采用的加密算法相逆的解密算法、以设备的物理标识码为解密密钥对提取的数据进行解密。

目标字符串对应的IP数据包的包体所封装的数据以设备的物理标识码作为加密密钥进行过加密,不知道作为加密密钥的物理标识码的接收方则无法还原得到目标字符串;因此,本实施例提高了数据传输的安全性。

由于无线访问接入点发送的IP数据包中包含包体以明文形式封装了无线局域网内终端需要向无线局域网外设备发送的目标字符串对应的IP数据包,基于上述接收无线局域网内终端向网外设备发送的数据的方法,设备通过处于监听模式的无线网卡捕获无线访问接入点发送的IP数据包,以及提取其包体所封装的数据,并直接根据目标字符串的用途使用提取的数据以验证提取的数据是否为目标字符串,若能达到预期的使用效果,则说明提取的数据即为目标字符串,因此,上述接收无线局域网内终端向网外设备发送的数据的方法可使得无线局域网外的设备准确地识别出无线局域网内的终端向其发送的目标字符串。

以下结合一个具体的应用场景来说明上述的从无线局域网内终端向网外设备发送数据的方法和接收无线局域网内终端向网外设备发送的数据的方法。在该应用场景中,无线局域网内的一终端需要向无线局域网外的一设备发送目标字符串。在该应用场景中:

(1)终端获取无线局域网的SSID和接入密码,以及获取自身在无线局域网中的IP地址和通信端口号,按照预设的组织形式将无线局域网的SSID和接入密码以及该终端在无线局域网中的IP地址和通信端口号组合成目标字符串。

例如,无线局域网的SSID为:REXCHANG,接入密码分别:123;终端在无线局域网中的IP地址为192.168.1.102,通信端口号为8080,REXCHANG|123|192.168.1.102|8080;则可组合得到目标字符串:REXCHANG|123|192.168.1.102|8080。

(2)终端获取设备的物理标识码,以物理标识码为加密密钥对目标字符串进行加密,得到目标字符串的物理标识码密文。

记目标字符串“REXCHANG|123|192.168.1.102|8080”的物理标识密文为“AAAAAA”。

(3)终端以目标字符串的物理标识码密文作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的解密算法对目标字符串的物理标识码密文进行处理,该解密算法为无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法,得到目标字符串的接入密码密文。

记根据目标字符串的物理标识密文“AAAAAA”得到的目标字符串的接入密码密文为“BBBBBB”。

(4)终端生成目标字符串对应的IP数据包,该IP数据包的包体中封装目标字符串的接入密码密文,该IP数据包的目标地址的第一段被设置为表示该IP数据包为组播IP数据包,该IP数据包的目标地址的后三段被设置成符合预设条件以表示该IP数据包为目标字符串对应的IP数据包。

例如,目标字符串对应的IP数据包的目标地址被设置为239.0.0.0。

(5)终端通过自身内置的无线网卡将IP数据包发送给无线局域网的无线访问接入点,通过无线访问接入点以无线电波信号为载体发送IP数据包,以使得无线网卡处于监听模式下的设备可以捕获到IP数据包;且终端控制无线网卡循环发送目标字符串对应的IP数据包,直到接收到设备发送的表示设备已成功接收数据的回馈数据包。

(6)设备将其无线网卡所监听的信道每间隔预设时长调整一次,通过处于监听模式下的无线网卡捕获无线局域网的无线访问接入点发送的IP数据包。

(7)设备检验捕获到的IP数据包的目标地址的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包;例如,设备可检验捕获到的IP数据包的目标地址的后三段是否都为0;若是,则进入以下步骤(8),否则,设备丢弃该IP数据包。

(8)设备提取IP数据包的包体所封装的数据,以设备的物理标识码为解密密钥,采用与步骤(2)中加密过程所采用的加密算法相逆的解密算法,对提取的数据进行解密。

沿用上述的示例,设备将包体所封装的数据“AAAAAA”转换成“REXCHANG|123|192.168.1.102|8080”,即目标字符串。

(9)设备根据预设的目标字符串的组织形式从目标字符串中提取无线局域网的服务集标识和接入密码、以及终端在无线局域网中的IP地址以及该通信端口号,根据服务集标识和接入密码尝试连接无线局域网;设备在成功接入无线局域网后,根据终端在无线局域网中的IP地址和通信端口号向终端发送表示设备已成功接收数据的回馈数据包。

本发明还提供一种终端,该终端用于执行上述任一实施例中的从无线局域网内终端向网外设备发送数据的方法。

本发明还提供一种设备,该设备用于执行上述任一实施例中的接收从无线局域网内终端向网外设备发送的数据的方法。

如图5所示,在一个实施例中,一种从无线局域网内终端向网外设备发送数据的装置,该装置位于该终端,包括:字符串获取模块502、接入密码密文获取模块504、IP数据包构造模块506和数据包发送模块508,其中:

字符串获取模块502用于获取需要发送的目标字符串。

目标字符串为预先约定的终端需要向设备发送的字符串;目标字符串的内容可以预先任意设定。

在一个实施例中,目标字符串包含无线局域网的服务集标识(SSID)和接入密码,以使得设备获取到服务集标识和接入密码后可接入无线局域网。

在一个实施例中,上述从无线局域网内终端向网外设备发送数据的装置还包括接入密码获取模块(图中未求出),用于获取当前接入的无线局域网的接入密码。在一个实施例中,接入密码获取模块可获取用户通过界面输入的接入密码,该界面用于输入终端当前接入的无线局域网的接入密码。

进一步的字符串获取模块502可获取终端当前接入的无线局域网的SSID,并将该SSID与当前接入的无线局域网的接入密码按照预设格式组合成目标字符串。例如,SSID为REXCHANG,接入密码为123,可将SSID和接入密码组合成目标字符串:REXCHANG|123。

接入密码密文获取模块504用于以目标字符串作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的解密算法对目标字符串进行处理,该解密算法为无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法,得到目标字符串的接入密码密文。

在一个实施例中,若上述从无线局域网内终端向网外设备发送数据的装置基于Android操作系统,则接入密码密文获取模块504可通过系统API(例如,android.net.wifi)获取无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法;若上述从无线局域网内终端向网外设备发送数据的装置基于ios系统中,则接入密码密文获取模块504可通过用户输入的加密算法信息来确定无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法。

IP数据包构造模块506用于生成包体封装了目标字符串的接入密码密文的IP数据包,该IP数据包为广播IP数据包或组播IP数据包。

本发明中将包体封装了目标字符串的接入密码密文的IP数据包(简称为目标字符串对应的IP数据包)设置成广播IP数据包或组播IP数据包,目的在于使得无线访问接入点在接收到该IP数据包后,会广播该IP数据包。

在一个实施例中,由于广播IP数据包的目标地址为255.255.255.255,因此IP数据包构造模块506可将目标字符串对应的IP数据包的目标地址设置为255.255.255.255,以使得目标字符串对应的IP数据包为广播IP数据包。

在另一个实施例中,IP数据包构造模块506可按照组播IP数据包的目标地址的特征设置目标字符串对应的IP数据包的目标地址,以使得目标字符串对应的IP数据包为组播IP数据包。

例如,在一个实施例中,目标字符串对应的IP数据包的目标地址的第一段被设置为表示该IP数据包为组播IP数据包,IP数据包的目标地址的后三段被设置成符合预设条件以表示该IP数据包为目标字符串对应的IP数据包。

例如,IP数据包构造模块506可将目标字符串对应的IP数据包的目标地址设置为239.0.0.0等形式,其中第一段为239、后三段符合预设条件。

本实施例中,目标字符串对应的IP数据包的目标地址的第一段被设置为表示该IP数据包为组播IP数据包,IP数据包的目标地址的后三段被设置成符合预设条件以表示该IP数据包为目标字符串对应的IP数据包,设备捕获到IP数据包后,由于IP数据包的包头在通信过程中不会被加密,设备可直接验证IP数据包的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包,而不是针对捕获到的所有IP数据包,都需要根据目标字符串的用途使用从IP数据包包体中提取的数据来验证所提取的数据是否为目标字符串,由于后一验证过程可能较为复杂,因此本实施例可简化处理过程。

数据包发送模块508用于通过终端内置的无线网卡将IP数据包发送给无线局域网的无线访问接入点,通过无线访问接入点以无线电波信号为载体发送IP数据包,以使得无线网卡处于监听模式下的设备可以捕获到IP数据包。

由于无线局域网内的数据通信过程中,发送方无线网卡发送IP数据包之前,会以无线局域网的接入密码为加密密钥,按照一定的加密算法对IP数据包的包体进行加密,而接收方无线网卡接收到IP数据包之后,可以无线局域网的接入密码为解密密钥,按照作为该加密算法的逆算法的解密算法对IP数据包的包体进行解密;

因此,基于上述从无线局域网内终端向网外设备发送数据的装置,终端可以目标字符串作为解密对象,以无线局域网的接入密码为解密密钥,按照无线局域网的数据通信过程中发送方的无线网卡在发送数据前对数据进行加密时所采用的加密算法的逆算法对目标字符串进行处理,得到目标字符串的接入密码密文;并进一步将目标字符串的接入密码密文封装在IP数据包的包体中;终端的无线网卡在发送IP数据包之前,会以无线局域网的接入密码为加密密钥,对IP数据包的包体按照该加密算法进行加密,从而相当于将IP数据包中的目标字符串的接入码密文还原为目标字符串,因此终端向无线访问接入点发送的IP数据包包体中包含了目标字符串明文,使得无线局域网外的设备捕获到该IP数据包即可准确识别出目标字符串。

在一个实施例中,上述从无线局域网内终端向网外设备发送数据的装置还包括标识码获取模块以及标识码加密模块(图中未示出),标识码获取模块用于获取设备的物理标识码,标识码加密模块用于以物理标识码为加密密钥对目标字符串进行加密,得到目标字符串的物理标识码密文;本实施例中,接入密码密文获取模块504按照无线局域网的解密算法对目标字符串的物理标识码密文进行处理,得到目标字符串的接入密码密文。

物理标识码为可唯一标识设备的序列号,可在设备出厂前被确定,任意两个设备的物理标识码都不相同。

在一个实施例中,标识码获取模块可获取用户通过界面输入的设备的物理标识码,该界面为用于输入设备的物理标识码的界面。在另一个实施例中,设备的物理标识码对应的二维码可印制于设备机体所附的标签上,标识码获取模块可通过扫描装置扫描得到设备的物理标识码。

本实施例中,终端获取设备的物理标识码,以物理标识码为加密密钥对目标字符串进行加密,得到目标字符串的物理标识码密文,然后再以目标字符串的物理标识码密文作为解密对象,得到目标字符串的接入密码密文,从而使得终端向无线访问接入点发送的IP数据包包体中包含的是目标字符串的物理标识码密文,而不是目标字符串明文。设备获取到目标字符串的物理标识码密文后,可根据其物理标识码对目标字符串的物理标识码密文进行解码,从而还原目标字符串;不知道作为加密密钥的物理标识码的接收方则无法还原得到目标字符串;因此,本实施例提高了数据传输的安全性。

在一个实施例中,上述的目标字符串还包含终端在无线局域网中的IP地址以及通信端口号,以使得设备接入无线局域网后可向终端发送数据包。字符串获取模块502还用于在由无线局域网的SSID和接入密码组合成目标字符串中添加终端在无线局域网中的IP地址以及通信端口号。

上述的从无线局域网内终端向网外设备发送数据的装置还包括循环控制模块(图中未示出),用于控制数据包发送模块508循环发送目标字符串对应的IP数据包,直到接收到设备发送的表示设备已成功接收数据的回馈数据包。

若终端在没有收到回馈数据包就停止发送目标字符串对应的IP数据包,则设备有可能由于IP数据包丢失、损坏或设备短暂故障等原因而导致接收不到目标字符串对应的IP数据包。而本实施例循环发送目标字符串对应的IP数据包,直到接收到设备发送的表示设备已成功接收数据的回馈数据包,可确保设备成功接收到目标字符串对应的IP数据包。

如图6所示,一种接收无线局域网内终端向网外设备发送的数据的装置,包括数据包获取模块602、数据提取模块604和数据使用模块606,其中:

数据包获取模块602用于通过处于监听模式下的无线网卡捕获无线局域网的无线访问接入点发送的IP数据包,无线访问接入点发送的IP数据包中包含包体以明文形式封装了终端需要向设备发送的目标字符串对应的IP数据包。

现今的无线通信协议规定了针对无线局域网通信的14个信道,无线访问接入点有可能工作在该14个信道中的任意一个信道。在一个实施例中,上述接收无线局域网内终端向网外设备发送的数据的装置还包含信道切换模块(图中未示出),用于将设备的无线网卡所监听的信道每间隔预设时长调整一次,直到设备获取到目标字符串对应的IP数据包。

如图7所示,在一个实施例中,上述的接收无线局域网内终端向网外设备发送的数据的装置还包括目标地址检验模块702,用于检验捕获到的IP数据包的目标地址的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包,若是,则启动数据提取模块604,否则,丢弃该IP数据包。

本实施例中,目标字符串对应的IP数据包的目标地址的后三段被约定为符合预设条件。例如,目标字符串对应的IP数据包的目标地址的后三段都为0。目标地址检验模块702可检验捕获到的IP数据包的目标地址的后三段是否都为0,若是,则确定该IP数据包为目标字符串对应的IP数据包,以及启动数据提取模块604。

本实施例中,目标字符串对应的IP数据包的目标地址的后三段被设置成符合预设条件,设备捕获到IP数据包后,由于IP数据包的包头在通信过程中不会被加密,设备可直接验证IP数据包的后三段是否符合预设条件以确定该IP数据包是否为目标字符串对应的IP数据包,而不是针对捕获到的所有IP数据包,都需要根据目标字符串的用途使用从IP数据包包体中提取的数据来验证所提取的数据是否为目标字符串,由于后一验证过程可能较为复杂,因此本实施例可简化处理过程。

数据提取模块604用于提取IP数据包的包体所封装的数据。

数据使用模块606用于根据目标字符串的用途使用提取的数据,以验证提取的数据是否为目标字符串。若对所提取的数据的使用能达到预期的使用效果,则说明所提取的数据即为目标字符串。

在一个实施例中,目标字符串包含无线局域网的服务集标识和接入密码;无线局域网的服务集标识和接入密码用于接入该无线局域网。

在一个实施例中,目标字符串由无线局域网的服务集标识和接入密码按照预设格式组合而成。数据使用模块606可按照该预设格式从目标字符串中提取服务集标识和接入密码,根据服务集标识和接入密码尝试连接服务集标识对应的无线局域网,若成功接入到服务集标识对应的无线局域网,则说明从捕获的IP数据包包体中提取的数据即为目标字符串。

在一个实施例中,目标字符串还包含发送目标字符中对应的IP数据包的终端在无线局域网中的IP地址以及该通信端口号;本实施例中,数据使用模块606还用于在成功接入目标字符串包含的服务集标识对应的无线局域网后,根据目标字符串中包含的IP地址和通信端口号向终端发送表示设备已成功接收数据的回馈数据包。从而可使得终端不再重复发送目标字符串对应的IP数据包。

在一个实施例中,目标字符串对应的IP数据包的包体所封装的数据以设备的物理标识码作为加密密钥进行过加密。图8所示,本实施例中的接收无线局域网内终端向网外设备发送的数据的装置还包括标识码解密模块802,用于在数据提取模块604提取IP数据包的包体所封装的数据之后,以设备的物理标识码为解密密钥对提取的数据进行解密。

标识码解密模块802可采用以设备的物理标识码作为加密密钥进行加密过程所采用的加密算法相逆的解密算法、以设备的物理标识码为解密密钥对提取的数据进行解密。

目标字符串对应的IP数据包的包体所封装的数据以设备的物理标识码作为加密密钥进行过加密,不知道作为加密密钥的物理标识码的接收方则无法还原得到目标字符串;因此,本实施例提高了数据传输的安全性。

由于无线访问接入点发送的IP数据包中包含包体以明文形式封装了无线局域网内终端需要向无线局域网外设备发送的目标字符串对应的IP数据包,基于上述接收无线局域网内终端向网外设备发送的数据的装置,设备通过处于监听模式的无线网卡捕获无线访问接入点发送的IP数据包,以及提取其包体所封装的数据,并直接根据目标字符串的用途使用提取的数据以验证提取的数据是否为目标字符串,若能达到预期的使用效果,则说明提取的数据即为目标字符串,因此,上述接收无线局域网内终端向网外设备发送的数据的装置可使得无线局域网外的设备准确地识别出无线局域网内的终端向其发送的目标字符串。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1