一种基于开放网络和位置采集App信息的方法
【专利摘要】本发明提供了一种基于开放网络和位置采集App信息的方法,该方法的App开发者或普通用户通过AirPcap网卡实现多信道抽取某一位置附近的公共开放网络数据。针对这些网络数据,首先对抽取到的数据包进行过滤处理,剔除不完整、无用或含敏感信息的数据包,再根据无线数据包的格式对保存的数据包进行解析,提取出App的主机服务器,从而过滤出App,最终获取某一位置附近移动端App的使用情况分布。
【专利说明】
一种基于开放网络和位置采集App信息的方法
技术领域
[0001]本发明涉及一种基于开放网络和位置采集App信息的方法,属于数据挖掘技术领域。
【背景技术】
[0002]App是英文Applicat1n的简称,通常指智能手机的第三方应用程序。分为个人用户App与企业级App。用户App是面向消费者,企业App贝Ij是对企业用户开发的。随着科学技术的飞速发展,互联网已经进入了移动互联网时代,同时随着智能手机和ipad等移动终端设备的普及,人们已经逐渐习惯了使用App客户端的上网方式。随着移动互联网的兴起,电子商务事业蓬勃发展,越来越多的互联网企业、电商平台将App作为销售的主战场之一。研究数据表明,目前App给电子商务带来的流量远远超过了传统互联网的流量,越来越多的电商平台希望通过App进行营利。因此App的用户体验对于App企业越来越重要,用户体验不错的App使得用户的忠诚度、活跃度都得以提升,从而可以为企业的创收和未来的发展起到了关键性的作用。
[0003]目前用户基数较大、用户体验不错的App有淘宝、美团、大众点评、微信等,它们都十分重视用户体验,积极迎合用户要求。随着技术的技术,开发一款App的成本越来越低,但是一款App开发出来,市场的满意度可能随着时间的推移,而逐渐被市场淘汰,不能够被市场所认可。所以开发一款App的调研和用户的使用反馈变得尤为重要,只有及时拿到用户的反馈信息,才能够更好的改善App,迎合市场需求,增加企业的竞争力。通常App企业通过应用商店、广告联袂、手机应用媒体、手机应用论坛等方式被动的获取App的使用反馈信息,而这些消息的获取通常有一定的滞后信息,移动互联网时代,信息瞬息万变,对于手机App企业同样需要快速、高效的获取用户体验反馈,以便及时提高用户体验度。
[0004]AirPcap是CACE公司设-H种专门用于无线网络分析的工具,主要应用于windows平台,可以用来捕获802.1la/b/g/n的控制、管理和数据帧,AirPcap工作于完全被动模式下,它可以捕获一个信道下的数据帧、控制帧和管理帧。使用多个AirPcap可以实现多信道的数据包的捕获。手机中的App应用在检测到网络之后,会主动和服务器链接,获取更新信息和相关的推送消息。因此可以利用App的这个特点,在无线网络环境下,捕获App和服务器交互的信息,从而辨识出该附近网络中的App。而本发明能够很快的解决上面的问题。
【发明内容】
[0005]本发明目的在于针对上述现有技术的不足,提供了一种基于某一位置和开放网络信息,抽取其附近所有的App信息的采集方法,该方法通过AirPcap网卡实现多信道抽取某一位置附近的公共开放网络数据。针对这些网络数据,首先对抽取到的数据包进行过滤处理,剔除不完整、无用或含敏感信息的数据包,再根据无线数据包的格式对保存的数据包进行解析,提取出App的主机服务器,从而过滤出App,最终获取某一位置附近移动端App的使用情况。
[0006]本发明解决其技术问题所采取的技术方案是:一种基于开放式网络和位置采集App信息的方法,该方法包括如下步骤:
[0007]步骤I)采集前的准备工作;
[0008]步骤1.1)使用爬虫爬取网上App应用商店的App名称;
[0009]步骤1.2)将爬取到的App采用一定的数据结构保存制作成匹配语料库;
[0010]步骤1.3)手动添加额外的App到匹配语料库;
[0011 ]步骤I.4)配置AirPcap为多信道抓取;
[0012]步骤1.5)搜索附近开放无线网络情况,如果是单信道,转步骤1.5,否则转I步骤1.6;
[0013]步骤1.6)设置AirPcap为其对应的单信道;转步骤1.8;
[0014]步骤1.7)设置AirPcap为其对应的多个信道;
[0015]步骤1.8)设置数据包文件大小;
[0016]步骤2)采集无线数据包;
[0017]步骤2.1)预留足够存储空间,保存采集的数据包;
[0018]步骤2.2)设置数据包保存路径;
[0019I步骤2.3)初始化设置的AirPcap参数配置:
[0020]步骤2.4)启动AirPcap抓取数据包;
[0021 ]步骤2.5)保存数据包到指定的存储空间;
[0022]步骤3)对数据进行敏感过滤处理,剔除隐私信息;
[0023]步骤3.1)生成隐私保护库;
[0024]步骤3.2)将通常涉及隐私的协议字段添加到隐私库;
[0025]步骤3.3)数据包和隐私保护库进行比对;
[0026]步骤3.4)判断数据包是否含有隐私信息,如果是,则删除数据包;
[0027]步骤4)解析数据包,匹配语料库;
[0028]步骤4.1)从保存数据包的队列中获取一个数据包;
[0029]步骤4.2)解析数据包,判断数据包分层;
[0030]步骤4.3)若数据包中含有http层,则提取host字段数据;
[0031 ]步骤4.4)若没有http层,则删除数据包,转步骤4.1;
[0032]步骤4.5)将提取到的host字段数据与App语料库进行匹配;
[0033]步骤4.6)若匹配成功,则将生成一条记录,添加至数据库;
[0034]步骤4.7)若匹配不成功,转至步骤4.1;
[0035]步骤4.8)若队列不为空,则转到步骤4.1,否则,解析完成;
[0036]步骤5)Web显示该区域App的情况;
[0037]步骤5.1)统计数据库的App名称及其出现的次数,即同一mac下只作为一次统计;
[0038]步骤5.2)将App及其出现的次数以图的形式在Web上呈现;
[0039]步骤5.3)登录Web,查看附近App使用情况;
[0040]步骤5.4)完成本次对App信息的采集。
[0041 ]进一步的,本发明使用AirPcap提供的捕获功能,通过AirPcap网卡实现多信道抽取某一位置附近的公共开放网络数据。
[0042]进一步的,本发明建立App匹配语料库,利用了分布式爬虫技术,大规模高效的爬取多个热门App应用市场,统计涵盖几乎所有App应用的信息,同时,如果有部分App信息未能获得,则采用人工添加的方法将App信息加入匹配语料库中,保证了匹配语料库的全面。
[0043]进一步的,本发明抓取数据包,采取多信道抓取数据包,充分抓取某一位置区域的数据包,减少了丢包率,为后面的数据包解析提供更全面的数据源。
[0044]进一步的,本发明建立隐私保护库,避免所抓取的数据包被恶意使用,同时可以剔除一部分数据包解析,减少解析的工作量,提高了程序的效率。
[0045]进一步的,本发明解析数据包,采取了多进程解析数据包,提高了解析速度,达到了实时解析的效果。
[0046]进一步的,本发明显示区域App信息情况,采用web页面定时刷新的显示方法,将存入数据库的解析结果以图表的形式显示,更加友好,直观的展示该区域App的信息情况。
[0047]有益效果:
[0048]1、本发明通过获取某一位置范围内App的使用情况,一方面可以给企业提供一种更加快捷高效的调查App的推广及使用情况的方法,为企业App的改善提供帮助,提高企业的竞争力,另一方面,也可以为用户获取热点App提供参考。。
[0049]2、本发明的App企业可以更加高效、实时及准确的获取其App的使用情况及活跃度,不再只借助于应用市场的App下载量来进行判断;采用了多信道及并行处理技术,增加了数据的处理能力;在windows平台实现,用户不需切换平台;普通用户也能获取该位置下热门的App。
[0050]3、本发明灵活、实时的获取某一位置App的情况,能够利用基于App的语料库,进行匹配。同时,本发明减少了解析的工作量,提高了效率。
【附图说明】
[0051 ]图1为本发明的配置环境及建立语料库流程图。
[0052]图2为本发明收集无线数据包流程图。
[0053]图3为本发明过滤剔除敏感信息流程图。
[0054]图4为本发明解析数据包匹配语料库流程图。
[0055]图5为本发明Web显示该区域App使用情况流程图。
[0056]图6为本发明系统工作整体流程图。
【具体实施方式】
[0057]下面结合说明书附图对本发明创造作进一步的详细说明。
[0058]—种基于开放式网络和位置采集App信息的方法,该方法包括如下步骤:
[0059]步骤1:采集前的准备工作。如图1所示,使用爬虫爬取网上App应用商店的App名称,将爬取到的App采用一定的数据结构保存制作成匹配语料库,手动添加额外的App到匹配语料库,同时根据需要配置AirPcap是否为多信道抓取;最后设置所抓数据包文件大小;
[0060]步骤2:采集无线数据包。如图2所示,预留足够存储空间,以便保存采集的数据包,设置数据包保存路径。初始化设置的AirPcap参数配置,启动AirPcap抓取数据包保存数据包到指定的存储空间;[0061 ]步骤3:对数据进行敏感过滤处理,剔除隐私信息。如图3所示,生成隐私保护库,将通常涉及隐私的协议字段添加到隐私库,如“pw”、“password”、“account”等添加到隐私保护库中,将数据包和隐私保护库进行比对,判断数据包是否含有隐私信息,如果是,则删除数据包;
[0062]步骤4:解析数据包,匹配语料库。如图4所示,从保存数据包的队列中获取一个数据包,解析这个数据包,判断数据包分层,如果数据包中含有http层,则提取host字段数据,否则删除数据包。将提取到的host字段数据与App语料库进行匹配;如果匹配成功,则将生成一条记录,添加至数据库,否则判断数据包队列是否为空,若不为空,则重复以上步骤,否贝IJ,解析完成;
[0063]步骤5: Web显示该区域App的情况。如图5所示。统计数据库的App名称及其出现的次数,同一 mac下只作为一次统计,将App及其出现的次数以图的形式在Web上呈现。用户登录Web,查看附近App使用情况;
[0064]本发明使用AirPcap提供的捕获功能,通过AirPcap网卡实现多信道抽取某一位置附近的公共开放网络数据。
[0065]本发明灵活、实时的获取某一位置App的情况,能够利用基于App的语料库,进行匹配。
[0066]如图6所示,本发明提供一种基于某一位置和开放网络信息的场所,抽取其附近所有的App信息的采集方法,通过AirPcap网卡实现多信道抽取某一位置附近的公共开放网络数据。通过对抽取到的数据包进行过滤处理,剔除不完整、无用或含敏感信息的数据包,再根据无线数据包的格式对保存的数据包进行解析,提取出App的主机服务器,从而过滤出App,最终获取某一位置附近移动端App的名称及用户数量,其实现步骤为:
[0067]步骤I)建立App名和host的匹配库及环境配置:
[0068]步骤1.1)编写爬虫程序爬取主流应用市场的App名称
[0069]步骤1.2)根据App名称和host建立字典匹配语料库;
[0070]步骤1.3)补充添加额外的App及host到匹配语料库;
[0071]步骤1.4)开启搜索无线信号程序,搜索附近无线网络环境;
[0072]步骤1.5)设置AirPcap信道为你所希望抓取的信道,可以设置三个信道;
[0073]步骤1.6)设置AirPcap捕捉的数据包大小及数据包保存路径;
[0074]步骤1.7)在mysql中根据既定的格式建立一张表message,将数据包按host,mac等字段存入mysql数据库中;
[0075]步骤2)采集无线数据包,如图2所示,包括:
[0076]步骤2.1)使用python语言结合AirPcap网卡编写抓包程序;
[0077]步骤2.2)按照步骤I中预先设计的要求编写配置文件caputre.1ni ;
[0078]步骤2.3)抓取的数据包会按预定大小保存到指定存储空间;
[0079]步骤3)拼接握手数据包及隐私过滤:
[0080]步骤3.1)抓包过程中并行运行,捕捉握手数据包程序;
[0081]步骤3.2)编写拼接数据包程序,将捕获的握手数据包文件拼接至每一个采集的无线数据包;
[0082]步骤3.3)建立隐私保护库,向隐私保护库里添加一些敏感字段,如“password”、U ” U丄,,AA-
pw、account 寺;
[0083]步骤3.4)初步过滤数据包,将含有隐私保护库中字段的数据包删除,避免泄露用户隐私;
[0084]步骤4)解析数据包,匹配语料库:
[0085]步骤4.1)编写解析程序;
[0086]步骤4.2)从保存数据包文件的队列中获取一个数据包文件。
[0087]步骤4.3)解析数据包,根据TCP/IP协议逐层解析;
[0088]步骤4.4)解析数据链路层,提取用户的mac地址保存到mysql的message表中;
[0089]步骤4.5)解析网络层,提取用户的ip地址保存到mysql的message表中;
[°09°] 步骤4.6)解析应用层,提取用户的http层host字段,user_agent信息保存到mysql的message表中;
[°091 ] 步骤4.7)若user_agent字段判断为pc端用户,则转到步骤4.1否则转步骤4.8);
[0092]步骤4.8)用提取的host字段匹配字典语料库,若匹配成功,则提取对应的App名称,并保存至mysql的message表中;
[0093]步骤4.9)匹配不成功,则将host字段暂时保存,后使用搜索引擎根据host搜索App名称,并将其添加到字典语料库;
[0094]步骤5)Web显示无线网络App的统计结果:
[0095]步骤5.1)编写sql语句查询统计每一个App名称下有的mac地址
[0096]步骤5.2)剔除同一个App名称下重复的mac地址
[0097]步骤5.3)根据user_agent和mac地址统计该区域移动用户的数量;
[0098]步骤5.4)使用js绘图,呈现最后统计的App情况;
[0099]步骤5.5)用户登录Web浏览器,查看最新的统计结果及其对应的图形展示。
【主权项】
1.一种基于开放网络和位置采集App信息的方法,其特征在于,所述方法包括如下步骤: 步骤I)采集前的准备工作; 步骤1.1)使用爬虫爬取网上App应用商店的App名称; 步骤1.2)将爬取到的App采用数据结构保存制作成匹配语料库; 步骤1.3)手动添加额外的App到匹配语料库; 步骤1.4)配置AirPcap为多信道抓取; 步骤1.5)搜索附近开放无线网络情况,如果是单信道,转步骤1.5,否则转I步骤1.6; 步骤1.6)设置AirPcap为其对应的单信道;转步骤1.8 ; 步骤1.7)设置AirPcap为其对应的多个信道; 步骤1.8)设置数据包文件大小; 步骤2)采集无线数据包: 步骤2.1)预留存储空间,保存采集的数据包; 步骤2.2)设置数据包保存路径; 步骤2.3)初始化设置的AirPcap参数配置: 步骤2.4)启动AirPcap抓取数据包; 步骤2.5)保存数据包到指定的存储空间; 步骤3)对数据进行敏感过滤处理,剔除隐私信息: 步骤3.1)生成隐私保护库; 步骤3.2)将通常涉及隐私的协议字段添加到隐私库; 步骤3.3)数据包和隐私保护库进行比对; 步骤3.4)判断数据包是否含有隐私信息,如果是,则删除数据包; 步骤4)解析数据包,匹配语料库; 步骤4.1)从保存数据包的队列中获取一个数据包; 步骤4.2)解析数据包,判断数据包分层; 步骤4.3)若数据包中含有http层,则提取host字段数据; 步骤4.4)若没有http层,则删除数据包,转步骤4.1; 步骤4.5)将提取到的host字段数据与App语料库进行匹配; 步骤4.6)若匹配成功,则将生成一条记录,添加至数据库; 步骤4.7)若匹配不成功,转至步骤4.1; 步骤4.8)若队列不为空,则转到步骤4.1,否则,解析完成; 步骤5 )Web显示该区域App的情况; 步骤5.1)统计数据库的App名称及其出现的次数; 步骤5.2)将App及其出现的次数以图的形式在Web上呈现; 步骤5.3)登录Web,查看附近App使用情况; 步骤5.4)完成本次对App信息的采集。2.根据权利要求1所述的一种基于开放网络和位置采集App信息的方法,其特征在于,所述建立App匹配语料库,利用分布式爬虫技术,爬取多个热门App应用市场,统计涵盖几乎所有App应用的信息,同时,如果有部分App信息未能获得,则采用人工添加的方法将App信息加入匹配语料库中。3.根据权利要求1所述的一种基于开放网络和位置信息采集App信息方法,其特征在于:所述抓取数据包是采取多信道抓取数据包,充分抓取某一位置区域的数据包,为后面的数据包解析提供更全面的数据源。4.根据权利要求1所述的一种基于开放网络和位置信息采集App信息方法,其特征在于:所述建立隐私保护库是避免所抓取的数据包被恶意使用,同时剔除一部分数据包解析。5.根据权利要求1所述的一种基于开放网络和位置信息采集App信息方法,其特征在于,所述解析数据包采取多进程解析数据包。6.根据权利要求1所述的一种基于开放网络和位置信息采集App信息方法,其特征在于:所述显示该区域App信息情况是采用web页面定时刷新的显示方法,将存入数据库的解析结果以图表的形式显示。
【文档编号】G06Q30/02GK105939222SQ201610371329
【公开日】2016年9月14日
【申请日】2016年5月30日
【发明人】陈丹伟, 刘洋
【申请人】南京邮电大学