CN114650220A - 一种数据包引流方法及相关装置 - Google Patents
一种数据包引流方法及相关装置 Download PDFInfo
- Publication number
- CN114650220A CN114650220A CN202210335033.6A CN202210335033A CN114650220A CN 114650220 A CN114650220 A CN 114650220A CN 202210335033 A CN202210335033 A CN 202210335033A CN 114650220 A CN114650220 A CN 114650220A
- Authority
- CN
- China
- Prior art keywords
- domain name
- packet
- data packet
- address information
- drainage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012544 monitoring process Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012279 drainage procedure Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据包引流方法,包括:对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作。通过对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,而不是基于人工配置的方式获取地址信息,然后在发送数据包过程中,就可以根据所述地址信息对所述目标域名的数据包执行引流操作,也就是实现基于目标域名对数据包进行引流,而不需要技术人员再对地址信息进行配置,降低门槛,提高对数据包进行引流的效率。本申请还公开了一种数据包引流装置、终端设备以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据包引流方法、数据包引流装置、终端设备以及计算机可读存储介质。
背景技术
在网络应用过程中,在某些网络环境中需要采用VPN(Virtual Private Network,虚拟专用网络)对数据包进行引流,实现对数据包的加密和数据包目标地址的转换,以便进行远程访问。
相关技术中,一般基于制定好的IP(Internet Protocol,网际互连协议)规则对数据包进行引流,以便将需要引流的数据包发送至对应的VPN服务器中。但是,在实际的网络环境中IP可能出现改变更换等问题,导致IP规则配置复杂。增加了技术人员进行操作的门槛,降低对数据包引流的效率。
因此,如何解决基于IP规则进行引流配置的问题是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种数据包引流方法、数据包引流装置、终端设备以及计算机可读存储介质,以降低对引流进行配置的难度,避免增加操作门槛,提高数据包引流的效率。
为解决上述技术问题,本申请提供一种数据包引流方法,包括:
对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作。
可选的,对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,包括:
基于所述目标域名发送对应的域名数据包,以便服务器基于接收到的域名数据包返回域名回包;
对所述域名回包的接收过程进行监听,获得对应的地址信息。
可选的,基于所述目标域名发送对应的域名数据包,包括:
当所述目标域名对应的域名数据包发送至系统内核的情况下,通过数据过滤器将所述域名数据包进行拦截,并转发至虚拟网卡;
基于引流规则发送所述虚拟网卡中的域名数据包。
可选的,对所述域名回包的接收过程进行监听,获得对应的地址信息,包括:
判断所述域名回包是否封包在引流程序的隧道数据包中;
若是,则监听所述引流程序对应的回环网卡,获得所述地址信息;
若否,则监听物理网卡,获得所述地址信息。
可选的,监听所述引流程序对应的回环网卡,获得所述地址信息,包括:
当所述引流程序将所述隧道数据包中的域名回包写入所述回环网卡的情况下,基于柏克莱封包过滤器对所述回环网卡的域名回包进行监听;
当监听到所述域名回包的情况下,对所述域名回包进行解析,获得所述地址信息。
可选的,监听物理网卡,获得所述地址信息,包括:
基于柏克莱封包过滤器对所述物理网卡的域名解析端口进行监听;
当监听到域名回包的情况下,对所述域名回包进行解析,获得所述地址信息。
可选的,当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作,包括:
基于所述地址信息与对应域名的关系生成引流规则;
当发送数据包时,基于所述引流规则对所述数据包执行引流操作。
本申请还提供一种数据包引流装置,包括:
域名回包监听模块,用于对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
数据包引流模块,用于当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作。
本申请还提供一种终端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据包引流方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据包引流方法的步骤。
本申请所提供的一种数据包引流方法,包括:对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作。
通过对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,而不是基于人工配置的方式获取地址信息,然后在发送数据包过程中,就可以根据所述地址信息对所述目标域名的数据包执行引流操作,也就是实现基于目标域名对数据包进行引流,而不需要技术人员再对地址信息进行配置,降低门槛,提高对数据包进行引流的效率。
本申请还提供一种数据包引流装置、终端设备以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据包引流方法的流程图;
图2为本申请实施例所提供的另一种数据包引流方法的流程图;
图3为本申请实施例所提供的另一种数据包引流方法的域名数据包发送时序图;
图4为本申请实施例所提供的另一种数据包引流方法的第一回包监听时序图;
图5为本申请实施例所提供的另一种数据包引流方法的第二回包监听时序图;
图6为本申请实施例所提供的另一种数据包引流方法的数据包引流时序图;
图7为本申请实施例所提供的一种数据包引流装置的结构示意图;
图8为本申请实施例所提供的一种终端设备的结构示意图。
具体实施方式
本申请的核心是提供一种数据包引流方法、数据包引流装置、终端设备以及计算机可读存储介质,以降低对引流进行配置的难度,避免增加操作门槛,提高数据包引流的效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,一般基于制定好的IP规则对数据包进行引流,以便将需要引流的数据包发送至对应的VPN服务器中。但是,在实际的网络环境中IP可能出现改变更换等问题,导致IP规则配置复杂。增加了技术人员进行操作的门槛,降低对数据包引流的效率。
因此,本申请提供一种数据包引流方法,通过对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,而不是基于人工配置的方式获取地址信息,然后在发送数据包过程中,就可以根据所述地址信息对所述目标域名的数据包执行引流操作,也就是实现基于目标域名对数据包进行引流,而不需要技术人员再对地址信息进行配置,降低门槛,提高对数据包进行引流的效率。
一般来说,终端设备进行网络访问过程中是通过域名进行访问。也就是,在记录有域名与地址信息的数据中查找到对应的地址信息。进一步,当本地未保存对应的地址信息时,该终端设备则需要向对应的DNS(Domain Name System,域名系统)服务器发送DNS数据包以便进行DNS解析,并返回包含有地址信息的DNS回包。因此,本实施例中通过目标域名的域名回包直接监听到对应的地址信息,而不用再通过技术人员或其他方式获取到地址信息。
据此,以下通过一个实施例,对本申请提供的一种数据包引流方法进行进一步说明。
请参考图1,图1为本申请实施例所提供的一种数据包引流方法的流程图。
本实施例中,该方法可以包括:
S11,对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
可见,本步骤旨在对域名解析过程中的关于目标域名的域名回包进行监听,监听到域名回包中的域名以及地址信息。可见,本步骤旨在终端设备在进行DNS解析的过程中,对域名回包进行监听,以便获取到该域名回包中的地址信息,实现基于目标域名确定到对应的地址信息,而不是技术人员输入地址信息。
其中,该域名回包就是指在DNS解析过程中DNS服务器发送回的域名回包。
进一步的,该DNS解析过程可以是用户访问网络过程中执行的DNS解析过程,即在用户访问网络的过程中访问对应的网址,终端设备基于该网址中的域名进行DNS解析,发送对应的DNS数据包,对应的DNS服务器基于该DNS数据包返回域名回包。也就是,用户主动访问对应的域名地址,本实施例可以在后台被动获取到对应的地址信息,不会对用户的体验造成影响。
进一步的,该DNS解析过程还可以是技术人员在需要进行引流配置执行的DNS解析过程。也就是,技术人员基于需要配置的域名进行网络访问,或基于该域名仅执行DNS解析过程。但是,无论采用何种方式该终端设备均会发送基于该域名的域名数据包,对应的DNS服务器基于该域名数据包返回域名回包,并基于域名回包监听到地址信息。可见,当技术人员需要主动获取并配置对应的地址信息时,只需要访问对应的域名地址,即可在后台自动获取到地址信息,而不需要通过繁琐步骤确定并输入地址信息,降低了配置操作的门槛,提高了效率。
进一步的,该DNS解析过程也可以是在用户访问和技术人员操作过程中执行的DNS解析过程。也就是,同时通过上述两种操作进行DNS解析过程。
需要说明的是,上述执行DNS解析的过程中发送域名数据包和接收域名回包的操作,可以判断是否为需要引流的数据,若是,则基于引流操作的过程发送域名数据包和接收域名回包,否则执行正常的操作。
其中,域名回包的接收过程是对应的终端设备的网卡从网络中接收到域名回包,并传输至对应的应用程序的过程。因此,从网卡到应用程序的过程中进行监听,并在旁路实时解析出对应的请求内容,即解析出其中的域名和地址信息。其中,监听的操作方式可以采用现有技术提供的任意一种监听方式,在此不做具体限定。此外,可以为了更好的监听效果,在类Unix系统中采用BPF(Berkeley Packet Filter,柏克莱封包过滤器)监听器进行监听。
进一步的,为了可以基于域名主动配置对应的地址信息,而不是仅仅通过被动接收域名回报的方式获取地址信息,提高对引流过程进行配置的效率,本步骤可以包括:
S111,基于目标域名发送对应的域名数据包,以便服务器基于接收到的域名数据包返回域名回包;
S112,对域名回包的接收过程进行监听,获得对应的地址信息。
可见,本可选方案中主要是说明如何主动发送域名数据包并监听到对应的地址信息。本可选方案中,首先,基于目标域名发送对应的域名数据包,以便服务器基于接收到的域名数据包返回域名回包。也就是,向对应的DNS服务器或VPN服务器发送解析该目标域名的请求数据包,即发送域名数据包。当DNS服务器或VPN服务器之外的DNS接收到对应的域名数据包时,根据存储的地址信息就可以向该设备返回对应的地址信息。也就是,返回域名回包,该域名回包中包含了地址信息。因此,此时发送域名数据包的设备就会接收到对应的域名回包。
然后,对域名回包的接收过程进行监听,获得对应的地址信息。也就是,在该设备接收域名回包的基础上,对接收过程进行监听,以便得到域名回包中的地址信息。由于域名回包中的信息是以明文形式记录的,因此通过监听的方式直接获取。
进一步的,在上一可选方案的基础上,也就是在主动发送域名数据包的基础上,为了进一步的提高本实施例的场景适用性,S11可以包括:
S1101,当目标域名对应的域名数据包发送至系统内核的情况下,通过数据过滤器将域名数据包进行拦截,并转发至虚拟网卡;
S1102,基于引流规则发送虚拟网卡中的域名数据包;
S1103,判断域名回包是否封包在引流程序的隧道数据包中;
S1104,若是,则监听引流程序对应的回环网卡,获得地址信息;
S1105,若否,则监听物理网卡,获得地址信息。
可见,本可选方案主要是说明在引流应用中如何针对域名回包获取到地址信息。本可选方案中,当目标域名对应的域名数据包发送至系统内核的情况下,通过数据过滤器将域名数据包进行拦截,并转发至虚拟网卡,基于引流规则发送虚拟网卡中的域名数据包。也就是,在使用VPN的环境下存在部分数据包(包括域名数据包),需要通过VPN进行发送。因此,S1101与S1102说明如何在引流环境下发送对应的域名数据包。进一步的,为了提高引流发送的有效性,避免遗漏数据包,本可选方案中直接采用数据包过滤器将数据包进行拦截,并转发至虚拟网卡,然后再通过虚拟网卡将该域名数据包进行发送。
接着,接收到的域名回包就会存在两种情况,一种是正常接收到的域名回包,另一种通过隧道接收到隧道数据包,并从该隧道数据包中解包得到该域名回包。可见,针对不同的情况接收到该域名回包的过程并不相同。因此,本可选方案中判断域名回包是否封包在引流程序的隧道数据包中;若是,则监听引流程序对应的回环网卡,获得地址信息;若否,则监听物理网卡,获得地址信息。其中,引流程序就是接收到隧道数据包的程序,该引流程序会将隧道数据包解包后的域名回包发送至回环网卡,通过该回环网卡将域名回包发送至对应的应用程序。因此,通过监听回环网卡可以获取到对应的域名回包中的数据。
S12,当发送数据包时,根据地址信息对目标域名的数据包执行引流操作。
在S11的基础上,本步骤旨在当发送数据包时,根据地址信息对目标域名的数据包执行引流操作。也就是,基于对应的地址信息确定进行引流的引流规则,基于该引流规则执行引流操作。
一般来说,终端设备中如果使用VPN技术,需要将对应的数据包或流量进行引流。其中,引流过程就需要IP规则进行引流。也就是,基于地址信息的规则对对应的数据包进行引流。可见,当需要修改引流规则,或者是当地址信息发生变化时,则需要技术人员对地址信息进行配置。但是,由于地址信息的都是没有明显意义的数字,会导致技术人员进行配置的门槛增加,降低了配置的效率。
因此,在上一步骤中在域名回包的基础上直接获取到目标域名的地址信息,本步骤中就可以直接采用该地址信息对数据包进行引流。也就是,判断数据包是否在引流规则的范围内,若是则将该数据包通过引流隧道进行发送,否则执行正常的数据包发送操作。
进一步的,为了应用于更多的地址信息实现引流操作,提高数据包引流的效率,本步骤可以包括:
S121,基于地址信息与对应域名的关系生成引流规则;
S122,当发送数据包时,基于引流规则对数据包执行引流操作。
可见,本可选方案中主要是说明如何基于该地址信息进行引流。本可选方案中,基于地址信息与对应域名的关系生成引流规则,当发送数据包时,基于引流规则对数据包执行引流操作。
综上,本实施例通过对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,而不是基于人工配置的方式获取地址信息,然后在发送数据包过程中,就可以根据地址信息对目标域名的数据包执行引流操作,也就是实现基于目标域名对数据包进行引流,而不需要技术人员再对地址信息进行配置,降低门槛,提高对数据包进行引流的效率。
进一步的,为了提高对流量进行引流的过程中,对域名数据包和域名回包进行地址信息获取的适配性,实现在全场景下基于域名回包进行引流配置,并基于新配置的规则进行数据包引流。以下通过另一具体的实施例,对本申请提供的一种数据包引流方法做说明。
请参考图2,图2为本申请实施例所提供的另一种数据包引流方法的流程图。
本实施例中,该方法可以包括:
S21,当目标域名对应的域名数据包发送至系统内核的情况下,通过数据过滤器将域名数据包进行拦截,并转发至虚拟网卡;
S22,基于引流规则发送虚拟网卡中的域名数据包;
可见,S21与S22主要说明基于引流规则如何发送域名数据包。根据引流规则中记录的信息,可以将域名数据包正常发送或将域名数据包通过隧道进行发送。
请参考图3,图3为本申请实施例所提供的另一种数据包引流方法的域名数据包发送时序图。
可见,DNS数据包(域名数据包)发送,整个流程从用户应用(ApplicationProgram,应用程序)发送DNS请求到系统内核(System kernel),系统内核通过PF(packetfilter,包过滤)技术,将数据包转发至Utun(User Tunnel,虚拟网卡),引流应用程序(SACHelper,帮助程序)从虚拟网卡中不断读取数据包,通过帮助程序包含的DNS引流规则(DNSProxy Rules)判断是否进行引流(例如,判断是否引流百度DNS等),以决定DNS数据包引流还是不引流至VPN服务器。
因此,将DNS数据包分类为引流数据包和非引流数据包。引流数据包经过隧道源IP替换,隧道加密处理(Tunneled crypto Methods,隧道加密方法)后通过系统socket(套接字)发送至互联网VPN服务器。非引流数据包不改变其内容,将其使用Macos系统下特殊的NDRV-socket(一种套接字方式)发送至互联网,以便避免非引流数据包被PF再次抓回形成数据包的环路问题。
S23,判断域名回包是否封包在引流程序的隧道数据包中;若是,则执行S24;否则执行S26;
在S22的基础上,本步骤旨在判断域名回包是否封包在引流程序的隧道数据包中。也就是,判断接收到的流量是否为隧道中的流量。若是,该域名回包被封包在隧道数据包中,因此需要引流程序做相应的处理后再获取对应的地址信息。否则为正常流量中的数据包,因此可以直接进行监听并获取到对应的地址信息。
S24,当引流程序将隧道数据包中的域名回包写入回环网卡的情况下,基于柏克莱封包过滤器对回环网卡的域名回包进行监听;
S25,当监听到域名回包的情况下,对域名回包进行解析,获得地址信息;
可见,S24至S25就是说明如何在接收到的数据包为隧道数据包的情况下获取地址信息。由于通过隧道传输的数据包需要通过引流程序进行操作,并写入至回环网卡,并通过回环网卡将数据包发送至对应的应用程序。因此,可以对回环网卡进行监听,即可获取到对应的域名回包的数据,即地址信息。
请参考图4,图4为本申请实施例所提供的另一种数据包引流方法的第一回包监听时序图。
当引流方式为基于PF的引流方式时,非引流数据包(域名回包)将由物理网卡EnX直接接收。由此,为了监听用户真实收到DNS的数据包,可以提前开启针对于主网卡BPF(Berkeley Packet Filter,柏克莱封包过滤器)监听器,BPF监听器对物理网卡enX进行监听,并且,BPF监听器只对53端口(DNS解析专用端口)的dns流量进行监控,并实时旁路解析出对应的请求内容,包括query(DNS请求名,例如www.baidu.com)和answers(对应的IP地址,如14.215.177.38),保存在帮助程序的DNS分析模块中,以便对地址信息进行记录。
S26,基于柏克莱封包过滤器对物理网卡的域名解析端口进行监听;
S27,当监听到域名回包的情况下,对域名回包进行解析,获得地址信息。
可加,S26至S27主要是说明如何在正常接收的情况下监听获取地址信息。也就是,直接对物理网卡的域名解析端口直接进行监听,当监听到域名回包时进行解析得到该地址信息。
请参考图5,图5为本申请实施例所提供的另一种数据包引流方法的第二回包监听时序图。
当引流方式为基于PF的引流方式时,引流数据包将由物理网卡Enx接收,由系统内核转发至我们的帮助程序,帮助程序将隧道包进行拆包解析,解除加密,还原用户网卡的真实IP,再重新写回lo0网卡(回环网卡)中,lo0网卡会将用户数据包回环发送给用户应用。由此,为了监听用户隧道真实收到DNS的数据包,会用已经打开的另一个BPF监听器监听lo0的DNS数据包。并实时旁路解析出对应的请求内容,包括query(DNS请求名,例如www.baidu.com)和answers(对应的IP,如14.215.177.38),保存在SAC程序的DNS分析模块中。
S28,基于地址信息与对应域名的关系生成引流规则;
S29,当发送数据包时,基于引流规则对数据包执行引流操作。
可见,S28至S29主要是说明如何基于获取到的地址信息执行引流操作。也就是,将获取到的地址信息生成引流规则,使用该引流规则执行引流操作。可以想到的是,可以记录多个域名对应的地址信息。其中,每个域名可以对应不同的多个地址信息。因此,可以合成多个域名对应多个地址信息的引流规则,并采用该引流规则执行引流操作。
请参考图6,图6为本申请实施例所提供的另一种数据包引流方法的数据包引流时序图。
利用解析出的域名对应的IP集合,重新合成了一份IP引流规则,在抓取到用户流量后,会依据新的IP规则进行判断。例如,此时需要引流百度DNS流量,获取到百度的IP是14.17.107.213。会将IP为14.17.107.213的数据包进行引流,将相应的数据包写入VPN隧道中。达到了根据域名引流的目的。如果不需要引流Bing域名的流量,假如旁路解析出的IP是15.23.55.2,会将IP为15.23.55.2的数据包进行排流,不走VPN隧道进行传输,而是直接发往用户本身的网络。
可见,本实施例通过对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,而不是基于人工配置的方式获取地址信息,然后在发送数据包过程中,就可以根据地址信息对目标域名的数据包执行引流操作,也就是实现基于目标域名对数据包进行引流,而不需要技术人员再对地址信息进行配置,降低门槛,提高对数据包进行引流的效率。
下面对本申请实施例提供的数据包引流装置进行介绍,下文描述的数据包引流装置与上文描述的数据包引流方法可相互对应参照。
请参考图7,图7为本申请实施例所提供的一种数据包引流装置的结构示意图。
本实施例中,该装置可以包括:
域名回包监听模块100,用于对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
数据包引流模块200,用于当发送数据包时,根据地址信息对目标域名的数据包执行引流操作。
可选的,该域名回包监听模块100,包括:
域名数据包发送子模块,用于基于目标域名发送对应的域名数据包,以便服务器基于接收到的域名数据包返回域名回包;
域名回包监听子模块,用于对域名回包的接收过程进行监听,获得对应的地址信息。
可选的,该域名数据包发送子模块,具体用于当目标域名对应的域名数据包发送至系统内核的情况下,通过数据过滤器将域名数据包进行拦截,并转发至虚拟网卡;基于引流规则发送虚拟网卡中的域名数据包。
可选的,该域名回包监听子模块,包括:
数据包判断单元,用于判断域名回包是否封包在引流程序的隧道数据包中;
引流监听单元,用于当域名回包封包在引流程序的隧道数据包中,监听引流程序对应的回环网卡,获得地址信息;
正常监听单元,用于当域名回包为正常接收的数据包,监听物理网卡,获得地址信息。
可选的,该引流监听单元,具体用于当引流程序将隧道数据包中的域名回包写入回环网卡的情况下,基于柏克莱封包过滤器对回环网卡的域名回包进行监听;当监听到域名回包的情况下,对域名回包进行解析,获得地址信息。
可选的,该正常监听单元,具体用于基于柏克莱封包过滤器对物理网卡的域名解析端口进行监听;当监听到域名回包的情况下,对域名回包进行解析,获得地址信息。
可选的,该数据包引流模块200,具体用于基于地址信息与对应域名的关系生成引流规则;当发送数据包时,基于引流规则对数据包执行引流操作。
本申请还提供了一种终端设备,请参考图8,图8为本申请实施例所提供的一种终端设备的结构示意图,该终端设备可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时可实现如上述任意一种数据包引流方法的步骤。
如图8所示,为终端设备的组成结构示意图,终端设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行数据包引流方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
当发送数据包时,根据地址信息对目标域名的数据包执行引流操作。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图8所示的结构并不构成对本申请实施例中终端设备的限定,在实际应用中终端设备可以包括比图8所示的更多或更少的部件,或者组合某些部件。
本申请实施例还提供一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上实施例的数据包引流方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据包引流方法、数据包引流装置、终端设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种数据包引流方法,其特征在于,包括:
对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作。
2.根据权利要求1所述的数据包引流方法,其特征在于,对目标域名的域名回包的接收过程进行监听,获得对应的地址信息,包括:
基于所述目标域名发送对应的域名数据包,以便服务器基于接收到的域名数据包返回域名回包;
对所述域名回包的接收过程进行监听,获得对应的地址信息。
3.根据权利要求2所述的数据包引流方法,其特征在于,基于所述目标域名发送对应的域名数据包,包括:
当所述目标域名对应的域名数据包发送至系统内核的情况下,通过数据过滤器将所述域名数据包进行拦截,并转发至虚拟网卡;
基于引流规则发送所述虚拟网卡中的域名数据包。
4.根据权利要求2所述的数据包引流方法,其特征在于,对所述域名回包的接收过程进行监听,获得对应的地址信息,包括:
判断所述域名回包是否封包在引流程序的隧道数据包中;
若是,则监听所述引流程序对应的回环网卡,获得所述地址信息;
若否,则监听物理网卡,获得所述地址信息。
5.根据权利要求4所述的数据包引流方法,其特征在于,监听所述引流程序对应的回环网卡,获得所述地址信息,包括:
当所述引流程序将所述隧道数据包中的域名回包写入所述回环网卡的情况下,基于柏克莱封包过滤器对所述回环网卡的域名回包进行监听;
当监听到所述域名回包的情况下,对所述域名回包进行解析,获得所述地址信息。
6.根据权利要求4所述的数据包引流方法,其特征在于,监听物理网卡,获得所述地址信息,包括:
基于柏克莱封包过滤器对所述物理网卡的域名解析端口进行监听;
当监听到域名回包的情况下,对所述域名回包进行解析,获得所述地址信息。
7.根据权利要求1所述的数据包引流方法,其特征在于,当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作,包括:
基于所述地址信息与对应域名的关系生成引流规则;
当发送数据包时,基于所述引流规则对所述数据包执行引流操作。
8.一种数据包引流装置,其特征在于,包括:
域名回包监听模块,用于对目标域名的域名回包的接收过程进行监听,获得对应的地址信息;
数据包引流模块,用于当发送数据包时,根据所述地址信息对所述目标域名的数据包执行引流操作。
9.一种终端设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的数据包引流方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据包引流方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335033.6A CN114650220B (zh) | 2022-03-31 | 2022-03-31 | 一种数据包引流方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210335033.6A CN114650220B (zh) | 2022-03-31 | 2022-03-31 | 一种数据包引流方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114650220A true CN114650220A (zh) | 2022-06-21 |
CN114650220B CN114650220B (zh) | 2024-08-20 |
Family
ID=81995079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210335033.6A Active CN114650220B (zh) | 2022-03-31 | 2022-03-31 | 一种数据包引流方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114650220B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2353180A1 (en) * | 2001-07-13 | 2003-01-13 | Certicom Corp. | Method and apparatus for resolving a web site address when connected with a virtual private network (vpn) |
CN107911496A (zh) * | 2017-11-17 | 2018-04-13 | 杭州迪普科技股份有限公司 | 一种vpn服务端代理dns的方法及装置 |
CN108390808A (zh) * | 2017-02-03 | 2018-08-10 | 阿里巴巴集团控股有限公司 | 通信处理方法和装置 |
CN112887444A (zh) * | 2021-01-19 | 2021-06-01 | 网宿科技股份有限公司 | 一种vpn网络的请求处理方法、客户端设备及系统 |
CN113676561A (zh) * | 2021-07-16 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 域名访问控制方法及装置 |
CN113923273A (zh) * | 2021-09-29 | 2022-01-11 | 深信服科技股份有限公司 | 一种数据包控制方法及相关装置 |
-
2022
- 2022-03-31 CN CN202210335033.6A patent/CN114650220B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2353180A1 (en) * | 2001-07-13 | 2003-01-13 | Certicom Corp. | Method and apparatus for resolving a web site address when connected with a virtual private network (vpn) |
CN108390808A (zh) * | 2017-02-03 | 2018-08-10 | 阿里巴巴集团控股有限公司 | 通信处理方法和装置 |
CN107911496A (zh) * | 2017-11-17 | 2018-04-13 | 杭州迪普科技股份有限公司 | 一种vpn服务端代理dns的方法及装置 |
CN112887444A (zh) * | 2021-01-19 | 2021-06-01 | 网宿科技股份有限公司 | 一种vpn网络的请求处理方法、客户端设备及系统 |
CN113676561A (zh) * | 2021-07-16 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 域名访问控制方法及装置 |
CN113923273A (zh) * | 2021-09-29 | 2022-01-11 | 深信服科技股份有限公司 | 一种数据包控制方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114650220B (zh) | 2024-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11190492B2 (en) | Local interception of traffic to a remote forward proxy | |
CN109617932B (zh) | 用于处理数据的方法和装置 | |
WO2017152050A1 (en) | Deterministic reproduction of client/server computer state or output sent to one or more client computers | |
CN107135249B (zh) | 数据下载方法及装置 | |
GB2506624A (en) | Correlation of session activities to a browser window in a client-server environment | |
CN113923057B (zh) | 卫星测运控平台的数据处理方法、装置、电子设备及介质 | |
US11743383B2 (en) | System and methods for monitoring and testing real-time communications between web browsers and contact centers | |
CN113783885B (zh) | 一种蜜罐网络代理方法及相关装置 | |
JP7462757B2 (ja) | ネットワークセキュリティ保護方法及び保護デバイス | |
CN111885217A (zh) | 一种数据通信方法、装置、设备及存储介质 | |
CN110995763B (zh) | 一种数据处理方法、装置、电子设备和计算机存储介质 | |
CN110798404A (zh) | 攻击数据的清洗方法、装置、设备、存储介质和系统 | |
CN112311722A (zh) | 一种访问控制方法、装置、设备及计算机可读存储介质 | |
WO2024139412A1 (zh) | 应用流量综合管理方法、装置和电子设备 | |
US20130226984A1 (en) | Method and apparatus of providing optimized web browser communications | |
CN114650220B (zh) | 一种数据包引流方法及相关装置 | |
CN112187869A (zh) | Iot设备的远程调试系统、方法、电子设备及存储介质 | |
CN115499204A (zh) | 一种蜜罐攻击溯源方法、装置、设备、存储介质 | |
EP3391626B1 (en) | Proxy server selection based on security policy | |
Hoogstraaten | Evaluating server-side internet proxy detection methods | |
CN111953702B (zh) | 一种网络访问的控制方法及相关装置 | |
CN117640189B (zh) | 访问方法、装置、设备及存储介质 | |
CN116760587A (zh) | 访问控制方法、设备及存储介质 | |
CA3240451A1 (en) | Enabling web browser extensions to perform asynchronous blocking operations | |
Berg | Separate the static from the dynamic with Tomcat and Apache |
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 |