一种模拟用户无线上网行为的方法

文档序号:9846550阅读:345来源:国知局
一种模拟用户无线上网行为的方法
【技术领域】
[0001]本发明属于无线网络技术领域,尤其涉及一种模拟用户无线上网行为的方法。
【背景技术】
[0002]路由器在生产过程中需要检测其能承载多少个用户(即无线终端)同时进行无线上网,因此需要模拟多个真实的用户进行无线上网。现在一般有三种方法来模拟用户无线上网行为。第一种方法是采用仪表,但是很多公司因为无法承受如此高昂的费用所以没办法使用。第二种方法是在电脑上安装许多虚拟机,每个虚拟机占用一个无线网卡,来模拟无线客户端,但是安装虚拟机势必会影响电脑主机的性能,装的越多,电脑主机的性能越差,从而也会影响测试的进行。第三种方法是使用测试工具(比如L0ADRUNNER),但是多个用户都是虚拟出来的,并不是真实的,与实际应用还是有一定的差距。

【发明内容】

[0003]本发明所要解决的技术问题在于提供一种模拟用户无线上网行为的方法,旨在能够模拟真实的用户进行无线上网,简单、方便且成本低。
[0004]本发明是这样实现的,一种模拟用户无线上网行为的方法,其包括如下步骤:提供多个无线网卡及一个代理服务器,每个无线网卡代表一个真实的无线客户端,该代理服务器能够绑定该无线网卡并实现上网功能;将该多个无线网卡均连接到一个能够上外网的无线网络;创建第一脚本及第二脚本;通过导入该第一脚本实现自动发出上网请求的子进程及实现自动并发上网请求的多进程;及通过导入该第二脚本将每个上网请求分别绑定到一个无线网卡上,然后该代理服务器与自动发出上网请求的多个请求客户端及该外网进行交互。
[0005]本发明与现有技术相比,有益效果在于:本发明的模拟用户无线上网行为的方法,在电脑上连接多个无线网卡,每个无线网卡分别代表一个真实的无线客户端;代理服务器能够实现将客户端发送的多个上网请求分别绑定到相应的网卡上去,并实现上网功能,从而能够模拟多个真实的用户进行无线上网,简单、方便且成本低。
【附图说明】
[0006]图1本发明实施例提供的模拟用户无线上网行为的方法的流程图。
[0007]图2是图1的模拟用户无线上网行为的方法中自动发出上网请求的子进程的流程图。
[0008]图3是图1的模拟用户无线上网行为的方法中自动并发上网请求的多进程的流程图。
[0009]图4是代理服务器与请求客户端和外网交互的结构图。
[0010]图5是第一TCP客户端与浏览器的映射关系图。
[0011]图6是第二TCP客户端与无线网卡的映射关系图。
[0012]图7是代理服务器与请求客户端和外网交互的流程图。
[0013]图8是图1的模拟用户无线上网行为的方法中的第一部分步骤的流程图。
[0014]图9是图1的模拟用户无线上网行为的方法中的第二部分步骤的流程图。
【具体实施方式】
[0015]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0016]如图1所示,本发明实施例提供的模拟用户无线上网行为的方法,其包括如下步骤:
[0017]S1:提供多个无线网卡及一个代理服务器,每个无线网卡代表一个真实的无线客户端。
[0018]S2:将该多个无线网卡均连接到同一个能够上外网的无线网络。
[0019]S3:创建第一脚本及第二脚本,该第一脚本用于实现自动并发上网请求,该第二脚本用于将上网请求绑定无线网卡并转发上网请求。
[°02°] S4:将该第一脚本通过导入python语言的selenium库实现自动发出上网请求的子进程,然后引用python语言的多进程技术实现自动并发上网请求,即实现自动上网请求的多进程。该Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言。该Selenium是一个Web应用程序自动化测试工具,由ThoughtWorks公司的开发和测试员团队开发。
[0021]具体的,图2为自动发出上网请求的子进程,其包括如下子步骤:
[0022]S401:自动设置一浏览器的代理服务器地址及端口号。在本实施例中,该浏览器的代理服务器地址为运行该代理服务器脚本的主机的网络之间互连的协议(InternetProtocol,IP)地址,端口号为该代理服务器设置的端口号。
[0023]S402:自动打开该浏览器。
[0024]S403:自动请求指定的统一资源定位符(Uniform Resource Locator,URL),并进行上网操作。
[0025]S404:检测上网是否成功。
[0026]S405:若上网成功,则该子进程直接结束。
[0027]S406:若上网失败,则等待直到超时为止。
[0028]图3为自动并发上网请求的多进程,其包括如下步骤:
[0029]S411:创建多个自动发出上网请求的子进程。
[0030 ] S412:控制该多个自动发出上网请求的子进程同时发出上网请求。请求的URL可以一致也可以不一致。
[0031]S413:控制父进程阻塞式等待所有自动发出上网请求的子进程结束,直到所有自动发出上网请求的子进程全部结束为止。
[0032]S5:将该第二脚本通过导入python语言的SeIenium库,以控制该代理服务器将每个上网请求分别绑定到一个无线网卡上,然后该代理服务器与该多个自动发出上网请求的多个请求客户端及外网进行交互,从而将该多个请求客户端的上网请求转发到外网,同时还将该外网的数据传输给该多个请求客户端。
[0033]具体的,如图4所示,步骤S5包括如下子步骤:
[0034]S51:建立该代理服务器与该请求客户端和外网之间的交互连接关系。在本实施例中,通过套接字技术实现该代理服务器与该请求客户端和外网之间的交互。图5为代理服务器与请求客户端和外网(即因特网)交互的结构图。在代理服务器内建立一个套接字服务器端(Socket Server)及一个套接字客户端(Socket Client)。将该套接字服务器端设定为第一传输控制协议(Transmi ss 1n Control Pro toco I,TCP)服务器端,将该因特网(Internet)设定为第二TCP服务器端,将该多个请求客户端(Request Client)分别设定为多个第一TCP客户端,将该套接字客户端(Socket Client)设定为第二TCP客户端。该请求客户端与该套接字服务器端组成一个套接字,在建立TCP链接之后进行通信。该因特网与该套接字客户端组成一个套接字,在建立TCP链接之后进行通信。由于该第一TCP服务器端和该第二 TCP客户端同时在该第二脚本里,所以能够互相传输数据。
[0035]S52:创建多个第一 TCP客户端与多个浏览器之间的第一映射表。图6是第一 TCP客户端与浏览器的映射关系图。由于需要并发进行上网请求,所以有多个第一TCP客户端,每个第一 TCP客户端代表一个上网请求,就相当于一个浏览器在发送上网请求,所以能够将每个第一 TCP客户端映射成一个浏览器,形成该第一映射表。
[0036]S53:创建多个第二 TCP客户端与该多个无线网卡之间第二映射表。图7是第二 TCP客户端与无线网卡的映射关系图。第二TCP客户端的作用就是转发第一TCP服务器端接收到的从第一 TCP客户端发送来的数据包,并将该数据包绑定到一个无线网卡上,这样就相当于不同的上网请求是从不同的无线网卡出去并连接到外网的。由于该第二TCP客户端需要绑定多个不同的无线网卡,所以要建立多个第二 TCP客户端,这里第二 TCP客户端和无线网卡也是对应关系,形成第二映射表。
[0037]S54:将该代理服务器与该请求客户端和该外网进行交互,从而将该多个请求客户端的上网请求转发到外网,同时还将该外网的数据传输给该多个请求客户端。代理服务器与请求客户端和外网交互的流程图包括第一子步骤及第二部分步骤。该第一部分步骤是请求报文的数据包从该第一 TCP服务器端(即请求客户端)传输到第二 TCP服务器端(外网)。该第二部分步骤是请求报文的数据包从第二 TCP服务器端(外网)传输到该第一 TCP服务器端(即请求客户端)。
[0038]如图8所示,该第一部分步骤包括如下子步骤:
[0039]S541:根据第一 TCP客户端(浏览器)发出的请求报文,记录该请求报文的数据包的源端口号。
[0040]S542:在第一映射表中查找该源端口号是否有对应的第一TCP服务器端。
[0041 ] S543:若在第一映
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1