本发明涉及防火墙检测技术领域,具体为一种通过DNS请求进行数据传输来绕过防火墙检测的方法。
背景技术:
防火墙在网络安全领域起着非常重要的作用,它根据事先制定的策略规则对进出网络的数据包进行检查和控制,允许或拒绝这些数据包进出网络。随着网络规模的不断增大,越来越多的企业采用防火墙来增强数据传输的安全,但防火墙设置,同时也影响了内外网数据的顺利传输,因此在一些情况,需要绕过防火墙的检测,使客户端的敏感数据直接传输到外面的服务器。
技术实现要素:
针对上述问题,本发明的目的在于提供一种通过DNS请求进行数据传输来绕过防火墙检测的方法,实现了内外网数据的顺利传输。技术方案如下:
一种通过DNS请求进行数据传输来绕过防火墙检测的方法,包括:
在数据发送端通过数据拆分模块将数据拆分为以单词为单位;
再通过数据混淆模块将拆分后的单词进行base64编码,使其失去可读性,同时根据rfc1035标准对超过长度的部分进行切割;
最后通过DNS请求模块将混淆后的数据以子域形式对外发起请求,同时控制请求速率;
在数据接收端通过DNS请求接收模块接收数据发送端发送过来的DNS请求;
并通过数据解码模块对接收到的数据进行解码,使其可读。
本发明的有益效果是:本发明通过合法的DNS请求隐蔽的进行数据传输,即将客户端敏感数据混淆后“合法”的传输到外面服务器,从而有效的绕过了防火墙的检测,使内外网数据能够顺利传输。
附图说明
图1为本发明通过DNS请求进行数据传输来绕过防火墙检测的方法的数据处理流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明,如图1所示:
1.客户端(数据发送端)分为3个模块:
a) 数据拆分模块:负责将数据进行拆分为以单词为单位。
b)数据混淆模块:将拆分后的各个单词进行base64编码;例如test单词通过base64编码后变为aGVsbG8=,失去可读性;同时参考rfc1035标准做合规性检测,超过长度的部分以允许的最大单位进行切割直到符合rfc规范。
rfc1035对域名长度做了说明:Lables最多不超过63个字符,整体不超过255个字符。例如***.***.com,其中***最长63个字符,***.***.com最长255个字符。
c) DNS请求模块:将混淆后的数据以example.com子域形式对外发起请求;例如:aGVsbG8=.example.com;同时控制请求速率,每秒不超过5次请求。
2.数据接收端(example.com域名权威服务器)分为2个模块:
a) DNS请求接收模块:用以接收客户端发送过来的DNS请求。例如:aGVsbG8=.example.com。
b) 数据解码模块:将混淆过的数据进行解码,使其可读,例如aGVsbG8= 解码后为hello。