CN109561172B - 一种dns透明代理方法、装置、设备及存储介质 - Google Patents

一种dns透明代理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109561172B
CN109561172B CN201910095486.4A CN201910095486A CN109561172B CN 109561172 B CN109561172 B CN 109561172B CN 201910095486 A CN201910095486 A CN 201910095486A CN 109561172 B CN109561172 B CN 109561172B
Authority
CN
China
Prior art keywords
dns
message
response message
request message
address
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
CN201910095486.4A
Other languages
English (en)
Other versions
CN109561172A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201910095486.4A priority Critical patent/CN109561172B/zh
Publication of CN109561172A publication Critical patent/CN109561172A/zh
Application granted granted Critical
Publication of CN109561172B publication Critical patent/CN109561172B/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/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供的一种DNS透明代理方法、装置、设备及存储介质,属于通信技术领域。该DNS透明代理方法包括:接收DNS服务器返回的DNS响应报文;确定是否有与DNS响应报文匹配的记录信息,记录信息包括与DNS响应报文对应的DNS请求报文的报文特征信息;若是,根据报文特征信息修改DNS响应报文的源地址,发送修改后的DNS响应报文到对应的终端设备。从而使得在将该DNS响应报文返回给终端设备时,能够顺利通过防火墙到达终端设备,进而可以克服现有技术中存在的防火墙中没有与该响应报文相应的记录,从而导致该响应报文被防火墙丢弃,进而导致该响应报文无法返回至终端设备的技术问题,实现降低响应报文被防火墙误丢的概率。

Description

一种DNS透明代理方法、装置、设备及存储介质
技术领域
本申请涉及通信技术领域,具体而言,涉及一种DNS透明代理方法、装置、设备及存储介质。
背景技术
随着网络安全问题日趋严重,在终端设置的DNS(Domain Name System,域名系统)服务器地址可能被恶意篡改。从而使得在进行访问DNS服务器时,都会选择通过DNS透明代理设备进行转发,然而,目前DNS透明代理设备在接收到终端发送的DNS请求报文后,会从设备的地址池中按策略选取公网IP(Internet Protocol,网络之间互连的协议)对DNS请求报文的源IP进行NAT(network address translation,网络地址转换)转换;再将DNS请求报文的目的IP更改为设置的DNS服务器的IP地址,最后转发DNS请求报文至DNS服务器,但是由于在转发之前会先对请求报文的目的IP进行更改,从而会导致DNS响应报文在通过防火墙时,防火墙没有相应的记录,进而被防火墙丢弃,导致DNS响应报文无法返回给终端。
发明内容
有鉴于此,本申请实施例提供的一种DNS透明代理方法、装置、设备及存储介质。
第一方面,本申请实施例提供的一种DNS透明代理方法,所述方法包括:接收DNS服务器返回的DNS响应报文;确定是否有与所述DNS响应报文匹配的记录信息,所述记录信息包括与所述DNS响应报文对应的DNS请求报文的报文特征信息;若是,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备。
在上述实现过程中,通过接收DNS服务器返回的DNS响应报文;确定是否有与DNS响应报文匹配的记录信息;当存在有与DNS响应报文匹配的记录信息时,根据所述报文特征信息修改DNS响应报文的源地址,发送修改后的DNS响应报文到对应的终端设备。从而使得在将该DNS响应报文返回给终端设备时,能够顺利通过防火墙到达终端设备,进而可以克服现有技术中存在的防火墙中没有与该DNS响应报文相应的记录,从而导致该DNS响应报文被防火墙丢弃,进而导致该DNS响应报文无法返回至终端设备的技术问题,实现降低DNS响应报文被防火墙误丢的概率,以及实现DNS代理设备和防火墙的高效融合,以及通过简单高效的方式且不需要额外占用网络设备的资源,就能实现DNS透明代理功能,并且能穿越防火墙。对于防范局域网内的DNS篡改攻击、实现局域网内DNS服务器的统一有很大帮助。进一步提高用户体验。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,在接收DNS服务器返回的DNS响应报文之前,还包括:接收所述终端设备经防火墙发送的DNS请求报文;确定所述DNS请求报文中的目的地址是否是指定的IP地址;若否,修改所述DNS请求报文中的目的地址为所述指定的IP地址,得到修改后的DNS请求报文;生成与修改前的所述DNS请求报文对应的记录信息;发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。
在上述实现过程中,通过在接收到DNS请求报文后,确定所述DNS请求报文中的目的地址是否是指定的IP地址;若DNS请求报文中的目的地址不是指定的IP地址时,修改DNS请求报文中的目的地址为指定的IP地址,从而得到修改后的DNS请求报文;发送修改后的DNS请求报文至与指定的IP地址对应的DNS服务器。从而记录修改前的DNS请求报文的报文特征信息,使得再接收DNS服务器基于修改后的所述DNS请求报文所返回的DNS响应报文时,能够被正确识别。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,所述生成与修改前的所述DNS请求报文对应的记录信息,包括:获取修改前的所述DNS请求报文的报文特征信息;生成包括所述指定的IP地址与所述报文特征信息对应的记录信息。
在上述实现过程中,通过获取修改前的所述DNS请求报文的报文特征信息;生成包括指定的IP地址与报文特征信息对应的记录信息。从而可以进一步使得在接收DNS服务器基于修改后的所述DNS请求报文所返回的DNS响应报文时,能够进一步提高对DNS响应报文的正确识别率。
结合第一方面至第一方面的第二种可能的实施方式中的任意一种实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,所述发送修改后的所述DNS响应报文到对应的终端设备,包括:将修改后的所述DNS响应报文经防火墙发送至修改后的所述DNS响应报文到对应的终端设备。
在上述实现过程中,通过将修改后的所述DNS响应报文经防火墙发送至对应的终端设备。从而使得在将该DNS响应报文返回给终端设备时,能够顺利通过防火墙到达终端设备,进而可以克服现有技术中存在的防火墙中没有与该DNS响应报文相应的记录,从而导致该DNS响应报文被防火墙丢弃,进而导致该DNS响应报文无法返回至终端设备的技术问题,实现降低DNS响应报文被防火墙误丢的概率。
第二方面,本申请实施例提供的一种DNS透明代理装置,包括:第一接收模块,用于接收DNS服务器返回的DNS响应报文;第一处理模块,用于确定是否有与所述DNS响应报文匹配的记录信息,所述记录信息包括与所述DNS响应报文所匹配的DNS请求报文的报文特征信息;第一修改模块,用于若是,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,在所述第一接收模块之前,还包括:第二接收模块,用于接收所述终端设备经防火墙发送的DNS请求报文;第二处理模块,用于确定所述DNS请求报文中的目的地址是否是指定的IP地址;第二修改模块,用于所述DNS请求报文中的目的地址不是指定的IP地址时,修改所述DNS请求报文中的目的地址为所述指定的IP地址,得到修改后的DNS请求报文;生成模块,用于生成与修改前的所述DNS请求报文对应的记录信息;第一发送模块,用于发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。
结合第二方面至第二方面的第二种可能的实施方式中的任意一种实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,所述第一修改模块还用于:若有与所述DNS响应报文匹配的记录信息,根据所述报文特征信息修改所述DNS响应报文的源地址,将修改后的所述DNS响应报文经防火墙发送至修改后的所述DNS响应报文到对应的终端设备。
第三方面,本申请实施例提供的一种服务器,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述DNS透明代理方法的步骤。
第四方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的DNS透明代理方法。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为现有技术中DNS透明代理的网络架构示意图;
图2为本申请实施例提供的DNS透明代理方法的流程图;
图3为本申请实施例提供的DNS透明代理装置的功能模块示意图;
图4为本申请实施例提供的一种DNS透明代理设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,为现有技术中的DNS透明代理的网络架构示意图,终端设备100在发起DNS请求时,DNS请求报文会先通过防火墙200,在通过防火墙200时,防火墙200会产生一条用于记录该报文的IP五元组的记录信息。然后再将该DNS请求报文发送至DNS透明代理设备300。但是由于现有技术中的DNS透明代理设备300在接收到该DNS请求报文后,会将DNS请求报文的目的IP地址进行修改并发送到DNS服务器400。DNS服务器400在收到DNS请求报文后返回DNS响应报文,DNS响应报文经过DNS透明代理设备300后直接将DNS响应报文返回给防火墙200,由于DNS透明代理设备300没有将DNS响应报文再进行相应转换,导致DNS响应报文在通过防火墙200时,防火墙200中没有与该DNS响应报文相应的记录,从而导致该DNS响应报文被防火墙200丢弃,进而导致该DNS响应报文无法返回至终端设备100,导致用户无法收到与DNS请求报文对应的DNS响应报文,给用户带来了极大的不便。
有鉴于此,为了解决现有技术中存在的DNS透明代理设备在接收到终端发送的DNS请求报文后,会先对DNS请求报文的目的IP地址进行更改,然后再进行转发到DNS服务器,从而导致DNS响应报文在通过防火墙时,由于防火墙没有相应的记录,进而被防火墙丢弃,导致DNS响应报文无法返回给终端的技术问题,本申请供了一种DNS透明代理方法,以解决上述技术问题。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。以下对本实施例进行详细介绍。
第一实施例
请参阅图2,是本申请实施例提供的DNS透明代理方法的流程图,该DNS透明代理方法应用于DNS透明代理设备,下面将对图2所示的具体流程进行详细阐述。
步骤S101,接收DNS服务器返回的DNS响应报文。
作为一种实施方式,DNS透明代理设备对自身接口的报文进行监控,以监测是否有DNS服务器返回的DNS响应报文。
在一可能的实施例中,在步骤S101之前,DNS透明代理方法还包括:接收所述终端设备经防火墙发送的DNS请求报文;确定所述DNS请求报文中的目的地址是否是指定的IP地址;若DNS请求报文中的目的地址不是指定的IP地址,修改DNS请求报文中的目的地址为指定的IP地址,得到修改后的DNS请求报文;生成与修改前的所述DNS请求报文对应的记录信息;发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。
可选地,终端设备(例如,手机、电脑或平板等设备)将DNS请求报文先发送到防火墙,防火墙记录该DNS请求报文的报文特征信息后,将该DNS请求报文转发到DNS透明代理设备。
可选地,报文特征信息可以是IP五元组,也可以是基于IP五元组进行HASH运算(即散列函数)得到的HASH值。
其中,IP五元组包括源IP地址、目的IP地址、IP协议号、传输层源端口号和传输层目的端口号。
当然,在实际使用中,报文特征信息还可以是基于IP五元组的其他格式的值,在此,不作具体限定。
作为一种实施场景,生成与修改前的所述DNS请求报文对应的记录信息,包括:生成记录DNS请求报文的目的IP地址和一个HASH值的记录信息。
举例来说,假设DNS请求报文的IP五元组包括:源地址A,目的地址B,IP协议号,源端口123,目的端口321,在DNS请求报文目的地址B不是指定的IP地址C时,将DNS请求报文目的地址B修改为C,并生成一个表项(即记录信息):(目的地址B,HASH值为(源地址A,目的地址C,IP协议号,源端口123,目的端口321))。再将修改后的DNS请求报文(源地址A,目的地址C,IP协议号,源端口123,目的端口321)发送至与目的地址C(即指定的IP地址)对应的DNS服务器。
可选地,该DNS请求报文中目的地址是指接收该DNS请求报文的DNS服务器的IP地址。
在本申请实施例中,通过在接收到DNS请求报文后,确定所述DNS请求报文中的目的地址是否是指定的IP地址;确定所述DNS请求报文中的目的地址是否是指定的IP地址;若DNS请求报文中的目的地址不是指定的IP地址,修改DNS请求报文中的目的地址为指定的IP地址,得到修改后的DNS请求报文;生成与修改前的所述DNS请求报文对应的记录信息;发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。从而记录DNS请求报文的报文特征信息,使得再接收DNS服务器基于修改后的DNS请求报文所返回的DNS响应报文时,DNS响应报文能够被防火墙正确识别。
可选地,指定的IP地址为预先设置的。
可选地,指定的IP地址的数量可以是多个DNS服务器地址。
在本申请实施例中,通过判断DNS请求报文中的目的地址是否与指定的IP地址匹配,从而当目的地址与指定的IP地址不匹配时,将目的地址修改为所述指定的IP地址,进而可以有效避免访问非法网站。
可选地,所述确定所述DNS请求报文中的目的地址是否是指定的IP地址,包括:将所述DNS请求报文中的目的地址分别与多个指定的IP地址逐一进行比对;判断所述目的地址是否与多个所述指定的IP地址中任意一个匹配。
在本申请实施例中,通过将DNS请求报文中的目的地址分别与多个指定的IP地址逐一进行比对,可以进一步有效避免访问非法网站。
作为一种实施方式,生成与修改前的所述DNS请求报文对应的记录信息,包括:获取修改前的DNS请求报文的报文特征信息;生成包括指定的IP地址与报文特征信息对应的记录信息。
继续以上述例子为例来说,修改前的DNS请求报文的报文特征信息为:源地址A,目的地址B,IP协议号,源端口123,目的端口321。则所生成的记录信息可以是(目的地址B,(源地址A,目的地址C,IP协议号,源端口123,目的端口321))。如果该DNS请求报文的目的地地址不是指定的DNS服务器的IP地址,则需要进行修改,则生成的记录信息可以是(目的地址C,(源地址A,目的地址B,IP协议号,源端口123,目的端口321))。
作为另一种实施方式,生成与修改前的所述DNS请求报文对应的记录信息,包括:生成用于记录由所述目的地址修改为指定的IP地址的第一记录信息;根据所述DNS请求报文所携带的报文特征信息生成第二记录信息;根据所述第一记录信息和所述第二记录信息得到所述记录信息。
可选地,第二记录信息用于记录DNS请求报文在没有修改目的地址之前的报文特征信息。即第二记录信息记录有DNS请求报文在没有修改目的地址之前的IP五元组,或者是基于IP五元组的一个HASH值。
继续以上述例子为例来说,第一记录信息包括将DNS请求报文的目的地址B修改为C,第二记录信息包括源地址A,目的地址B,IP协议号,源端口123,目的端口321。
当然,在实际使用中,第二记录信息还可以是用于记录DNS请求报文修改后的报文特征信息。
继续以上述例子为例来说,第一记录信息包括将DNS请求报文的目的地址B修改为C,第二记录信息包括源地址A,目的地址C,IP协议号,源端口123,目的端口321。
可选地,根据所述第一记录信息和所述第二记录信息得到所述记录信息,包括:将第一记录信息与第二记录信息进行关联,得到记录信息。
可选地,可以将第一记录信息与第二记录信息分别存储在不同数据库中,也可以存储在同一数据库中。
当然,在实际使用中,也可以是将第一记录信息与第二记录信息存储在同一数据库中的不同表项中,也可以是存储在同一数据库中的同一表项中。在此,不作具体限定。
在本申请实施例中,通过生成用于记录由所述目的地址修改为指定的IP地址的第一记录信息;根据DNS请求报文所携带的报文特征信息生成第二记录信息;根据所述第一记录信息和所述第二记录信息得到所述记录信息,使得再接收DNS服务器基于修改后的DNS请求报文所返回的DNS响应报文时,通过第一记录信息和第二记录信息分别对DNS响应报文进行识别,能够进一步提高对DNS响应报文的正确识别率。例如,假设只记录有第一记录信息,如果DNS服务器返回的DNS响应报文与第一记录信息匹配,但是可能会由于DNS响应报文所携带的IP协议号、传输层源端口号和传输层目的端口号与第一记录信息对应的DNS请求报文所携带的IP协议号、传输层源端口号和传输层目的端口号不同,而导致误将该DNS响应报文发送到与第一记录信息对应的DNS请求报文所对应的终端设备。进而给用户带来较差的体验。因此,通过第一记录信息和第二记录信息分别对DNS响应报文进行识别,从而避免只符合某一记录信息,进而能够进一步提高对DNS响应报文的正确识别率。
步骤S102,确定是否有与所述DNS响应报文匹配的记录信息,所述记录信息包括与所述DNS响应报文所匹配的DNS请求报文的报文特征信息。
可选地,该DNS响应报文是DNS服务器基于DNS请求报文所返回的报文。
可选地,DNS请求报文为终端设备发起的,用于访问DNS服务器的报文。
作为一种实施方式,步骤S102包括:获取DNS响应报文所携带的IP五元组;查询是否有与所述IP五元组匹配的记录信息。
在本申请实施例中,通过获取DNS响应报文所携带的IP五元组;查询是否有与所述IP五元组匹配的记录信息,从而判断DNS服务器返回的DNS响应报文是否为该DNS透明代理设备所转发的修改后的DNS请求报文对应的DNS响应报文。进一步地,可以提高该DNS透明代理设备的正确转发效率,降低非法转发,进而降低该DNS透明代理设备的处理压力。
可选地,查询是否有与所述IP五元组匹配的记录信息,包括:查询本地记录表中是否有与所述IP五元组匹配的记录信息。
可选地,记录表用于记录该记录信息。
可选地,记录信息为实时生成的,并存储在该DNS透明代理设备中。
当然,在实际使用中,也可以将记录信息存储在网络数据库中。在此,不作具体限定。
继续以上述例子为例来说,在接收到DNS响应报文时,获取DNS响应报文所携带的IP五元组,此时,DNS响应报文所携带的IP五元组为(源地址C,目的地址A,IP协议号,源端口321,目的端口123),通过查询可以得到存在与该IP五元组匹配的记录信息。
当然,在实际使用中,如果获取到的是DNS响应报文的IP五元组的HASH值时,此时HASH值为(源地址C,目的地址A,IP协议号,源端口321,目的端口123),查询记录信息中的HASH值,由于记录信息中记录有一HASH值为(源地址A,目的地址C,IP协议号,源端口123,目的端口321)),故可以得出记录信息中有与该DNS响应报文的IP五元组的HASH值对应的HASH值一致。在一致时,通过该记录信息中的HASH值确定该HASH值对应的目的地址B,从而可以将源地址C转换为目的地址B,进而得到修改后的DNS响应报文。
在一可能的实施例中,在确认记录表中存在有与所述IP五元组匹配的记录信息后,还包括:将所述记录信息删除。
在本申请实施例中,通过将所述记录信息删除,可以有效避免其他DNS服务器或同一DNS服务器多次返回相同的DNS响应报文,进而降低DNS透明代理设备的处理压力,同时,可以避免多次发送同一DNS响应报文至终端设备,而给用户带来极大的不便。
步骤S103,若是,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备。
可选地,DNS响应报文的源地址是指发送该DNS响应报文的DNS服务器的IP地址。
作为一种实施方式,步骤S103包括:获取所述报文特征信息中所述DNS请求报文的目的地址;将所述DNS响应报文的源地址修改为所述目的地址,得到修改后的DNS响应报文,发送修改后的所述DNS响应报文到对应的终端设备。
在本申请实施例中,通过取所述报文特征信息中DNS请求报文的目的地址;将DNS响应报文的源地址修改为所述目的地址,得到修改后的DNS响应报文,从而使得该DNS响应报文所携带的目的地址与源地址能够与修改前的DNS请求报文所匹配,进而使得在将该DNS响应报文返回给终端设备时,能够顺利通过防火墙到达终端设备,进而可以克服现有技术中存在的防火墙中没有与该DNS响应报文相应的记录,从而导致该DNS响应报文被防火墙丢弃,进而导致该DNS响应报文无法返回至终端设备的技术问题,实现降低DNS响应报文被防火墙误丢的概率,以及实现DNS代理设备和防火墙的高效融合,以及通过简单高效的方式且不需要额外占用网络设备的资源,就能实现DNS透明代理功能,并且能穿越防火墙。对于防范局域网内的DNS篡改攻击、实现局域网内DNS服务器的统一有很大帮助。
作为另一种实施方式,步骤S103包括:当存在有与所述DNS响应报文匹配的记录信息时,根据所述报文特征信息修改所述DNS响应报文的源地址,将修改后的所述DNS响应报文经防火墙发送至修改后的所述DNS响应报文到对应的终端设备。
本申请实施例所提供的DNS透明代理方法,通过接收DNS服务器返回的DNS响应报文;确定是否有与DNS响应报文匹配的记录信息;当存在有与DNS响应报文匹配的记录信息时,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备。从而使得该DNS响应报文所携带的目的地址与源地址能够与修改前的DNS请求报文所匹配,进而使得在将该DNS响应报文返回给终端设备时,能够顺利通过防火墙到达终端设备,进而可以克服现有技术中存在的防火墙中没有与该DNS响应报文相应的记录,从而导致该DNS响应报文被防火墙丢弃,进而导致该DNS响应报文无法返回至终端设备的技术问题,实现降低DNS响应报文被防火墙误丢的概率,以及实现DNS代理设备和防火墙的高效融合,以及通过简单高效的方式且不需要额外占用网络设备的资源,就能实现DNS透明代理功能,并且能穿越防火墙。对于防范局域网内的DNS篡改攻击、实现局域网内DNS服务器的统一有很大帮助。进一步提高用户体验。
第二实施例
请参阅图3,图3示出了与第一实施例所示的DNS透明代理方法一一对应的DNS透明代理装置。如图3所示,所述DNS透明代理装置400包括第一接收模块410、第一处理模块420和第一修改模块430。其中,第一接收模块410、第一处理模块420和第一修改模块430的实现功能与第一实施例所示的DNS透明代理方法中对应的步聚一一对应,为避免赘述,本实施例不一一详述。
第一接收模块410,用于接收DNS服务器返回的DNS响应报文。
在一可能的实施例中,在所述第一接收模块410之前,DNS透明代理装置400还包括:第二接收模块,用于接收所述终端设备经防火墙发送的DNS请求报文;第二处理模块,用于确定所述DNS请求报文中的目的地址是否是指定的IP地址;第二修改模块,用于所述DNS请求报文中的目的地址不是指定的IP地址时,修改所述DNS请求报文中的目的地址为所述指定的IP地址,得到修改后的DNS请求报文;生成模块,用于生成与修改前的所述DNS请求报文对应的记录信息;第一发送模块,用于发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。
可选地,所述生成模块还用于:获取修改前的所述DNS请求报文的报文特征信息;生成包括所述指定的IP地址与所述报文特征信息对应的记录信息。
第一处理模块420,用于确定是否有与所述DNS响应报文匹配的记录信息,所述记录信息包括与所述DNS响应报文所匹配的DNS请求报文的报文特征信息。
第一修改模块430,用于在有与所述DNS响应报文匹配的记录信息时,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备。
可选地,所述第一修改模块430,还用于:在有与所述DNS响应报文匹配的记录信息时,根据所述报文特征信息修改所述DNS响应报文的源地址,将修改后的所述DNS响应报文经防火墙发送至修改后的所述DNS响应报文到对应的终端设备。
第三实施例
如图4所示,是DNS透明代理设备500的示意图。所述DNS透明代理设备500包括存储器502、处理器504以及存储在所述存储器502中并可在所述处理器504上运行的计算机可读取指令503。当所述计算机可读取指令503由所述处理器504执行时,运行如第一实施例中的所述DNS透明代理方法,为避免重复,此处不再赘述。或者,当所述计算机可读取指令503由所述处理器504执行时,实现如第二实施例所述DNS透明代理装置中各模块的功能,为避免重复,此处不再赘述。
示例性的,计算机可读取指令503可以被分割成一个或多个模块,一个或者多个模块被存储在存储器502中,并由处理器504执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机可读取指令503在DNS透明代理设备500中的执行过程。例如,计算机可读取指令503可以被分割成第二实施例中的第一接收模块410、第一处理模块420和第一修改模块430,各模块的具体功能如第一实施例或第二实施例所述,在此不一一赘述。
其中,存储器502可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器502用于存储程序,所述处理器504在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的方法可以应用于处理器504中,或者由处理器504实现。
处理器504可能是一种集成电路芯片,具有信号的处理能力。上述的处理器504可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解的是,图4所示的结构仅为DNS透明代理设备500的一种结构示意图,DNS透明代理设备500还可以包括比图4所示更多或更少的组件。图4中所示的各组件可以采用硬件、软件或其组合实现。
第四实施例
本发明实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现第一实施例中的DNS透明代理方法,为避免重复,此处不再赘述。或者,所述计算机程序被处理器执行时实现第二实施例所述DNS透明代理装置中各模块的功能,为避免重复,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (8)

1.一种DNS透明代理方法,其特征在于,所述方法包括:
接收DNS服务器返回的DNS响应报文;
确定是否有与所述DNS响应报文匹配的记录信息,所述记录信息包括与所述DNS响应报文对应的DNS请求报文的报文特征信息;
若是,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备;
其中,所述发送修改后的所述DNS响应报文到对应的终端设备,包括:将修改后的所述DNS响应报文经防火墙发送至修改后的所述DNS响应报文到对应的终端设备;
所述DNS请求报文为所述终端设备经所述防火墙发送的报文。
2.根据权利要求1所述的方法,其特征在于,在接收DNS服务器返回的DNS响应报文之前,还包括:
接收所述终端设备经防火墙发送的DNS请求报文;
确定所述DNS请求报文中的目的地址是否是指定的IP地址;
若否,修改所述DNS请求报文中的目的地址为所述指定的IP地址,得到修改后的DNS请求报文;
生成与修改前的所述DNS请求报文对应的记录信息;
发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。
3.根据权利要求2所述的方法,其特征在于,所述生成与修改前的所述DNS请求报文对应的记录信息,包括:
获取修改前的所述DNS请求报文的报文特征信息;
生成包括所述指定的IP地址与所述报文特征信息对应的记录信息。
4.一种DNS透明代理装置,其特征在于,所述装置包括:
第一接收模块,用于接收DNS服务器返回的DNS响应报文;
第一处理模块,用于确定是否有与所述DNS响应报文匹配的记录信息,所述记录信息包括与所述DNS响应报文所匹配的DNS请求报文的报文特征信息;
第一修改模块,用于若是,根据所述报文特征信息修改所述DNS响应报文的源地址,发送修改后的所述DNS响应报文到对应的终端设备;
其中,所述第一修改模块还用于:若有与所述DNS响应报文匹配的记录信息,根据所述报文特征信息修改所述DNS响应报文的源地址,将修改后的所述DNS响应报文经防火墙发送至修改后的所述DNS响应报文到对应的终端设备;
所述DNS请求报文为所述终端设备经所述防火墙发送的报文。
5.根据权利要求4所述的装置,其特征在于,在所述第一接收模块之前,还包括:
第二接收模块,用于接收所述终端设备经防火墙发送的DNS请求报文;
第二处理模块,用于确定所述DNS请求报文中的目的地址是否是指定的IP地址;
第二修改模块,用于所述DNS请求报文中的目的地址不是指定的IP地址时,修改所述DNS请求报文中的目的地址为所述指定的IP地址,得到修改后的DNS请求报文;
生成模块,用于生成与修改前的所述DNS请求报文对应的记录信息;
第一发送模块,用于发送修改后的所述DNS请求报文至与所述指定的IP地址对应的所述DNS服务器。
6.根据权利要求5所述的装置,其特征在于,所述生成模块还用于:
获取修改前的所述DNS请求报文的报文特征信息;
生成包括所述指定的IP地址与所述报文特征信息对应的记录信息。
7.一种DNS透明代理设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的DNS透明代理方法的步骤。
8.一种存储介质,其特征在于,所述存储介质用于存储指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至3任一项所述的DNS透明代理方法。
CN201910095486.4A 2019-01-29 2019-01-29 一种dns透明代理方法、装置、设备及存储介质 Active CN109561172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910095486.4A CN109561172B (zh) 2019-01-29 2019-01-29 一种dns透明代理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910095486.4A CN109561172B (zh) 2019-01-29 2019-01-29 一种dns透明代理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109561172A CN109561172A (zh) 2019-04-02
CN109561172B true CN109561172B (zh) 2022-02-25

Family

ID=65874103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910095486.4A Active CN109561172B (zh) 2019-01-29 2019-01-29 一种dns透明代理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109561172B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110730252A (zh) * 2019-09-25 2020-01-24 南京优速网络科技有限公司 一种通过改造linux内核报文处理功能的地址转换方法
CN112866245B (zh) * 2021-01-18 2022-09-09 中国工商银行股份有限公司 报文路由方法及装置
CN114629823B (zh) * 2022-05-16 2022-09-06 鹏城实验室 服务器测试与监控方法、装置、终端设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873358A (zh) * 2010-06-11 2010-10-27 杭州华三通信技术有限公司 一种基于域名解析的链路负载均衡方法和设备
CN102404334A (zh) * 2011-12-07 2012-04-04 山石网科通信技术(北京)有限公司 拒绝服务攻击防护方法及装置
CN104079421A (zh) * 2013-03-27 2014-10-01 中国移动通信集团北京有限公司 一种域名系统防护的方法和系统
CN108040134A (zh) * 2017-12-06 2018-05-15 杭州迪普科技股份有限公司 一种dns透明代理的方法及装置
CN108390944A (zh) * 2018-03-28 2018-08-10 北京小米移动软件有限公司 信息交互方法及装置
CN108848049A (zh) * 2018-04-18 2018-11-20 山石网科通信技术有限公司 域名解析系统的代理方法及装置、存储介质和处理器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873358A (zh) * 2010-06-11 2010-10-27 杭州华三通信技术有限公司 一种基于域名解析的链路负载均衡方法和设备
CN102404334A (zh) * 2011-12-07 2012-04-04 山石网科通信技术(北京)有限公司 拒绝服务攻击防护方法及装置
CN104079421A (zh) * 2013-03-27 2014-10-01 中国移动通信集团北京有限公司 一种域名系统防护的方法和系统
CN108040134A (zh) * 2017-12-06 2018-05-15 杭州迪普科技股份有限公司 一种dns透明代理的方法及装置
CN108390944A (zh) * 2018-03-28 2018-08-10 北京小米移动软件有限公司 信息交互方法及装置
CN108848049A (zh) * 2018-04-18 2018-11-20 山石网科通信技术有限公司 域名解析系统的代理方法及装置、存储介质和处理器

Also Published As

Publication number Publication date
CN109561172A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
EP3170091B1 (en) Method and server of remote information query
CN109561172B (zh) 一种dns透明代理方法、装置、设备及存储介质
US9003008B2 (en) Domain name system, information processing method and apparatus of domain name system
CN106936791B (zh) 拦截恶意网址访问的方法和装置
US10863025B2 (en) Efficient robocall/scam identification with verification function
US20170264590A1 (en) Preventing dns cache poisoning
CN113316926B (zh) 域名处理方法、装置、电子设备以及存储介质
US11916935B1 (en) Systems and methods for detecting malware domain names
US11418951B2 (en) Method for identifying encrypted data stream, device, storage medium and system
CN108429739B (zh) 一种识别蜜罐的方法、系统及终端设备
CN105634660B (zh) 数据包检测方法及系统
WO2023050933A1 (zh) 确定失陷主机的方法及装置
CN111953770B (zh) 一种路由转发方法、装置、路由设备及可读存储介质
CN112272164A (zh) 报文处理方法及装置
US20150156630A1 (en) SECURING mDNS IN ENTERPRISE NETWORKS
WO2017113082A1 (en) Url filtering method and device
CN110855810B (zh) 一种nat转换方法、装置、网络安全设备及存储介质
US11658995B1 (en) Methods for dynamically mitigating network attacks and devices thereof
US10333966B2 (en) Quarantining an internet protocol address
CN113014664B (zh) 网关适配方法、装置、电子设备和存储介质
CN114338809A (zh) 访问控制方法、装置、电子设备和存储介质
CN114285818A (zh) 终端设备的定位方法、装置及终端设备
US10462180B1 (en) System and method for mitigating phishing attacks against a secured computing device
CN110768983B (zh) 一种报文处理方法和装置
US20230224275A1 (en) Preemptive threat detection for an information system

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