CN113419907A - 操作系统探测方法、装置、电子装置和计算机设备 - Google Patents
操作系统探测方法、装置、电子装置和计算机设备 Download PDFInfo
- Publication number
- CN113419907A CN113419907A CN202110578464.0A CN202110578464A CN113419907A CN 113419907 A CN113419907 A CN 113419907A CN 202110578464 A CN202110578464 A CN 202110578464A CN 113419907 A CN113419907 A CN 113419907A
- Authority
- CN
- China
- Prior art keywords
- bluetooth device
- target bluetooth
- data packet
- operating system
- response
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2294—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种操作系统探测方法、装置、电子装置和计算机设备,通过与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段,再接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。其能够利用L2CAP协议的模糊字段实现对目标蓝牙设备的操作系统的探测。
Description
技术领域
本申请涉及渗透测试技术领域,特别是涉及一种操作系统探测方法、装置、电子装置和计算机设备。
背景技术
随着蓝牙设备在物联网的广泛应用,可以通过蓝牙发现大量的蓝牙设备。在进行渗透测试时,获取物理设备的操作系统对于推进渗透测试的工作起着重要作用。目前的操作系统探测方法往往基于传统的TCP/IP网络,例如利用TTL技术(Time to Live)来判断物理设备的操作系统类型。因此在对没有接入传统网络的蓝牙设备进行情报收集时,目前基于传统网络的操作系统探测方法,不适于确定该蓝牙设备的操作系统。
针对目前缺乏用于确定蓝牙设备的操作系统的探测方法的问题,尚未提出有效的解决方法。
发明内容
基于此,有必要针对上述技术问题,提供一种操作系统探测方法、装置、电子装置和计算机设备。
第一方面,本申请实施例提供了一种操作系统探测方法,方法包括:
与目标蓝牙设备建立连接,并向所述目标蓝牙设备发送第一请求数据包,其中,所述第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;
接收所述目标蓝牙设备针对所述第一请求数据包返回的第一响应数据包,并根据接收到的所述第一响应数据包确定所述目标蓝牙设备的操作系统为windows系统或android系统。
在其中一个实施例中,所述方法还包括:
在向所述目标蓝牙设备发送第一请求数据包后,在与所述目标蓝牙设备保持连接但未接收到所述目标蓝牙设备返回的所述第一响应数据包的情况下,重新建立与所述目标蓝牙设备的连接,并向所述目标蓝牙设备发送第二请求数据包,其中,所述第二请求数据包中包含有字节长度为预设的第二长度的请求模糊字段,所述第二长度小于所述第一长度;
接收所述目标蓝牙设备针对所述第二请求数据包返回的第二响应数据包,并根据接收到的所述第二响应数据包确定所述目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统。
在其中一个实施例中,所述根据接收到的所述第一响应数据包确定所述目标蓝牙设备的操作系统为windows系统或android系统,包括:
若所述第一响应数据包为不包含响应模糊字段的拒绝响应数据包,则确定所述目标蓝牙设备的操作系统为android系统;
若所述第一响应数据包中包含有长度0字节的响应模糊字段,则确定所述目标蓝牙设备的操作系统为windows系统。
在其中一个实施例中,所述根据接收到的所述第二响应数据包确定所述目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统,包括:
若所述响应数据包中包含有与所述预设的第二长度的请求模糊字段一致的响应模糊字段,则确定所述目标蓝牙设备的操作系统为macOS系统;
若所述响应数据包中包含有长度为0字节的响应模糊字段,则确定所述目标蓝牙设备的操作系统为ios系统。
在其中一个实施例中,所述方法还包括:
在向所述目标蓝牙设备发送第一请求数据包后,若与所述目标蓝牙设备的连接被断开,则确定所述目标蓝牙设备的操作系统为未知系统。
在其中一个实施例中,所述根据接收到的所述第二响应数据包确定所述目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统,还包括:
若所述目标蓝牙设备的操作系统不为ios系统和macOS系统中的任意一种,则确定所述目标蓝牙设备的操作系统为未知系统。
在其中一个实施例中,所述与目标蓝牙设备的连接为基于L2CAP协议的数据连接。
第二方面,本申请实施例还提供一种操作系统探测装置,所述装置包括第一请求模块和第一响应模块:
所述第一请求模块,用于与目标蓝牙设备建立连接,并向所述目标蓝牙设备发送第一请求数据包,其中,所述第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;
所述第一响应模块,用于接收所述目标蓝牙设备针对所述第一请求数据包返回的第一响应数据包,并根据接收到的所述第一响应数据包确定所述目标蓝牙设备的操作系统为windows系统或android系统。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面的方法。
上述操作系统探测方法、装置、电子装置和计算机设备,通过与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段,再接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。其能够利用L2CAP协议的模糊字段实现对目标蓝牙设备的操作系统的探测。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的操作系统探测方法的应用场景图;
图2是根据本申请实施例的操作系统探测终端的硬件结构框图;
图3是根据本申请实施例的一种操作系统探测方法的流程图;
图4是根据本申请实施例的操作系统探测装置的结构示意图;
图5是根据本申请实施例的电子装置的结构示意图;
图6是根据本申请实施例的计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1是根据本申请实施例中操作系统探测方法的应用场景图,如图1所示,在该应用环境中,包括服务器101和蓝牙设备102。服务器101通过蓝牙与蓝牙设备102建立连接。具体地,服务器101向蓝牙设备102发送第一请求数据包,其中,该第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段。蓝牙设备102向服务器101返回针对第一请求数据包的第一响应数据包。服务器101根据该第一响应数据包确定目标蓝牙设备的操作系统。其中,服务器101可以用独立的服务器或者是多个服务器组成的服务器集群来实现,蓝牙设备102具体可以为任意一种能够基于L2CAP(Link Logical Control and AdaptationProtocol)协议进行通信的物理设备。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图2是根据本申请实施例的操作系统探测终端的硬件结构框图。如图2所示,终端20可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器204,可选地,上述终端还可以包括用于通信功能的传输设备206以及输入输出设备208。输入输出设备可以是扫描仪以及机器人,上述两者均可以通过有线或者无线的方式将采集到的位置信息传输至处理器202。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器204可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的操作系统探测方法对应的计算机程序,处理器202通过运行存储在存储器204内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端20的通信供应商提供的无线网络。在一个实例中,传输设备206包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备206可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在一个实施例中,图3是根据本申请实施例中操作系统探测方法的流程图,如图3所示,以该方法应用于图2中的终端为例进行说明,包括以下步骤:
步骤S310,与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段。
目标蓝牙设备为任意一种实现了基于L2CAP协议的蓝牙通信技术的物理设备,例如移动电话、PDA、无线耳机、笔记本电脑、智能家具设备以及智能医疗器械。在对该目标蓝牙设备进行操作系统探测之前,需要先与其建立连接,并进行数据包的交互。其中,与目标蓝牙设备建立连接,具体可以为获取需要进行操作系统探测的蓝牙设备的地址。例如,通过蓝牙扫描周围的蓝牙设备,并获取其地址。在从蓝牙设备的地址中选定一个需要进行操作系统探测的地址后,即可与该地址建立连接,并向该地址发送第一请求数据包。
进一步地,向目标蓝牙设备发送的第一请求数据包,可以为基于L2CAP协议,并且包含有模糊字段的请求数据包,例如L2CAP_ECHO_REQ。其中,模糊字段为未被L2CAP协议严格定义的字段。在L2CAP协议中,有两种数据包中均包含模糊字段,即L2CAP_ECHO_REQ和L2CAP_ECHO_RSP。其中,L2CAP_ECHO_REQ数据包为请求数据包,而L2CAP_ECHO_RSP为响应数据包。该两种数据包均包含可选字段data,该字段未被定义用于使用的具体字段内容,且长度则可以由同一个数据包中的length字段指定。在蓝牙设备中,不同的操作系统在使用该字段时,将进行不同的处理。因此,该字段被用于蓝牙通信时,可以体现蓝牙设备所对应的不同操作系统所表现的不同行为,从而可以通过该字段来对目标蓝牙设备所使用的操作系统进行探测。
具体地,在向目标蓝牙设备发送L2CAP_ECHO_REQ数据包时,该data字段可以设置为任意668字节的字段。该字节长度可以用于探测目标蓝牙设备是否属于windows系统或android系统中的一种。
可以理解地,基于L2CAP协议的复杂性,除了上述举例说明的data字段外,也可以使用L2CAP协议中的其他模糊字段进行蓝牙设备的操作系统的探测,在本实施例中不作具体限定。
步骤S320,接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。
由于第一请求数据包中包含有第一请求模糊字段,而在L2CAP协议中,不同的操作系统对该第一请求模糊字段将产生不同的行为,具体地,在不同的操作系统中对该第一请求模糊字段的长度可以包含不同的固有限制。因此可以根据目标蓝牙设备针对第一请求数据包所返回的第一响应数据包来确定目标蓝牙设备的操作系统。例如,在向目标蓝牙设备发送L2CAP_ECHO_REQ数据包后,若接收到目标蓝牙设备返回的第一响应数据包,则可以根据该响应数据包确定目标蓝牙设备的操作系统。其中,根据目标蓝牙设备的操作系统的不同,其返回的第一响应数据包也将不同。
具体地,针对发送的L2CAP_ECHO_REQ,目标蓝牙设备返回的第一响应数据包可以包括L2CAP_ECHO_RSP和L2CAP_COMMAND_REJECT_RSP。若目标蓝牙设备的操作系统为windows,则将返回包含0字节data字段的L2CAP_ECHO_RSP数据包。另外地,若目标蓝牙设备的操作系统为android,则将返回L2CAP_COMMAND_REJECT_RSP数据包。因此,可以根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。
另外地,若目标蓝牙设备所返回的第一响应数据包,既不为包含0字节data字段的L2CAP_ECHO_RSP数据包,也不为L2CAP_COMMAND_REJECT_RSP,则可以确定该目标蓝牙设备的操作系统既不属于windows系统,也不属于android系统。此时,还需要对该目标蓝牙设备的操作系统进行进一步地探测。
具体地,可以判断在向目标蓝牙设备发送第一请求数据包后,与该目标蓝牙设备之间的连接是否断开,若是,则可以确定该目标蓝牙设备的操作系统为未知系统,此时可以结束探测。若该目标蓝牙设备未返回任何响应数据包,但与其的连接未被断开,则该目标蓝牙设备所使用的操作系统可能属于macOS或ios。可以通过重新设置模糊字段后,再次向该目标蓝牙设备发送请求数据包来进行确定。
步骤S310至步骤S320中,通过与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段,再接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。其能够利用L2CAP协议的模糊字段实现对目标蓝牙设备的操作系统的探测。
进一步地,在一个实施例中,还包括以下步骤:
步骤S330,在向目标蓝牙设备发送第一请求数据包后,在与目标蓝牙设备保持连接但未接收到目标蓝牙设备返回的第一响应数据包的情况下,重新建立与目标蓝牙设备的连接,并向目标蓝牙设备发送第二请求数据包,其中,第二请求数据包中包含有字节长度为预设的第二长度的请求模糊字段,第二长度小于第一长度。
由于目标蓝牙设备使用不同的操作系统会对第一请求数据包做出不同的响应。在与目标蓝牙设备保持连接但未接收到目标蓝牙设备返回的第一响应数据包的情况下,可以确定该目标蓝牙设备所使用的操作系统为window系统和android系统以外的其他操作系统,因此需要向目标蓝牙设备重新发送区别于第一请求数据包的第二请求数据包来进一步进行操作系统的探测。
同样地,该第二请求数据包可以为L2CAP协议中的L2CAP_ECHO_REQ数据包。其中,在该请求数据包中,为了探测目标蓝牙设备的操作系统是否属于macOS系统或ios系统,可以将L2CAP_ECHO_REQ数据包中的data字段设置为任意44字节。
步骤S340,接收目标蓝牙设备针对第二请求数据包返回的第二响应数据包,并根据接收到的第二响应数据包确定目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统。
具体地,在向目标蓝牙设备发送第一请求数据包为L2CAP_ECHO_REQ数据包后,若接收到该目标蓝牙设备返回的L2CAP_ECHO_RSP数据包,则可以根据该第二响应数据包中的模糊字段的差异来确定该目标蓝牙设备的操作系统。
上述步骤在通过向目标蓝牙设备发送第一请求数据包确定该目标蓝牙设备所使用的操作系统既不属于windows系统,也不属于android系统之后,通过向目标蓝牙设备重新发送第二请求数据包来进一步确定目标蓝牙设备的操作系统是否属于ios系统、macOS系统以及未知系统中的一种,从而通过发送两次请求数据包实现了对目标蓝牙设备的操作系统的探测。
进一步地,在一个实施例中,基于上述步骤S320,根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统,具体包括如下步骤:
步骤S321,若第一响应数据包为不包含响应模糊字段的拒绝响应数据包,则确定目标蓝牙设备的操作系统为android系统。
其中,拒绝响应数据包具体可以为L2CAP协议中的L2CAP_COMMAND_REJECT_RSP数据包。
步骤S322,若第一响应数据包中包含有长度0字节的响应模糊字段,则确定目标蓝牙设备的操作系统为windows系统。
上述步骤S321至步骤S322,根据Windows系统和android系统对模糊字段的长度的固有限制,实现了利用目标蓝牙设备对第一请求数据包所作出的不同响应对目标蓝牙设备的操作系统的确定。
另外,基于上述步骤S340,根据接收到的第二响应数据包确定目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统,具体包括以下步骤:
步骤S341,若响应数据包中包含有与预设的第二长度的请求模糊字段一致的响应模糊字段,则确定目标蓝牙设备的操作系统为macOS系统。
步骤S342,若响应数据包中包含有长度为0字节的响应模糊字段,则确定目标蓝牙设备的操作系统为ios系统。
上述步骤S341至步骤S342,根据ios系统和macOS系统对模糊字段的长度的固有限制,实现了利用目标蓝牙设备对第二请求数据包所作出的不同响应对目标蓝牙设备的操作系统的确定。
另外地,在一个实施例中,还包括以下步骤:
步骤S350,在向目标蓝牙设备发送第一请求数据包后,若与目标蓝牙设备的连接被断开,则确定目标蓝牙设备的操作系统为未知系统。
另外地,基于上述步骤S341和S342,在一个实施例中,还包括以下步骤:
步骤S343,若目标蓝牙设备的操作系统不为ios系统和macOS系统中的任意一种,则确定目标蓝牙设备的操作系统为未知系统。
进一步地,在一个实施例中,与目标蓝牙设备的连接为基于L2CAP协议的数据连接。
由于L2CAP协议为蓝牙传输层的通信协议,因此与目标蓝牙设备进行基于该协议的数据通信,并利用该协议中的模糊字段进行目标蓝牙设备中操作系统的探测,能够实现对目前渗透测试中,基于传统网络的操作系统探测方法,所无法确定的蓝牙设备的操作系统的探测。
具体地,在一个实施例中,提供了一种操作系统探测方法,包括以下步骤:
步骤S110,确定需要探测操作系统的蓝牙设备,获得对应的蓝牙设备的地址;
步骤S120,选择一个蓝牙设备作为目标设备,根据该目标设备的地址进行操作系统探测;
步骤S130,向目标设备发送data字段为任意668字节的L2CAP_ECHO_REQ数据包;
步骤S131,判断目标设备是否响应的L2CAP_ECHO_RSP,若是,则目标设备的操作系统为windows系统;
步骤S132,判断目标设备是否响应L2CAP_COMMAND_REJECT_RSP,若是,则目标设备的操作系统为android系统;
步骤S133,若与目标设备的L2CAP连接保持,但目标设备无响应,则断开与目标设备的L2CAP连接,并重新向目标设备发送data字段为任意44字节的L2CAP_ECHO_REQ数据包;
步骤S1331,若目标设备响应的L2CAP_ECHO_RSP携带的data字段与先前发送的data字段相同,则确定目标设备为macOS系统;
步骤S1332,若目标设备响应的L2CAP_ECHO_RSP携带大小为0字节的data字段,则确定目标设备为ios系统;
步骤S1333,若确定目标设备的操作系统不属于windows系统、android系统、macOS系统以及ios系统中的任意一种,则确定目标设备的操作系统为未知系统。
上述步骤S310至步骤S350,在向目标蓝牙设备发送第一请求数据包后,在于目标蓝牙设备保持连接但未接收到该目标蓝牙设备返回的第一响应数据包的情况下,向该目标蓝牙设备重新发送第二请求数据包,从而根据目标蓝牙设备对该第二请求数据包的响应来确定目标蓝牙设备的操作系统为macOS、ios或未知系统,在接收到目标蓝牙设备针对第一请求数据包的响应后,根据目标蓝牙设备返回的第一响应数据包来确定目标蓝牙设备的操作系统为windows或android,且使用基于L2CAP协议的数据包,从而实现了利用模糊字段对蓝牙设备的操作系统的探测。
本实施例还提供了一种操作系统探测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
基于同一发明构思,如图4所示,本申请实施例的操作系统探测装置40,包括:
第一请求模块42,用于与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;和,
第一响应模块44,用于接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。
上述操作系统探测装置,通过与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段,再接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。其能够利用L2CAP协议的模糊字段实现对目标蓝牙设备的操作系统的探测。
在一个实施例中,操作系统探测装置40还包括第二请求模块和第二响应模块,所述第二请求模块用于在向目标蓝牙设备发送第一请求数据包后,在与目标蓝牙设备保持连接但未接收到目标蓝牙设备返回的第一响应数据包的情况下,重新建立与目标蓝牙设备的连接,并向目标蓝牙设备发送第二请求数据包,其中,第二请求数据包中包含有字节长度为预设的第二长度的请求模糊字段,第二长度小于第一长度;所述第二响应模块用于接收目标蓝牙设备针对第二请求数据包返回的第二响应数据包,并根据接收到的第二响应数据包确定目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统。
在一个实施例中,第一响应模块44还用于在第一响应数据包为不包含响应模糊字段的拒绝响应数据包时,确定目标蓝牙设备的操作系统为android系统,在第一响应数据包中包含有长度0字节的响应模糊字段时,确定目标蓝牙设备的操作系统为windows系统。
在一个实施例中,第二响应模块还用于在响应数据包中包含有与预设的第二长度的请求模糊字段一致的响应模糊字段时,确定目标蓝牙设备的操作系统为macOS系统,在响应数据包中包含有长度为0字节的响应模糊字段时,确定目标蓝牙设备的操作系统为ios系统。
在一个实施例中,操作系统探测装置40还包括未知系统确定模块,所述未知系统确定模块用于在向目标蓝牙设备发送第一请求数据包后,若与目标蓝牙设备的连接被断开,则确定目标蓝牙设备的操作系统为未知系统。
在一个实施例中,操作系统探测装置40还包括其他确定模块,所述其他确定模块用于还用于在目标蓝牙设备的操作系统不为ios系统和macOS系统中的任意一种时,确定目标蓝牙设备的操作系统为未知系统。
在一个实施例中,与目标蓝牙设备的连接为基于L2CAP协议的数据连接。
关于操作系统探测装置的实施例的具体限定可以参见上文中对于操作系统探测方法的限定,在此不再赘述。上述操作系统探测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图5所示,提供了一种电子装置,包括存储器和处理器。存储器中存储有计算机程序,该电子装置的处理器用于提供计算和控制能力。该电子装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器执行计算机程序时实现以下步骤:
与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;
接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在向目标蓝牙设备发送第一请求数据包后,在与目标蓝牙设备保持连接但未接收到目标蓝牙设备返回的第一响应数据包的情况下,重新建立与目标蓝牙设备的连接,并向目标蓝牙设备发送第二请求数据包,其中,第二请求数据包中包含有字节长度为预设的第二长度的请求模糊字段,第二长度小于第一长度;
接收目标蓝牙设备针对第二请求数据包返回的第二响应数据包,并根据接收到的第二响应数据包确定目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若第一响应数据包为不包含响应模糊字段的拒绝响应数据包,则确定目标蓝牙设备的操作系统为Android系统;
若第一响应数据包中包含有长度0字节的响应模糊字段,则确定目标蓝牙设备的操作系统为Windows系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若响应数据包中包含有与预设的第二长度的请求模糊字段一致的响应模糊字段,则确定目标蓝牙设备的操作系统为macOS系统;
若响应数据包中包含有长度为0字节的响应模糊字段,则确定目标蓝牙设备的操作系统为ios系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在向目标蓝牙设备发送第一请求数据包后,若与目标蓝牙设备的连接被断开,则确定目标蓝牙设备的操作系统为未知系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标蓝牙设备的操作系统不为ios系统和macOS系统中的任意一种,则确定目标蓝牙设备的操作系统为未知系统。
在一个实施例中,与目标蓝牙设备的连接为基于L2CAP协议的数据连接。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述电子装置,通过与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段,再接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。其能够利用L2CAP协议的模糊字段实现对目标蓝牙设备的操作系统的探测。
在一个实施例中,如图6所示,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种操作系统探测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,上述结构仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比上述更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;
接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在向目标蓝牙设备发送第一请求数据包后,在与目标蓝牙设备保持连接但未接收到目标蓝牙设备返回的第一响应数据包的情况下,重新建立与目标蓝牙设备的连接,并向目标蓝牙设备发送第二请求数据包,其中,第二请求数据包中包含有字节长度为预设的第二长度的请求模糊字段,第二长度小于第一长度;
接收目标蓝牙设备针对第二请求数据包返回的第二响应数据包,并根据接收到的第二响应数据包确定目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若第一响应数据包为不包含响应模糊字段的拒绝响应数据包,则确定目标蓝牙设备的操作系统为Android系统;
若第一响应数据包中包含有长度0字节的响应模糊字段,则确定目标蓝牙设备的操作系统为Windows系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若响应数据包中包含有与预设的第二长度的请求模糊字段一致的响应模糊字段,则确定目标蓝牙设备的操作系统为macOS系统;
若响应数据包中包含有长度为0字节的响应模糊字段,则确定目标蓝牙设备的操作系统为ios系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在向目标蓝牙设备发送第一请求数据包后,若与目标蓝牙设备的连接被断开,则确定目标蓝牙设备的操作系统为未知系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标蓝牙设备的操作系统不为ios系统和macOS系统中的任意一种,则确定目标蓝牙设备的操作系统为未知系统。
在一个实施例中,与目标蓝牙设备的连接为基于L2CAP协议的数据连接。
上述计算机设备,通过与目标蓝牙设备建立连接,并向目标蓝牙设备发送第一请求数据包,其中,第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段,再接收目标蓝牙设备针对第一请求数据包返回的第一响应数据包,并根据接收到的第一响应数据包确定目标蓝牙设备的操作系统为windows系统或android系统。其能够利用L2CAP协议的模糊字段实现对目标蓝牙设备的操作系统的探测。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种操作系统探测方法,其特征在于,所述方法包括:
与目标蓝牙设备建立连接,并向所述目标蓝牙设备发送第一请求数据包,其中,所述第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;
接收所述目标蓝牙设备针对所述第一请求数据包返回的第一响应数据包,并根据接收到的所述第一响应数据包确定所述目标蓝牙设备的操作系统为windows系统或android系统。
2.根据权利要求1所述的操作系统探测方法,其特征在于,所述方法还包括:
在向所述目标蓝牙设备发送所述第一请求数据包后,在与所述目标蓝牙设备保持连接但未接收到所述目标蓝牙设备返回的所述第一响应数据包的情况下,重新建立与所述目标蓝牙设备的连接,并向所述目标蓝牙设备发送第二请求数据包,其中,所述第二请求数据包中包含有字节长度为预设的第二长度的请求模糊字段,所述第二长度小于所述第一长度;
接收所述目标蓝牙设备针对所述第二请求数据包返回的第二响应数据包,并根据接收到的所述第二响应数据包确定所述目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统。
3.根据权利要求1或2所述的方法,其特征在于,所述根据接收到的所述第一响应数据包确定所述目标蓝牙设备的操作系统为windows系统或android系统,包括:
若所述第一响应数据包为不包含响应模糊字段的拒绝响应数据包,则确定所述目标蓝牙设备的操作系统为android系统;
若所述第一响应数据包中包含有长度0字节的响应模糊字段,则确定所述目标蓝牙设备的操作系统为windows系统。
4.根据权利要求2所述的方法,其特征在于,所述根据接收到的所述第二响应数据包确定所述目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统,包括:
若所述响应数据包中包含有与所述预设的第二长度的请求模糊字段一致的响应模糊字段,则确定所述目标蓝牙设备的操作系统为macOS系统;
若所述响应数据包中包含有长度为0字节的响应模糊字段,则确定所述目标蓝牙设备的操作系统为ios系统。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在向所述目标蓝牙设备发送第一请求数据包后,若与所述目标蓝牙设备的连接被断开,则确定所述目标蓝牙设备的操作系统为未知系统。
6.根据权利要求4所述的方法,其特征在于,所述根据接收到的所述第二响应数据包确定所述目标蓝牙设备的操作系统为ios系统、macOS系统或未知系统,还包括:
若所述目标蓝牙设备的操作系统不为ios系统和macOS系统中的任意一种,则确定所述目标蓝牙设备的操作系统为未知系统。
7.根据权利要求1或2所述的方法,其特征在于,所述与目标蓝牙设备的连接为基于L2CAP协议的数据连接。
8.一种操作系统探测装置,其特征在于,所述装置包括第一请求模块和第一响应模块:
所述第一请求模块,用于与目标蓝牙设备建立连接,并向所述目标蓝牙设备发送第一请求数据包,其中,所述第一请求数据包中包含有字节长度为预设的第一长度的请求模糊字段;
所述第一响应模块,用于接收所述目标蓝牙设备针对所述第一请求数据包返回的第一响应数据包,并根据接收到的所述第一响应数据包确定所述目标蓝牙设备的操作系统为windows系统或android系统。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110578464.0A CN113419907B (zh) | 2021-05-26 | 2021-05-26 | 操作系统探测方法、装置、电子装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110578464.0A CN113419907B (zh) | 2021-05-26 | 2021-05-26 | 操作系统探测方法、装置、电子装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419907A true CN113419907A (zh) | 2021-09-21 |
CN113419907B CN113419907B (zh) | 2023-05-23 |
Family
ID=77712966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110578464.0A Active CN113419907B (zh) | 2021-05-26 | 2021-05-26 | 操作系统探测方法、装置、电子装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419907B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080181215A1 (en) * | 2007-01-26 | 2008-07-31 | Brooks Bollich | System for remotely distinguishing an operating system |
CN103733661A (zh) * | 2011-07-25 | 2014-04-16 | 摩托罗拉移动有限责任公司 | 蓝牙通信系统中用于提供简档信息的方法和装置 |
CN104079571A (zh) * | 2014-06-27 | 2014-10-01 | 广州华多网络科技有限公司 | 一种识别Android模拟器的方法及装置 |
CN107292154A (zh) * | 2017-06-09 | 2017-10-24 | 北京奇安信科技有限公司 | 一种终端特征识别方法及系统 |
CN111448825A (zh) * | 2018-06-13 | 2020-07-24 | 华为技术有限公司 | 一种传输控制方法及设备 |
US20200288519A1 (en) * | 2019-03-05 | 2020-09-10 | Samsung Electronics Co., Ltd. | Electronic device for transmitting response message in bluetooth network environment and method for the same |
CN112469013A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种蓝牙连接方法及相关装置 |
CN112469011A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种蓝牙配对方法及相关装置 |
-
2021
- 2021-05-26 CN CN202110578464.0A patent/CN113419907B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080181215A1 (en) * | 2007-01-26 | 2008-07-31 | Brooks Bollich | System for remotely distinguishing an operating system |
CN103733661A (zh) * | 2011-07-25 | 2014-04-16 | 摩托罗拉移动有限责任公司 | 蓝牙通信系统中用于提供简档信息的方法和装置 |
CN104079571A (zh) * | 2014-06-27 | 2014-10-01 | 广州华多网络科技有限公司 | 一种识别Android模拟器的方法及装置 |
CN107292154A (zh) * | 2017-06-09 | 2017-10-24 | 北京奇安信科技有限公司 | 一种终端特征识别方法及系统 |
CN111448825A (zh) * | 2018-06-13 | 2020-07-24 | 华为技术有限公司 | 一种传输控制方法及设备 |
US20200288519A1 (en) * | 2019-03-05 | 2020-09-10 | Samsung Electronics Co., Ltd. | Electronic device for transmitting response message in bluetooth network environment and method for the same |
CN112469013A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种蓝牙连接方法及相关装置 |
CN112469011A (zh) * | 2019-09-06 | 2021-03-09 | 华为技术有限公司 | 一种蓝牙配对方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113419907B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6726426B2 (ja) | 端末間のログイン不要方法及び装置 | |
US9130804B2 (en) | Method and system for transmission of data packets from an IP-based network via a first network node to a second network node | |
CN109088799B (zh) | 一种客户端接入方法、装置、终端以及存储介质 | |
WO2018058636A1 (zh) | 一种传输响应消息的方法和装置 | |
CN111263338A (zh) | 蓝牙Mesh网络的配网方法与相关配网设备及系统 | |
CN106789486B (zh) | 共享接入的检测方法、装置、电子设备及计算机可读存储介质 | |
CN112398847A (zh) | 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统 | |
CN106507414B (zh) | 报文转发方法及装置 | |
CN109561487B (zh) | 降低移动终端能耗的方法、装置以及移动终端 | |
US10594584B2 (en) | Network analysis and monitoring tool | |
CN112165408A (zh) | 一种模拟客户串联部署环境的测试方法和装置 | |
CN108512743A (zh) | 局域网即时通信服务方法、装置以及电子设备 | |
CN112769845B (zh) | 漏洞测试方法、装置、电子装置和计算机设备 | |
CN113810427A (zh) | 一种渗透测试方法、终端设备及存储介质 | |
CN113419907A (zh) | 操作系统探测方法、装置、电子装置和计算机设备 | |
CN105208516B (zh) | 一种蓝牙寻呼方法和装置 | |
CN115004160A (zh) | 数据处理方法、装置、处理设备以及数据存储系统 | |
CN112291749A (zh) | 唤醒T-Box的方法和装置、T-Box、服务器 | |
US20140136597A1 (en) | Relay enabled dynamic virtual private network | |
CN111953608B (zh) | 一种邻居表项管理方法、装置、电子设备及存储介质 | |
CN112804102B (zh) | 设备绑定方法、装置和终端 | |
CN112333054B (zh) | 设备通信方法、装置、设备及计算机可读存储介质 | |
WO2021155529A1 (zh) | 资源删除方法、装置、设备及存储介质 | |
CN115225652A (zh) | 边缘服务平台的确定方法及系统、电子设备、存储介质 | |
CN113747490A (zh) | 一种wifi连通性检测方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |