CN114760266B - 虚拟地址生成方法、装置和计算机设备 - Google Patents

虚拟地址生成方法、装置和计算机设备 Download PDF

Info

Publication number
CN114760266B
CN114760266B CN202210196695.XA CN202210196695A CN114760266B CN 114760266 B CN114760266 B CN 114760266B CN 202210196695 A CN202210196695 A CN 202210196695A CN 114760266 B CN114760266 B CN 114760266B
Authority
CN
China
Prior art keywords
system fingerprint
packet
virtual address
fingerprint information
protocol stack
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.)
Active
Application number
CN202210196695.XA
Other languages
English (en)
Other versions
CN114760266A (zh
Inventor
谭诗琴
刘茂林
龚亮华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fengtai Technology Beijing Co ltd
Original Assignee
Fengtai Technology Beijing Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fengtai Technology Beijing Co ltd filed Critical Fengtai Technology Beijing Co ltd
Priority to CN202210196695.XA priority Critical patent/CN114760266B/zh
Publication of CN114760266A publication Critical patent/CN114760266A/zh
Application granted granted Critical
Publication of CN114760266B publication Critical patent/CN114760266B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2546Arrangements for avoiding unnecessary translation

Abstract

本申请涉及一种虚拟地址生成方法、装置、计算机设备和存储介质。所述方法包括:服务器接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据系统指纹名在系统指纹库里找到对应的系统指纹信息;根据系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据协议栈构造与数据流量包对应的返回流量数据包,通过该方法提取了目标地址为目标虚拟地址的数据流量包,并根据系统指纹信息构建的协议栈对该数据流量包进回复,造成了该目标虚拟地址存在的假象,从而节省了设备资源,提升了虚拟地址的生成效率。

Description

虚拟地址生成方法、装置和计算机设备
技术领域
本申请涉及网络通信技术领域,特别是涉及一种虚拟地址生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
现有的通信地址虚拟化技术大多都是借助虚拟机(VMware、KVM、XEN等)的虚拟化技术,先创建一个虚拟机,然后在自动或者手动的给这个虚拟机指定一个通信地址。
然而,创建一个虚拟机往往需要消耗大量的设备资源,并且一个设备只能创建一个虚拟通信地址。当需要创建大量虚拟通信地址时,使用虚拟机来创建虚拟通信地址会消耗大量的设备资源,造成成本的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种机器人示教方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种机器人示教方法。所述方法包括:接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
在其中一个实施例中,所述根据所述系统指纹信息构建协议栈,包括:从所述系统指纹信息中选择对应的顺序产生方式来生成序号字段;从所述系统指纹信息中选择可选字段的值生成选项字段,并且从所述系统指纹中选择描述初始窗口大小的值来生成窗口。
在其中一个实施例中,所述根据所述系统指纹信息构建协议栈,还包括:接收检测客户端发送的回显请求报文;从所述系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
在其中一个实施例中,所述根据所述系统指纹信息构建协议栈,还包括:
接收检测客户段发送的端口开放检查请求报文;从所述系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
在其中一个实施例中,所述抓取目标地址为目标虚拟地址的数据流量包,包括:实时监听网络通信的网卡,并抓取通过所述网卡的数据流量包;从所述数据流量包中筛选出目标地址为目标虚拟地址的数据流量包。
在其中一个实施例中,所述根据所述协议栈构造与所述数据流量包对应的返回流量数据包,包括:将所述数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与所述返回流量数据包对应的返回流量数据包。
第二方面,本申请还提供了一虚拟地址生成装置。所述装置包括:信息接收模块,用于接收检测客户端发送的系统指纹名以及虚拟地址的范围;
指纹信息获取模块,用于根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;协议栈构建模块,用于根据所述系统指纹信息构建协议栈;流量包返回模块,用于抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收检测客户端发送的系统指纹名以及虚拟地址的范围;
根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
上述虚拟地址生成方法中,服务器接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据系统指纹名在系统指纹库里找到对应的系统指纹信息;根据系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据协议栈构造与数据流量包对应的返回流量数据包,通过该方法提取了目标地址为目标虚拟地址的数据流量包,并根据系统指纹信息构建的协议栈对该数据流量包进回复,造成了该目标虚拟地址存在的假象,从而节省了设备资源,提升了虚拟地址的生成效率。
附图说明
图1为一个实施例中虚拟地址生成方法的应用环境图;
图2为一个实施例中虚拟地址生成方法的流程示意图;
图3为一个实施例中虚拟地址生成方法的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的虚拟地址生成方法,可以应用于如图1所示的应用环境中。其中,测试终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104接收检测终端102发送的系统指纹名以及虚拟地址的范围;根据系统指纹名在系统指纹库里找到对应的系统指纹信息;根据系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据协议栈构造与数据流量包对应的返回流量数据包。
其中,测试终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在一个实施例中,如图2所示,提供了一种虚拟地址生成方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S202,接收检测客户端发送的系统指纹名以及虚拟地址的范围。
其中,系统指纹名是指系统指纹库的名称,与系统指纹库一一对应。系统指纹库中包含生产厂家、系统类别、第几代操作系统、设备类型、CPE(CommonPlatformEnumeration,通用平台枚举)格式描述系统信息、顺序产生方式、TCP(Transmission Control Protocol,传输控制协议)包中可选字段的值、TCP包的初始窗口大小、TCP明确指定拥塞通知时特征、TCP回复包的字段特征、向关闭的UDP(User Datagram Protocol,用户数据报协议)发包产生的回复特征、向目标机发送ICMP(Internet Control Message Protocol,控制报文协议)Datagram Protocol,用户数据报协议)包产生的特征。并且可以用SEQ来描述顺序产生方式、用OPS来描述TCP包中可选字段的值、WIN描述TCP包的初始窗口大小、ECN描述TCP明确指定拥塞通知时特征、T1-T7描述TCP回复包的字段特征、U1描述向关闭的UDP发包产生的回复特征、IE描述向目标机发送ICMP包产生的特征。
虚拟地址的生成范围包含可以生成虚拟通信地址的范围。如,若虚拟地址的范围为192.0.0.0-223.255.255.255,则服务器可以虚拟出该虚拟地址范围中的所有通信地址。
具体地,检测客户端向服务器发送系统指纹名以及虚拟地址的范围,服务器接收检测客户端发送的系统指纹名以及虚拟地址的范围。
S204,根据系统指纹名在系统指纹库里找到对应的系统指纹信息。
应该理解的是,每一系统指纹名都对应着不同的系统指纹信息。
具体地,根据 S202获取的系统指纹名在系统指纹库中选择与该系统指纹名相对应的系统指纹信息。
S206,根据系统指纹信息构建协议栈。
其中,协议栈包括TCP协议。TCP 协议提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。这一过程由客户端执行连接来触发。第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器端,客户端进入SYN_SENT状态,等待服务器端确认。第二次握手:服务器端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入SYN_RCVD状态。第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。
由于虚拟通信并不真实存在于服务器中,所以服务器需要构造各个检测客户端发送的检测包的返回检测包。
S208,抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
服务器通过网卡获取所有数据流量包,并从所有的数据流量包中筛选出目的地址为目标虚拟地址的数据流量包,并根据该数据流量包所使用的通信协议构造相应的返回数据流量包。
上述虚拟地址生成方法中,服务器接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据系统指纹名在系统指纹库里找到对应的系统指纹信息;根据系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据协议栈构造与数据流量包对应的返回流量数据包,通过该方法提取了目标地址为目标虚拟地址的数据流量包,并根据系统指纹信息构建的协议栈对该数据流量包进回复,造成了该目标虚拟地址存在的假象,从而节省了设备资源,提升了虚拟地址的生成效率。
在一个实施例中,根据系统指纹信息构建协议栈,包括:
从系统指纹信息中选择对应的顺序产生方式来生成序号字段;从系统指纹信息中选择可选字段的值生成选项字段,并且从系统指纹中选择描述初始窗口大小的值来生成窗口。
值得说明的是,在TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做确认应答(ACK)。当发送端将数据发出之后会等待对端的确认应答。如果有确认应答,说明数据已经成功到达对端。反之,则数据丢失的可能性很大。在一定时间内没有等待到确认应答,发送端就可以认为数据已经丢失,并进行重发。由此,即使产生了丢包,仍然能够保证数据能够到达对端,实现可靠传输。未收到确认应答并不意味着数据一定丢失。也有可能是数据对方已经收到,只是返回的确认应答在途中丢失。这种情况也会导致发送端误以为数据没有到达目的地而重发数据。此外,也有可能因为一些其他原因导致确认应答延迟到达,在源主机重发数据以后才到达的情况也屡见不鲜。此时,源主机只要按照机制重发数据即可。对于目标主机来说,反复收到相同的数据是不可取的。为了对上层应用提供可靠的传输,目标主机必须放弃重复的数据包。为此我们引入了序列号。
序列号是按照顺序给发送数据的每一个字节(8位字节)都标上号码的编号。接收端查询接收数据 TCP 首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为确认应答返送回去。通过序列号和确认应答号,TCP 能够识别是否已经接收数据,又能够判断是否需要接收,从而实现可靠传输。
另外,TCP 协议是以1个段为单位,每发送一个段进行一次确认应答的处理。这样的传输方式有一个缺点,就是包的往返时间越长通信性能就越低。为解决这个问题,TCP 引入了窗口这个概念。其中,窗口大小就是指无需等待确认应答而可以继续发送数据的最大值确认应答不再是以每个分段,而是以更大的单位进行确认,转发时间将会被大幅地缩短。也就是说,发送端主机,在发送了一个段以后不必要一直等待确认应答。
具体地,服务器从系统指纹信息中选择顺序产生方式来生成序号字段,从系统指纹信息中获取可选字段地值生成选项字段,并根据序号字段以及选项字段生成序列号。再从系统指纹信息中找到描述初始窗口大小的值来生成窗口,也就是确定无需等待确认应答而可以继续发送数据的最大值。
在一个实例中,根据系统指纹信息构建协议栈,还包括:接收检测客户端发送的回显请求报文;从系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
需要说明的是,源主机向目的主机发送回显请求报文(类型:8,代码:0),在这个回显请求报文中,除了类型和代码字段,还在选项部分添加了16位的标识符和16位的序号字段。对于标识符,应用程序执行期间发送的所有ICMP报文都会填入相同的值(一般用进程号作标识符,用于匹配 ECHO 和 ECHO REPLY),而对于序号,应用程序每送出一个ICMP报文其数值就会加1(用于标记报文顺序)。回显请求的数据部分可以填写任意数据,这些数据主要用于调整ping包的大小。源主机发送的回显请求到达目的主机后,目的主机会向源主机发送回显应答报文(类型:0,代码:0)。从IP层看,这个ICMP回显应答报文与接收到的回显请求报文的内容基本相同,只有源IP地址和目标IP地址字段被交换了,且类型字段里填入了表示回显应答的0。源主机可以通过接收ICMP回显应答报文来确认目的主机的网络连接状况。
具体地,当接收到检测客户端发送地回显请求报文时,服务器会根据ICMP包产生的特征值来构造回显应答报文,并将该回显应答报文发送给检测客户端。
在一个实例中,根据系统指纹信息构建协议栈,还包括:接收检测客户段发送的端口开放检查请求报文;从系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
TCP端口开放检查适用于监听服务器地端口状态,该端口可以是固定端口,也可以指定其他端口。通过判断服务器返回应答数据流量包地时间来判断服务器是否有延时或者端口不同。
具体地,服务器根据接收到检测客户端发送地端口开放检查请求报文时,根据系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文,并将该端口开放检查应答报文发送给检测客户端。
本实施例中,服务器通过系统指纹信息构造端口开放检查应答报文,使得使得该目标虚拟地址为一个真实的通信地址。
在一个实施例中,根据协议栈构造与数据流量包对应的返回流量数据包,包括:
实时监听网络通信的网卡,并抓取通过网卡的数据流量包;从数据流量包中筛选出目标地址为目标虚拟地址的数据流量包;将数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与返回流量数据包对应的返回流量数据包。
在本实施例中,服务器抓取目标地址为目标虚拟地址的数据流量包,并根据协议栈构造与数据流量包对应的返回流量数据包,通过该方法提取了目标地址为目标虚拟地址的数据流量包,并根据系统指纹信息构建的协议栈对该数据流量包进回复,造成了该目标虚拟地址存在的假象,从而节省了设备资源,提升了虚拟地址的生成效率。
在一实施例中,提出了一种虚拟地址生成方法。
第一步:接收系统指纹名、需要生成的虚拟IP范围。
第二步:根据系统指纹名在系统指纹库中找到对应的指纹信息。
第三步:根据系统指纹信息构建TCP/IP协议栈;包括:sequencegeneration(序列生成)、ICMPecho(ICMP回显)、tcp explicit congestion notification(tcp显示阻塞通知)、TCP端口开放检查应答、UDP关闭端口检测返回ICMP端口不可达信息应答。
其中,sequencegeneration(序列生成):通过SEQ描述顺序产生方式生成sequencenumber(序号字段)、OPS描述TCP包中可选字段的值生成options(选项字段)、WIN描述TCP包的初始窗口大小生成window(窗口)、T1-T7描述TCP回复包的字段特征获取T1构建 。
ICMPecho(ICMP回显):通过IE 描述向目标机发送ICMP包产生的特征构建。
tcp explicit congestion notification(tcp显示阻塞通知):通过T1-T7描述TCP回复包的字段特征构造 。
TCP端口开放检查应答:通过T1-T7描述TCP回复包的字段特征构建。
UDP关闭端口检测返回ICMP端口不可达信息应答:通过U1描述向关闭的UDP发包产生的回复特征构造。
第四步:实时监听设备网卡也就是对外网络通信的网卡,抓取通过此网卡的流量数据。
第五步:筛选出目的IP为所设虚拟IP的数据流量包,不匹配的数据流量包丢弃。
第六步:解析筛选出的数据流量包,根据不同的协议构造返回流量。包括:ARP、ICMP、TCP、UDP;修改流量包的发送方以太网地址、发送方的IP地址、接收发的以太网地址、接收方的IP地址。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的机器人示教方法的机器人示教装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人示教装置实施例中的具体限定可以参见上文中对于机器人示教方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种机器人示教装置300,包括:信息接收模块302、信息获取模块304、协议栈构建模块306、流量包返回模块308,其中:
信息接收模块302,用于接收检测客户端发送的系统指纹名以及虚拟地址的范围;
指纹信息获取模块304,用于根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;
协议栈构建模块306,用于根据所述系统指纹信息构建协议栈;
流量包返回模块308,用于抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
上述虚拟地址生成装置中,服务器接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据系统指纹名在系统指纹库里找到对应的系统指纹信息;根据系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据协议栈构造与数据流量包对应的返回流量数据包,通过该方法提取了目标地址为目标虚拟地址的数据流量包,并根据系统指纹信息构建的协议栈对该数据流量包进回复,造成了该目标虚拟地址存在的假象,从而节省了设备资源,提升了虚拟地址的生成效率。
在一个实施例中,协议栈构建模块306,还用于从所述系统指纹信息中选择对应的顺序产生方式来生成序号字段;从所述系统指纹信息中选择可选字段的值生成选项字段,并且从所述系统指纹中选择描述初始窗口大小的值来生成窗口。
在一个实施例中,协议栈构建模块306,还用于接收检测客户端发送的回显请求报文;从所述系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
在一个实施例中,协议栈构建模块306,还用于接收检测客户段发送的端口开放检查请求报文;从所述系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
在一个实施例中,流量包返回模块308,还用于实时监听网络通信的网卡,并抓取通过所述网卡的数据流量包;从所述数据流量包中筛选出目标地址为目标虚拟地址的数据流量包。
在一个实施例中,流量包返回模块308,还用于将所述数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与所述返回流量数据包对应的返回流量数据包。
上述虚拟地址装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储路径轨迹数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人示教方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从所述系统指纹信息中选择对应的顺序产生方式来生成序号字段;从所述系统指纹信息中选择可选字段的值生成选项字段,并且从所述系统指纹中选择描述初始窗口大小的值来生成窗口。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收检测客户端发送的回显请求报文;从所述系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收检测客户段发送的端口开放检查请求报文;从所述系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:实时监听网络通信的网卡,并抓取通过所述网卡的数据流量包;从所述数据流量包中筛选出目标地址为目标虚拟地址的数据流量包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与所述返回流量数据包对应的返回流量数据包。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从所述系统指纹信息中选择对应的顺序产生方式来生成序号字段;从所述系统指纹信息中选择可选字段的值生成选项字段,并且从所述系统指纹中选择描述初始窗口大小的值来生成窗口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收检测客户端发送的回显请求报文;从所述系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收检测客户段发送的端口开放检查请求报文;从所述系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:实时监听网络通信的网卡,并抓取通过所述网卡的数据流量包;从所述数据流量包中筛选出目标地址为目标虚拟地址的数据流量包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与所述返回流量数据包对应的返回流量数据包。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收检测客户端发送的系统指纹名以及虚拟地址的范围;根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;根据所述系统指纹信息构建协议栈;抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从所述系统指纹信息中选择对应的顺序产生方式来生成序号字段;从所述系统指纹信息中选择可选字段的值生成选项字段,并且从所述系统指纹中选择描述初始窗口大小的值来生成窗口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收检测客户端发送的回显请求报文;从所述系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收检测客户段发送的端口开放检查请求报文;从所述系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:实时监听网络通信的网卡,并抓取通过所述网卡的数据流量包;从所述数据流量包中筛选出目标地址为目标虚拟地址的数据流量包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与所述返回流量数据包对应的返回流量数据包。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (9)

1.一种虚拟地址生成方法,其特征在于,所述方法包括:
接收检测客户端发送的系统指纹名以及虚拟地址的范围;
根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;
根据所述系统指纹信息构建协议栈,其中,所述协议栈包括以下至少一项:序号字段、选项字段、用于指示无需等待确认应答而可以继续发送数据的最大值的窗口、回显应答报文、端口开放检查应答报文;
抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
2.根据权利要求1所述的方法,其特征在于,所述根据所述系统指纹信息构建协议栈,包括:
从所述系统指纹信息中选择对应的顺序产生方式来生成序号字段;从所述系统指纹信息中选择可选字段的值生成选项字段,并且从所述系统指纹中选择描述初始窗口大小的值来生成窗口。
3.根据权利要求1所述的方法,其特征在于,所述根据所述系统指纹信息构建协议栈,还包括:
接收检测客户端发送的回显请求报文;
从所述系统指纹信息中提取ICMP包产生的特征值来构造回显应答报文。
4.根据权利要求1所述的方法,其特征在于,所述根据所述系统指纹信息构建协议栈,还包括:
接收检测客户段发送的端口开放检查请求报文;
从所述系统指纹信息中提取TCP回复包中的字段特征来构造端口开放检查应答报文。
5.根据权利要求1所述的方法,其特征在于,所述抓取目标地址为目标虚拟地址的数据流量包,包括:
实时监听网络通信的网卡,并抓取通过所述网卡的数据流量包;
从所述数据流量包中筛选出目标地址为目标虚拟地址的数据流量包。
6.根据权利要求1所述的方法,其特征在于,所述根据所述协议栈构造与所述数据流量包对应的返回流量数据包,包括:
将所述数据流量包中的发送方以及接收方的通信地址以及以太网地址进行对调,构造与所述返回流量数据包对应的返回流量数据包。
7.一种虚拟地址生成装置,其特征在于,所述装置包括:
信息接收模块,用于接收检测客户端发送的系统指纹名以及虚拟地址的范围;
指纹信息获取模块,用于根据所述系统指纹名在系统指纹库里找到对应的系统指纹信息;
协议栈构建模块,用于根据所述系统指纹信息构建协议栈,其中,所述协议栈包括以下至少一项:序号字段、选项字段、用于指示无需等待确认应答而可以继续发送数据的最大值的窗口、回显应答报文、端口开放检查应答报文;
流量包返回模块,用于抓取目标地址为目标虚拟地址的数据流量包,并根据所述协议栈构造与所述数据流量包对应的返回流量数据包。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210196695.XA 2022-03-01 2022-03-01 虚拟地址生成方法、装置和计算机设备 Active CN114760266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210196695.XA CN114760266B (zh) 2022-03-01 2022-03-01 虚拟地址生成方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210196695.XA CN114760266B (zh) 2022-03-01 2022-03-01 虚拟地址生成方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN114760266A CN114760266A (zh) 2022-07-15
CN114760266B true CN114760266B (zh) 2023-06-09

Family

ID=82326128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210196695.XA Active CN114760266B (zh) 2022-03-01 2022-03-01 虚拟地址生成方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN114760266B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7505418B1 (en) * 2004-11-01 2009-03-17 Empirix Inc. Network loopback using a virtual address
CN103716192A (zh) * 2013-12-31 2014-04-09 大连环宇移动科技有限公司 一种基于虚拟ip的无感串接设备
CN105099821A (zh) * 2015-07-30 2015-11-25 北京奇虎科技有限公司 基于云的虚拟环境下流量监控的方法和装置
CN112398685A (zh) * 2020-11-04 2021-02-23 腾讯科技(深圳)有限公司 基于移动终端的主机设备加速方法、装置、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718383B1 (en) * 2000-06-02 2004-04-06 Sun Microsystems, Inc. High availability networking with virtual IP address failover
US7171453B2 (en) * 2001-04-19 2007-01-30 Hitachi, Ltd. Virtual private volume method and system
US9363313B2 (en) * 2012-06-11 2016-06-07 Cisco Technology, Inc. Reducing virtual IP-address (VIP) failure detection time
CN103491000B (zh) * 2013-09-17 2016-09-28 烽火通信科技股份有限公司 虚拟路由器冗余协议虚拟ip和mac的管理系统及方法
CN104243632A (zh) * 2014-10-13 2014-12-24 三星电子(中国)研发中心 使非ip设备接入虚拟ip网络的方法和系统
CN109547350B (zh) * 2018-11-29 2021-10-08 迈普通信技术股份有限公司 一种路由学习方法及网关设备
CN111277436A (zh) * 2020-01-17 2020-06-12 深信服科技股份有限公司 一种设备状态切换方法、装置及电子设备和存储介质
CN112165537B (zh) * 2020-09-17 2021-08-27 广州锦行网络科技有限公司 一种用于ping回复的虚拟IP的方法
CN112311907B (zh) * 2020-11-18 2023-05-12 深信服科技股份有限公司 一种arp请求响应方法、负载均衡设备及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7505418B1 (en) * 2004-11-01 2009-03-17 Empirix Inc. Network loopback using a virtual address
CN103716192A (zh) * 2013-12-31 2014-04-09 大连环宇移动科技有限公司 一种基于虚拟ip的无感串接设备
CN105099821A (zh) * 2015-07-30 2015-11-25 北京奇虎科技有限公司 基于云的虚拟环境下流量监控的方法和装置
CN112398685A (zh) * 2020-11-04 2021-02-23 腾讯科技(深圳)有限公司 基于移动终端的主机设备加速方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
分布式并行服务器透明性及任务调度研究;杨峰,刘心松,左朝树,唐续;计算机研究与发展(第09期);全文 *

Also Published As

Publication number Publication date
CN114760266A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN105075216B (zh) 识别原始ip地址以及客户端端口连接
US8799504B2 (en) System and method of TCP tunneling
TWI332150B (en) Processing data for a tcp connection using an offload unit
JP6858749B2 (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
US9015822B2 (en) Automatic invocation of DTN bundle protocol
US7953093B2 (en) TCP/IP reordering
CN108494817A (zh) 数据传输方法、相关装置及系统
CN108881425B (zh) 一种数据包处理方法及系统
US8964755B2 (en) Obtaining information from data items
US7536468B2 (en) Interface method, system, and program product for facilitating layering of a data communications protocol over an active message layer protocol
CN107360177B (zh) 一种基于udp的报文传输方法及装置
CN107147655A (zh) 一种网络双协议栈并行处理模型及其处理方法
Géhberger et al. Performance evaluation of low latency communication alternatives in a containerized cloud environment
US20060101090A1 (en) Method and system for reliable datagram tunnels for clusters
CN111431871A (zh) Tcp半透明代理的处理方法和装置
CN105743852B (zh) 通过http实现跨越网闸进行Socket保持连接通信的方法及系统
US9319441B2 (en) Processor allocation for multi-core architectures
CN102055774B (zh) 基于包处理的http服务器及其数据处理方法
US8572260B2 (en) Predetermined ports for multi-core architectures
CN114760266B (zh) 虚拟地址生成方法、装置和计算机设备
CN111526137B (zh) 兼容服务器和客户端模式的网络加速器及数据处理方法
US20080056263A1 (en) Efficient transport layer processing of incoming packets
WO2015048999A1 (en) Method and proxy node for source to destination packet transfer
CN111865884B (zh) 一种报文处理方法、装置及设备
US8676993B1 (en) Bundled transmission control protocol connections

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