一种躲避系统类型检测的方法及装置与流程

文档序号:11216012阅读:1064来源:国知局
一种躲避系统类型检测的方法及装置与流程

本发明涉及无线局域网技术领域,尤其涉及一种躲避系统类型检测的方法及装置。



背景技术:

dhcp(dynamichostconfigurationprotocol,动态主机配置协议)是一种采用客户端/服务器模型基于udp协议工作的一种局域网网络协议。主要作用是集中的管理、分配ip地址,使网络环境中的主机动态的获得ip地址、gateway地址、dns服务器地址等信息。dhcp协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当dhcp服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。

dhcpoption主要是针对不同厂商的设备在不同环境的应用下所配置的特殊信息。dhcpoptions选项的取值范围为1~255,其中,option55为设置请求参数列表选项,客户端利用该选项指明需要从服务器获取哪些网络配置参数,dhcp服务器回应的dhcp报文中,该选项内容为客户端请求的参数对应的选项值。option12是hostname,通常会设置为产品类型和序列号。

在当前的操作系统中,终端一般会根据惯例设计dhcp报文中的option55中parameterrequestlist的顺序来标识自己的os类型,比如通过option55,我们就能获知终端的os是ios、android还是windows,这样的话,在不知不觉中,这种信息就被ap搜集了,造成信息的泄露,因为所有的终端关联上ap之后,dhcp交互是必须的过程。



技术实现要素:

本发明提供一种躲避系统类型检测的方法,解决了现有技术中终端类型在dhcp交互过程中容易泄露的技术问题。

本发明的躲避系统类型检测的方法包括:

s100获取待发送的dhcp请求报文;

s200调整所述待发送的dhcp请求报文中option55的请求参数的顺序,生成第一dhcp请求报文;

s300发送所述第一dhcp请求报文,实现与dhcp服务器交互。

终端在发送dhcp报文之前,会调整待该dhcp报文中option55的请求参数的顺序,生成新的报文,新报文依然合法,可以被dhcp服务器处理,同时也规避了终端的系统类型被认出。

进一步地,所述待发送的dhcp请求报文中option55的请求参数及其排列顺序是根据dhcp客户端的系统类型及其版本进行设置。

进一步地,所述步骤s200包括:

s210将所述待发送的dhcp请求报文中option55的请求参数的顺序随机化,生成第一dhcp请求报文。

进一步地,所述步骤s200包括:

s230按照预设规则,将所述待发送的dhcp请求报文中option55的的请求参数进行排序,生成第一dhcp请求报文。

进一步地,在所述步骤s300之前还包括:

s250查看所述第一dhcp请求报文中option12选项中是否含有系统类型字段,若是进入步骤s400,否则进入步骤s300;

s400修改所述第一dhcp请求报文中option12选项中的系统类型字段,生成第二dhcp请求报文;

s500发送所述第二dhcp请求报文,实现与dhcp服务器交互。

另一方面,本发明还公开了一种躲避系统类型检测的装置,包括:获取模块、顺序调整模块、及发送模块;所述顺序调整模块分别与所述获取模块、所述发送模块相连,其中:所述获取模块获取待发送的dhcp请求报文;所述顺序调整模块调整所述待发送的dhcp请求报文中option55的请求参数的顺序,生成第一dhcp请求报文;所述发送模块发送所述第一dhcp请求报文,实现与dhcp服务器交互。

进一步地,所述获取模块获取的所述待发送的dhcp请求报文中,option55的请求参数及其排列顺序是根据dhcp客户端的系统类型及其版本进行设置。

进一步地,所述顺序调整模块包括:随机化子模块,用于将所述待发送的dhcp请求报文中option55的请求参数的顺序随机化,生成第一dhcp请求报文。

进一步地,所述顺序调整模块包括:规则预设子模块、及与所述规则预设子模块相连的排序子模块,其中:所述规则预设子模块根据用户的指令设置排序规则;所述排序子模块根据所述规则预设子模块预设的规则对所述待发送的dhcp请求报文中option55的请求参数进行排序,生成第一dhcp请求报文。

进一步地,所述躲避系统类型检测的装置还包括:查找模块、操作模块,所述查找模块分别与所述操作模块、顺序调整模块、及发送模块相连,所述操作模块还与所述发送模块相连,其中:所述顺序调整模块调整所述待发送dhcp请求报文中option55的请求参数顺序,生成第一dhcp请求报文后,所述查找模块查看所述第一dhcp请求报文的option12选项中是否含有系统类型字段,若是,则控制所述操作模块修改所述第一dhcp请求报文的option12选项中的系统类型字段,生成第二dhcp请求报文,并通过所述发送模块发送所述第二dhcp请求报文,实现与dhcp服务器交互;若所述查找模块在所述第一dhcp请求报文的option12选项中未查找到系统类型字段,则所述发送模块发送所述第一dhcp请求报文,实现与dhcp服务器交互。

本发明通过改变dhcp请求报文中的option55的请求参数顺序,避免了终端类型的泄露,保护了用户的隐私,同时又不影响终端从dhcp服务器获取相应的网络配置。此外,本发明还通过进一步检测option12选项的字段,避免因维修该主机名造成的系统类型的信息泄露。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种躲避系统类型检测的方法实施例一的流程图;

图2为本发明一种躲避系统类型检测的方法另一实施例的流程图;

图3为本发明一种躲避系统类型检测的装置实施例一的框图;

图4为本发明一种躲避系统类型检测的装置另一实施例的框图;

图5为本发明一种躲避系统类型检测的装置另一实施例的框图;

图6为本发明一种躲避系统类型检测的装置另一实施例的框图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明公开了一种躲避系统类型检测的方法,实施例一如图1所示,包括:

s100获取待发送的dhcp请求报文;

s200调整所述待发送的dhcp请求报文中option55的请求参数的顺序,生成第一dhcp请求报文;

s300发送所述第一dhcp请求报文,实现与dhcp服务器交互。

在当前的os系统中,一般根据惯例会设计特殊的dhcp报文中的option55中parameterrequestlist的顺序来标识自己的os类型,一般通过option55,我们就能获知终端的系统类型是ios、android还是windows,这样的话,在不知不觉中,这种信息就被ap搜集了,因为所有的终端关联上ap之后,dhcp交互是必须的过程。

本发明通过改进dhcp报文中的option55中parameterrequestlist的顺序的设计来规避终端的系统类型被收集。由于option55中的parameterrequestlist的内容是不需要顺序的,比如1,2,3和2,1,3都是合法的报文,只不过1,2,3标识一种终端的操作系统类型,2,1,3标识另外一种终端的操作系统类型。所以在每次发送dhcp报文时,把其中的option55中parameterrequestlist的顺序改变调整,这样的话,报文依然合法,可以被dhcpserver处理,同时也规避了终端的系统类型被中间的ap或其他路由器等中转设备认出。

客户终端在构造dhcp请求报文时,一般根据自身的系统类型和版本号会设置dhcp请求报文中option55的请求参数,也就是说一般根据option55的请求参数及排列顺序就可以看出是哪个系统类型及版本。我们以android系统,版本4.4.2为例,对应的option55的请求参数及排列顺序为:1,33,3,6,15,28,51,58,59。如果是ios系统,版本号为10.3.1,则对应的option55的请求参数及排列顺序为:1,121,3,6,15,119,252。因此,如果不采用本发明方法的话,dhcp服务器在接收到客户终端发送的dhcp请求报文后,根据报文中option55请求参数及其顺序,便可知道dhcp客户端的系统类型及版本号,造成了隐私信息的泄露。而本发明则是在在dhcp客户终端发送dhcp请求报文前,先将该待发送的dhcp请求报文中的option55的请求参数的顺序进行打乱,比如,将待发送的dhcp请求报文中,option55的请求参数排列顺序由1,33,3,6,15,28,51,58,59变成33,6,1,15,59,58,3,28,51。如此不改变请求参数,只是将各参数的排列顺序打乱,并不影响dhcp客户终端从dhcp服务器获取网络配置,却使得dhcp服务器无法从option55中获知终端系统类型,达到了保护隐私,避免终端系统类型被dhcp服务器搜集。

本发明的另一实施例,在上述实施例1的基础上,上述步骤s200中,改变option55的请求参数的顺序的技术手段有很多种,比如,将所述待发送的dhcp请求报文中option55的请求参数的顺序随机化,在每次发送dhcp报文时,把其中的option55中parameterrequestlist的顺序随机化,这样的话,报文依然合法,可以被dhcpserver处理,同时也规避了sta(终端)的os类型被中间的ap或其他路由器等中转设备认出。具体的,包括步骤:

(1)sta关联上ap的的ssid。

(2)sta把dhcpoption55中parameterrequestlist的顺序用随机数随机化,生产新的dhcp报文。

(3)sta用新的dhcp报文和dhcpserver交互。

(4)在今后的任何dhcp交互中,option55中parameterrequestlist都要重新随机化。

除了上述实施例中采用随机化的方法改变option55的请求参数的顺序外,我们还可以通过设置预设规则,然后根据预设规则将获取的待发送的dhcp请求报文中option55的请求参数进行排序,生成第一dhcp请求报文,比如,我们可以设置预设规则将option55的请求参数按照从大到小的顺序进行排序,我们以iphone6为例,客户端根据iphone6的操作系统(ios)及version:10.3.2设置option55的请求参数顺序为:1,121,3,6,15,119,252;按照我们预设的从大到小的排序规则的话,则在获取到待发送的dhcp请求报文后,将该报文中option55的原请求参数顺序改为:252,121,119,15,6,3,1。这样一来,dhcp客户端在收到该变了option55请求参数顺序的新的dhcp报文后,便无法据此获得接入终端的系统类型了。预设规则的设置可以根据用户的需求或指令进行设置。

本发明的另一实施例,如图2所示,包括:

s100获取待发送的dhcp请求报文;

s200调整所述待发送的dhcp请求报文中option55的请求参数的顺序,生成第一dhcp请求报文;

s250查看所述第一dhcp请求报文中option12选项中是否含有系统类型字段,若是进入步骤s400,否则进入步骤s300;

s300发送所述第一dhcp请求报文,实现与dhcp服务器交互;

s400修改所述第一dhcp请求报文中option12选项中的系统类型字段,生成第二dhcp请求报文;

s500发送所述第二dhcp请求报文,实现与dhcp服务器交互。

在上述任一实施例的基础上,除了对option55进行请求参数的顺序改变外,还针对option12选项的字段进行查看,如果option12选项含有系统类型字段,则对其进行修改或者删除。option12是主机名字段,通常会设置为产品类型和序列号,比如某厂商android手机的option12字段为“android-9dc35f21ged653”,那么通过option12选项的字段就可以大致确定这个终端系统类型是android。option12字段对于大部分原始终端来说管用,但是当用户修改了终端命名信息后(比如用户可以更改为任何的名字,比如android手机是andorid-45342323,而用户可以修改为12345),那么option12选项的字段就相应的变更为12345,就不知道如何判别类别了。因此,如果用户修改了终端的主机名,那么option12选项中就不会出现终端系统类型字段,如果用户还没有修改主机名,那么终端在发送dhcp请求报文前,除了调整option55的请求参数顺序外,还会修改option12的系统类型字段,这个修改命名可以让用户来指定命令,也可以自动命名。后续的每次dhcp交互,option22选项便可均以修改后的系统类型字段来构建。

基于相同的技术构思,另一方面,本发明还公开了一种躲避系统类型检测的装置,该装置可以采用本发明的躲避系统类型检测的方法,具体的,本发明躲避系统类型检测的装置实施例一如图3所示,该监测装置包括:获取模块10、顺序调整模块20、及发送模块30;所述顺序调整模块20分别与所述获取模块10、所述发送模块30相连,其中:所述获取模块10获取待发送的dhcp请求报文;所述顺序调整模块20调整所述待发送的dhcp请求报文中option55的请求参数的顺序,生成第一dhcp请求报文;所述发送模块30发送所述第一dhcp请求报文,实现与dhcp服务器交互。

本发明的躲避系统类型检测的装置一般集成在终端上,通过改变dhcp请求报文中option55的请求参数的顺序来避免终端的系统类型被中间的ap或其他路由器等中转设备认出。虽然改变了option55的请求参数的顺序,但并不影响配置,由于请求参数没有改变,还是那些参数,只是顺序调换了,dhcp服务器还可以根据请求的参数配置与请求参数对应的选项值。未改变顺序之前,option55的请求参数顺序标识了请求终端的系统类型,而通过改进dhcp报文中option55中的请求参数的顺序则可以规避终端的系统类型被收集。

上述实施例中,所述获取模块10获取的所述待发送的dhcp请求报文中,option55的请求参数及其排列顺序是根据dhcp客户端的系统类型及其版本进行设置。

本装置的另一实施例,如图4所示,在上述实施例一的基础上,所述顺序调整模块20包括:随机化子模块21,用于将所述待发送的dhcp请求报文中option55的请求参数的顺序随机化,生成第一dhcp请求报文。

通过随机化子模块21来随机化option55的请求参数的顺序,使得终端的系统类型不被泄露。后续的任何dhcp交互中,option55中的请求参数都要重新随机化。具体的,终端上集成了本发明的检测装置后,终端关联上ap的ssid后,终端通过随机化子模块21把dhcp请求报文中的option55中请求参数的顺序随机化,生成新的dhcp报文;该终端采用新的dhcp报文和dhcp服务器交互,在今后的任何dhcp交互中,option55中parameterrequestlist都要重新随机化。

本发明躲避系统类型检测的装置另一实施例如图5所示,在上述实施例一的基础上,所述顺序调整模块20包括:规则预设子模块22、及与所述规则预设子模块22相连的排序子模块23,其中:所述规则预设子模块22根据用户的指令设置排序规则;所述排序子模块23根据所述规则预设子模块22预设的规则对所述待发送的dhcp请求报文中option55的请求参数进行排序,生成第一dhcp请求报文。

本装置通过根据预设规则来排序的方法调整option55的请求参数的顺序。

本发明躲避系统类型检测的装置的最后一个实施例,如图6所示,在上述任一实施例的基础上,所述躲避系统类型检测的装置还包括:查找模块40、操作模块50,所述查找模块40分别与所述操作模块50、顺序调整模块20、及发送模块30相连,所述操作模块50还与所述发送模块30相连,其中:所述顺序调整模块20调整所述待发送dhcp请求报文中option55的请求参数顺序,生成第一dhcp请求报文后,所述查找模块40查看所述第一dhcp请求报文的option12选项中是否含有系统类型字段,若是,则控制所述操作模块50修改所述第一dhcp请求报文的option12选项中的系统类型字段,生成第二dhcp请求报文,并通过所述发送模块30发送所述第二dhcp请求报文,实现与dhcp服务器交互;若所述查找模块40在所述第一dhcp请求报文的option12选项中未查找到系统类型字段,则所述发送模块30发送所述第一dhcp请求报文,实现与dhcp服务器交互。

本实施例中,除了调整dhcp报文中的option55的请求参数的顺序外,还进一步查看option12中是否含有系统类型字段,一般终端未修改过的话,主机名称会显示出类型及型号,因此,可能会泄露系统类型,故本装置还会查看dhcp报文中option12字段中是否含有系统类型字段,比如是否含有android、ios、windows等系统类型字段,如果有的话就还需要修改,当然可以提示让用户修改主机名,或者自行修改主机名,修改规则可系统自设或根据用户需求预设。修改完后,dhcp服务器就不会知晓终端的系统类型了。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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