CN111049844B - 基于Socks代理的上网行为管理方法、装置、设备及存储介质 - Google Patents

基于Socks代理的上网行为管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111049844B
CN111049844B CN201911321839.4A CN201911321839A CN111049844B CN 111049844 B CN111049844 B CN 111049844B CN 201911321839 A CN201911321839 A CN 201911321839A CN 111049844 B CN111049844 B CN 111049844B
Authority
CN
China
Prior art keywords
socks
protocol
server
client
internet
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
CN201911321839.4A
Other languages
English (en)
Other versions
CN111049844A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201911321839.4A priority Critical patent/CN111049844B/zh
Publication of CN111049844A publication Critical patent/CN111049844A/zh
Application granted granted Critical
Publication of CN111049844B publication Critical patent/CN111049844B/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于Socks代理的上网行为管理方法、装置、设备和存储介质,本发明基于Socks代理的上网行为管理方法应用于Socks代理服务器,通过解析Socks代理场景下客户端与服务器之间的交互协议;调用预设密钥对基于所述交互协议传输的加密数据进行解密;针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。本发明针对在Socks代理场景下传输的网络数据提供解密功能,以便对网络数据进行准确的识别、审计等管理,填补了现有上网行为管理方式无法对Socks代理场景下进行的上网行为进行有效管理的空白。

Description

基于Socks代理的上网行为管理方法、装置、设备及存储介质
技术领域
本发明涉及通信网络技术领域,尤其涉及一种基于Socks代理的上网行为管理方法、装置、设备及计算机可读存储介质。
背景技术
在时下市场上所常见的上网行为管理方法或产品依托中间人代理解密技术,已经实现了透明代理和http(Hyper Text Transport Protocol:超文本传输协议)代理场景下的SSL(Secure Sockets Layer:安全套接层)解密,并在应用识别、内容审计等功能上大展拳脚。其中,透明代理是指:客户端不需要知道代理服务器的存在代理服务器改变客户端的报文并传送真实IP(Internet Protocol:网络之间互连的协议),多用于路由器的NAT(Network Address Translation,网络地址转换)转发中;http代理是指:代理服务器代理客户机的http访问,主要代理浏览器访问网页,它的端口一般为80、8080、3128等。
然而,针对Socks代理(又称全能代理,Socks代理是一种定义在会话层的网络代理协议,该协议所描述的是一种内部主机通过Socks服务器获得完全的Internet访问的方法)场景下传输的网络数据,现有的上网行为管理方法或者产品却并未提供相应的解密功能,也即无法针对该代理场景下进行的上网行为进行有效管理。
发明内容
本发明的主要目的在于提出一种基于Socks代理的上网行为管理方法、装置、设备及计算机可读存储介质,旨在解决现有的上网行为管理方法或者产品并未针对Socks代理场景下传输的网络数据提供相应的解密功能,导致无法针对该代理场景下进行的上网行为进行有效管理的技术问题。
为实现上述目的,本发明提供一种基于Socks代理的上网行为管理方法,所述基于Socks代理的上网行为管理方法应用于Socks代理服务器,所述基于Socks代理的上网行为管理方法包括如下步骤:
解析Socks代理场景下客户端与服务器之间的交互协议;
调用预设密钥对基于所述交互协议传输的加密数据进行解密;
针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;
检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;
当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。
优选地,在所述解析Socks代理场景下客户端与服务器之间的交互协议的步骤之前,还包括:
加载Socks代理场景下所述客户端与所述服务器之间进行通信交互的预设配置文件。
优选地,所述解析Socks代理场景下客户端与服务器之间的交互协议的步骤,包括:
从所述交互协议中提取协议命令、目的端口和域名,并判断是否需要进行数据解密;
所述判断是否需要进行数据解密的步骤,包括:
结合所述协议命令、所述目的端口、所述域名以及加载的所述预设配置文件判断是否需要进行数据解密。
优选地,所述结合所述协议命令、目的端口、所述域名以及加载的所述预设配置文件判断是否需要进行数据解密的步骤,包括:
检测所述协议命令的命令类型,并分别确定所述预设配置文件中针对所述目的端口的第一配置,和针对所述客户端与所述服务器之间进行通信交互的全解密配置;
当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置开启时,判断到需要进行数据解密。
优选地,在所述检测所述协议命令的命令类型,并分别读取所述预设配置文件中针对所述目的端口的第一配置,和针对所述客户端与所述服务器之间进行通信交互的全解密配置的步骤之后,还包括:
当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置未开启时,确定所述预设配置文件中针对所述域名的第二配置;
若确定所述第二配置是需要解密时,判断到需要进行数据解密。
优选地,所述预设密钥包括与所述客户端通信的第一密钥和与所述服务器通信的第二密钥,
在所述调用预设密钥对基于所述交互协议传输的加密数据进行解密的步骤之前,还包括:
从基于所述交互协议传输的应用层数据中,获取与所述客户端通信的第一密钥和与所述服务器通信的第二密钥。
优选地,所述调用预设密钥对基于所述交互协议传输的加密数据进行解密的步骤,包括:
当判断到需要进行数据解密时,调用所述第一密钥和所述第二密钥对基于所述交互协议传输的加密数据进行解密;
所述调用所述第一密钥和所述第二密钥对基于所述交互协议传输的加密数据进行解密的步骤,包括:
调用所述第一密钥,对所述客户端基于所述交互协议发送的加密数据进行解密;
调用所述第二密钥,对所述服务器基于所述交互协议发送的加密数据进行解密。
此外,为实现上述目的,本发明还提供一种基于Socks代理的上网行为管理装置,所述基于Socks代理的上网行为管理装置包括:
所述基于Socks代理的上网行为管理装置应用于Socks代理服务器,所述基于Socks代理的上网行为管理装置包括:
协议处理模块,用于解析Socks代理场景下客户端与服务器之间的交互协议;
解密模块,用于调用预设密钥对基于所述交互协议传输的加密数据进行解密;
行为分析模块,用于针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;
检测模块,用于检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;
行为管理模块,用于当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。
此外,为实现上述目的,本发明还提供一种基于Socks代理的上网行为管理设备,所述基于Socks代理的上网行为管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Socks代理的上网行为管理程序,所述基于Socks代理的上网行为管理程序被所述处理器执行时实现如上所述的基于Socks代理的上网行为管理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于Socks代理的上网行为管理程序,所述基于Socks代理的上网行为管理程序被处理器执行时实现如上所述的基于Socks代理的上网行为管理方法的步骤。
本发明通过Socks代理服务器解析Socks代理场景下客户端与服务器之间的交互协议;调用预设密钥对基于所述交互协议传输的加密数据进行解密;针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。
本发明在Socks代理场景下对交互协议进行解析并判断网络数据解密需求,在判断到需要对传输的网络数据进行解密的情况下采用预设密钥进行解密,然后对解密后得出的网络数据进行分析,基于分析结果处理Socks代理场景下客户端与服务器之间的上网行为,从而实现了,针对在Socks代理场景下传输的网络数据提供解密功能,以便对网络数据进行准确的识别、审计等管理操作,填补了现有上网行为管理方式无法对Socks代理场景下进行的上网行为进行有效管理的空白。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于Socks代理的上网行为管理设备结构示意图;
图2为本发明基于Socks代理的上网行为管理方法一实施例的流程示意图;
图3为本发明基于Socks代理的上网行为管理方法另一实施例的流程示意图;
图4为本发明基于Socks代理的上网行为管理方法一实施例的应用场景示意图;
图5为本发明基于Socks代理的上网行为管理方法另一实施例的应用场景示意图;
图6为本发明基于Socks代理的上网行为管理方法一实施例所涉及系统的结构示意图;
图7为本发明基于Socks代理的上网行为管理方法一实施例中判断是否需要进行数据解密的处理流程示意图;
图8为本发明基于Socks代理的上网行为管理方法一实施例中基于Socks 4或者Socks 4a协议的Socks代理信令交互时序和状态转换示意图;
图9为本发明基于Socks代理的上网行为管理方法一实施例中基于Socks 5协议的Socks代理信令交互时序和状态转换示意图;
图10为本发明基于Socks代理的上网行为管理装置一实施例的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:Socks代理服务器解析Socks代理场景下客户端与服务器之间的交互协议;调用预设密钥对基于所述交互协议传输的加密数据进行解密;针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。
目前,针对Socks代理场景下传输的网络数据,现有的上网行为管理方法或者产品并未提供相应的解密功能,也即无法针对该代理场景下进行的上网行为进行有效管理。
本发明提供的基于Socks代理的上网行为管理方法,在Socks代理场景下对交互协议进行解析并判断网络数据解密需求,在判断到需要对传输的网络数据进行解密的情况下采用预设密钥进行解密,然后对解密后得出的网络数据进行分析,基于分析结果处理Socks代理场景下客户端与服务器之间的上网行为,从而实现了,针对在Socks代理场景下传输的网络数据提供解密功能,以便对网络数据进行准确的识别、审计等管理操作,填补了现有上网行为管理方式无法对Socks代理场景下进行的上网行为进行有效管理的空白。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的基于Socks代理的上网行为管理设备结构示意图。
本发明实施例基于Socks代理的上网行为管理设备可以是搭载了虚拟化平台的PC机或服务器(如X86服务器)等终端设备。
如图1所示,该基于Socks代理的上网行为管理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于Socks代理的上网行为管理程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于Socks代理的上网行为管理程序,并执行以下安全组件的权限配置方法实施例中的操作。
基于上述硬件结构,提出本发明基于Socks代理的上网行为管理方法实施例,本发明基于Socks代理的上网行为管理方法应用于Socks代理服务器。
需要说明的是,Socks代理服务器连接内部网和Internet,内部网主机使用的都是私有的ip地址,内部网主机请求访问Internet时,首先和Socks服务器建立一个Socks通道,然后再将请求通过这个通道发送给Socks服务器,Socks服务器在收到内部网主机发送的客户请求后,向客户请求指定的Internet服务器发出网络数据请求,在得到Internet服务器的响应后,Socks服务器再通过原先与内部网主机建立的Socks通道将请求的网络数据反馈给内部网主机。
参照图2,图2为本发明基于Socks代理的上网行为管理方法一种实施例的流程示意图,所述方法包括:
步骤S10,解析Socks代理场景下客户端与服务器之间的交互协议。
本实施例中,Socks代理支持多种协议请求,包括但不限于http请求、ftp请求,Socks代理根据交互协议的类型分为Socks 4协议代理和Socks 5协议代理两种类型,其中,Socks 4协议代理只支持TCP(Transmission Control Protocol:传输控制协议)协议,其改进Socks 4a协议代理提供了服务器域名解析功能,而Socks 5协议代理支持TCP/UDP(UserDatagram Protocol:用户数据报协议)协议,还支持各种身份验证机制等,Socks代理服务的标准端口是1080。
在Socks代理场景下,Socks代理服务器对客户端与服务器之间的交互协议执行协议解析操作。
具体地,例如,在上述Socks代理的场景下,Socks代理服务器对连接的内部网主机和该内部网主机请求指定的Internet服务器之间的Socks 4、Socks 4a或者Socks 5协议进行解析。
具体地,请参照图3,图3为本发明基于Socks代理的上网行为管理方法另一实施例的流程示意图,作为另一种实施例,本发明基于Socks代理的上网行为管理方法在上述步骤S10之前,还可以包括:
步骤S60,加载Socks代理场景下所述客户端与所述服务器之间进行通信交互的预设配置文件。
本实施例中,预设配置文件为转换Socks代理场景下,客户管理员针对网络数据流的管理操作得到的配置文件,该预设配置文件中包括但不限于:针对Socks代理的开启或者关闭配置、针对Socks代理的代理端口配置、针对Socks代理的解密域名配置以及针对客户端与服务器之间进行通信交互的全解密配置;其中,Socks代理的开启或者关闭配置和Socks代理的代理端口配置,用于打开Socks代理功能和与指定Socks代理的端口建立连接,解密域名配置则是出于性能方面的考虑用于在加/解密模块的输入处过滤请求,全解密配置对应是否对客户端与服务器之间进行通信交互过程中的所有网络数据进行解密。
在Socks代理场景下,Socks代理服务器在对交互协议进行解析之前,加载用于映射客户管理员针对网络数据流的管理操作的配置文件。
需要说明的是,本实施例中,Socks代理服务器包括但不限于:网卡驱动模块、人机交互模块、协议处理模块、解密模块、加密模块、行为分析管理模块,其中解密模块和加密模块可合并为加/解密模块,行为分析管理模块可由数据分析模块和应用控制模块组成。
具体地,例如,参照如图6所示Socks代理系统的结构,在Socks代理场景下,Socks代理服务器通过数据收发模块中的网卡驱动模块,收发与内部网主机和与Internet服务器之间通信交互的网络数据,并调用协议处理模块加载配置文件中,客户管理员针对Socks代理场景下网络数据流的各Socks代理功能开启或者关闭、Socks代理端口、Socks代理解密域名以及是否对通信交互过程中的所有网络数据进行全解密等配置管理操作。
步骤S20,调用预设密钥对基于所述交互协议传输的加密数据进行解密。
在Socks代理场景下,当Socks代理服务器判断到当前需要对Socks代理场景下的上网行为进行数据解密时,调用预设密钥对Socks代理场景下的上网行为中,基于交互协议传输的加密数据进行解密得到。
本实施例中,预设密钥至少包括Socks代理服务器与客户端进行通信的第一密钥,和Socks代理服务器与服务器进行通信的第二密钥。
具体地,作为一种实施例,本发明基于Socks代理的上网行为管理方法在上述步骤S20之前,还可以包括:
步骤S70,从基于所述交互协议传输的应用层数据中,获取与所述客户端通信的第一密钥和与所述服务器通信的第二密钥。
在Socks代理场景下,Socks代理服务器从客户端与服务器之间基于交互协议进行传输的应用层数据中,提取并伪造与客户端之间进行通信交互的第一密钥,和与服务器之间进行通信交互的第二密钥。
具体地,作为一种实施例,步骤S20可以包括:
步骤S21,当判断到需要进行数据解密时,调用所述第一密钥和所述第二密钥对基于所述交互协议传输的加密数据进行解密。
在Socks代理场景下,当Socks代理服务器判断到当前需要对Socks代理场景下的上网行为进行数据解密时,调用第一密钥和第二密钥分别对Socks代理场景下的上网行为中,基于交互协议传输的对应的加密数据进行解密得到。
具体地,作为一种实施例,步骤S21可以包括:
步骤S211,调用所述第一密钥,对所述客户端基于所述交互协议发送的加密数据进行解密。
步骤S212,调用所述第二密钥,对所述服务器基于所述交互协议发送的加密数据进行解密。
具体地,例如,在Socks代理场景下,当Socks代理服务器基于协议处理模块对连接的内部网主机和该内部网主机请求的Internet服务器之间的Socks 4、Socks 4a或者Socks5协议进行解析,并结合加载得到的配置文件中,客户管理员针对Socks代理场景下网络数据流的各Socks代理功能开启或者关闭、Socks代理端口、Socks代理解密域名以及是否对通信交互过程中的所有网络数据进行全解密等配置管理操作,判断到当前需要对内部网主机与Internet服务器之间的上网行为中,基于Socks 4、Socks 4a或者Socks 5协议进行传输的加密数据进行解密时,将该加密数据发送至解密模块,由解密模块调用第一密钥对Socks代理服务器于内部网主机之间进行进行通信交互过程中,基于Socks 4、Socks 4a或者Socks 5协议进行传输的加密数据进行解密,并调用第二密钥对Socks代理服务器于Internet服务器之间进行进行通信交互过程中,基于Socks 4、Socks 4a或者Socks 5协议进行传输的加密数据进行解密。
需要说明的是,本实施例中,在Socks代理场景下,在客户端与Socks代理服务器之间和Socks代理服务器与客户端指定服务器之间,基于Socks 4、Socks 4a或者Socks 5协议经过代理建立过程的相关信令交互之后,在会话层建立起一个通道,以供后续Socks代理服务器与客户端、和Socks代理服务器与客户端指定的目标服务器之间进行数据传输,Socks代理服务器应将应用层数据完整转发给目标服务器或客户端,Socks代理服务器与客户端、和Socks代理服务器与客户端指定的目标服务器之间进行数据传输的网络数据即为应用层数据。
步骤S30,针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果。
在Socks代理场景下,当Socks代理服务器调用预设密钥对Socks代理场景下的上网行为中,基于交互协议传输的加密数据进行解密操作,从而得到解密后的数据之后,对解密后的数据进行特征分析得到分析结果。
需要说明的是,本实施例中,Socks代理服务器对解密后的数据进行特征分析包括但不限于对解密后的数据进行识别、审计等管理。
具体地,例如,参照如图6所示Socks代理系统的结构,在如图4所示的Socks代理场景中,当Socks代理服务器基于数据处理模块中的解密模块调用第一密钥对Socks代理服务器于内部网主机之间进行进行通信交互过程中,基于Socks 4、Socks 4a或者Socks 5协议进行传输的加密数据进行解密,并调用第二密钥对Socks代理服务器与Internet服务器之间进行进行通信交互过程中,基于Socks 4、Socks 4a或者Socks 5协议进行传输的加密数据进行解密,从而得到解密后的网络数据之后,将该解密后的网络数据输入数据分析模块,由数据分析模块对该部分解密后的网络数据进行识别、审计等管理操作,从而得到数据特征的分析结果。
步骤S40,检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;
步骤S50,当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。
具体地,例如,参照如图6所示Socks代理系统的结构,在如图5所示的Socks代理场景中,在Socks代理系统的数据处理模块中,当Socks代理服务器基于解密模块对基于Socks4、Socks 4a或者Socks 5协议进行传输的加密数据进行解密,从而得到解密后的网络数据之后,并将该解密后的网络数据输入数据分析模块,由数据分析模块对该部分解密后的网络数据进行识别、审计等管理操作,从而得到数据特征的分析结果之后,由数据分析模块进一步将得到的分析结果输入应用控制模块,由应用控制模块检测该分析结果的类型是否为上网行为违规,在检测该分析结果的类型是上网行为违规时,由应用控制模块将用户的加密请求重定向到其他http页面,并提醒其进行了违规访问,然后断开当前用户发送加密请求的客户端(内部网主机)与服务器(Internet服务器)之间的连接。
需要说明的是,本实施例中,分析结果的类型还可以包括:上网行为正常,在另一种实施例中,在Socks代理系统的数据处理模块中,在应用控制模块检测该分析结果的类型是上网行为正常时,由应用控制模块维持当前用户发送加密请求的客户端(内部网主机)与服务器(Internet服务器)之间的连接。
在本实施例中,Socks代理服务器解析Socks代理场景下客户端与服务器之间的交互协议;调用预设密钥对基于所述交互协议传输的加密数据进行解密;针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。在Socks代理场景下对交互协议进行解析并判断网络数据解密需求,在判断到需要对传输的网络数据进行解密的情况下采用预设密钥进行解密,然后对解密后得出的网络数据进行分析,基于分析结果处理Socks代理场景下客户端与服务器之间的上网行为,从而实现了,针对在Socks代理场景下传输的网络数据提供解密功能,以便对网络数据进行准确的识别、审计等管理操作,填补了现有上网行为管理方式无法对Socks代理场景下进行的上网行为进行有效管理的空白。
进一步地,基于上述本发明的实施例,提出本发明基于Socks代理的上网行为管理方法的另一种实施例,本实施例中,上述实施例中的步骤S10,还可以包括:
步骤S11,从所述交互协议中提取协议命令、目的端口和域名,并判断是否需要进行数据解密。
在Socks代理场景下,在Socks代理服务器对客户端与服务器之间的交互协议进行解析的过程中,逐一从该交互协议中解析识别出协议命令、目的端口和域名等信息,并基于解析识别出的协议命令、目的端口和域名等信息判断是否需要对当前Socks代理场景下的上网行为进行数据解密。
具体地,例如,在Socks代理场景下,在Socks代理服务器调用的协议处理模块对内部网主机,与该内部网主机请求指定的Internet服务器之间的Socks 4、Socks 4a或者Socks 5协议进行解析的过程中,协议处理模块逐一从该Socks 4、Socks 4a或者Socks 5协议中解析识别出协议命令、目的端口和域名等信息,然后根据解析协议得出的协议命令、目的端口和域名等信息,判断当前是否需要对内部网主机与Internet服务器之间所进行上网行为进行数据解密操作。
具体地,作为一种实施例,步骤S11中,判断是否需要进行数据解密的步骤可以包括:
步骤A,结合所述协议命令、所述目的端口、所述域名以及加载的所述预设配置文件判断是否需要进行数据解密。
在Socks代理场景下,Socks代理服务器结合解析识别出的协议命令、目的端口和域名等信息,以及加载得到的用于映射客户管理员针对网络数据流的管理操作的配置文件,综合判断是否需要对当前Socks代理场景下的上网行为进行数据解密。
具体地,作为一种实施例,步骤A,可以包括:
步骤A1,检测所述协议命令的命令类型,并分别确定所述预设配置文件中针对所述目的端口的第一配置,和针对所述客户端与所述服务器之间进行通信交互的全解密配置。
需要说明的是,本实施例中,协议命令的命令类型至少包括:CONNECT命令、BIND命令和UDP命令,其中,本发明基于Socks代理的上网行为管理方法仅针对命令类型为CONNECT命令的Socks代理进行数据解密以及后续上网行为处理,并将命令类型CONNECT命令设定为预设类型。
具体地,例如,在Socks代理场景下,Socks代理服务器的协议处理模块检测从解析识别出的内部网主机与Internet服务器之间的Socks 4、Socks 4a或者Socks 5协议中协议命令的命令类型是CONNECT命令、BIND命令或者UDP命令,并分别从加载得到的用于映射客户管理员针对网络数据流的管理操作的配置文件中,确定针对Socks代理的代理端口配置(即第一配置)即第一配置,和针对客户端与服务器之间进行通信交互的全解密配置。
步骤A2,当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置开启时,判断到需要进行数据解密。
具体地,例如,参照如图7所示的Socks代理服务器的协议处理模块,判断是否需要对当前Socks代理进行数据解密的处理流程,当Socks代理服务器的协议处理模块检测到从解析识别出的Socks 4、Socks 4a或者Socks 5协议中,协议命令的命令类型是CONNECT命令,并且,确定到配置文件中针对Socks代理的代理端口配置(即第一配置)是需要解密,并且确定到配置文件中针对内部网主机与Internet服务器之间进行通信交互的全解密配置开启时,判断到需要对当前Socks代理场景下的上网行为进行数据解密,从而为当前Socks代理添加解密标记,以便后续协议处理模块与解密模块建立TCP连接之后,解密模块根据该解密标记对协议处理模块经过协议剥离得到的应用层数据进行解密。
需要说明的是,本实施例中,协议剥离是指:协议处理模块从基于Socks 4、Socks4a或者Socks 5协议传输的网络数据中剥离出应用层数据,在后续数据处理过程中,协议处理模块也只将剥离得到的应用层数据转发给解密模块或直接转发给客户端请求指定的服务器。
具体地,作为一种实施例,本发明基于Socks代理的上网行为管理方法,在上述步骤S121之后,还可以包括:
步骤S123,当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置未开启时,确定所述预设配置文件中针对所述域名的第二配置;
步骤S124,若确定所述第二配置是需要解密时,判断到需要进行数据解密。
具体地,例如,参照如图7所示的Socks代理服务器的协议处理模块,判断是否需要对当前Socks代理进行数据解密的处理流程,当Socks代理服务器的协议处理模块检测到从解析识别出的Socks 4、Socks 4a或者Socks 5协议中,协议命令的命令类型是CONNECT命令,并且,确定到配置文件中针对内部网主机与Internet服务器之间进行通信交互的全解密配置未开启时,进一步确定配置文件中针对Socks代理的解密域名配置(即第二配置),若确定到该解密域名配置(即第二配置)是需要解密时,判断到需要对当前Socks代理场景下的上网行为进行数据解密,从而为当前Socks代理添加解密标记,以便后续协议处理模块与解密模块建立TCP连接之后,解密模块根据该解密标记对协议处理模块经过协议剥离得到的应用层数据进行解密。
在本实施例中,从所述交互协议中提取协议命令、目的端口和域名;检测所述协议命令的命令类型,并分别确定所述预设配置文件中针对所述目的端口的第一配置,和针对所述客户端与所述服务器之间进行通信交互的全解密配置;当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置开启时,判断到需要进行数据解密;或者,当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置未开启时,确定所述预设配置文件中针对所述域名的第二配置;若确定所述第二配置是需要解密时,判断到需要进行数据解密。在Socks代理场景下,在Socks代理服务器对客户端与服务器之间的交互协议进行解析的过程中,逐一从该交互协议中解析识别出协议命令、目的端口和域名等信息,结合解析识别出的协议命令、目的端口和域名等信息,以及加载得到的用于映射客户管理员针对网络数据流的管理操作的配置文件,综合判断是否需要对当前Socks代理场景下的上网行为进行数据解密,实现了基于客户管理员的主动管理操作需求对Socks代理的上网行为进行管理,提高了对Socks代理场景下的上网行为进行管理的灵活性。
进一步地,基于上述本发明的各实施例,提出本发明基于Socks代理的上网行为管理方法的又一种实施例,本实施例中,在上述各实施例的步骤S10中,在协议处理模块对客户端与服务器之间的交互协议进行解析的过程中,协议处理模块为Socks代理与客户端和与服务器之间的每一个连接维护一个状态机,用以记录当前交互的状态。
其中,状态机至少维护下表所列状态:
Figure BDA0002324929320000151
其中,客户端与服务器基于Socks 4或者Socks 4a协议的Socks代理场景下,Socks代理服务器与客户端和与服务器或者解密模块之间的信令交互时序和状态转换如图8所示;客户端与服务器基于Socks 5协议的Socks代理场景下,Socks代理服务器与客户端和与服务器或者解密模块之间的信令交互时序和状态转换如图9所示。
具体地,作为一种实施例,本发明基于Socks代理的上网行为管理方法在Socks代理服务器与客户端和与服务器或者解密模块之间tcp连接超时时,将断开该tcp连接;当Socks代理服务器的协议处理模块在进行协议解析过程中,将“报文解析错误”设置状态为PT_ERROR,后续将断开tcp连接;在基于Socks 5协议的Socks代理场景下,将“Socks 5协议认证失败”设置状态为PT_ERROR,且后续断开连接。
本实施例中,为Socks代理与客户端和与服务器之间的每一个连接维护一个状态机,用以记录当前交互的状态;并针对tcp连接超时、报文解析错误以及Socks 5协议认证失败等特征场景设置对应处理方式,实现了针对在Socks代理场景下进行的上网行为进行管理操作,填补了现有上网行为管理方式无法对Socks代理场景下进行的上网行为进行有效管理的空白。
本发明还提供一种基于Socks代理的上网行为管理装置,本发明基于Socks代理的上网行为管理装置应用上述任一实施例中的Socks代理服务器。
参照图10,图10为本发明基于Socks代理的上网行为管理装置一实施例的模块示意图,本实施例中,所述装置包括:
协议处理模块,用于解析Socks代理场景下客户端与服务器之间的交互协议;
解密模块,用于调用预设密钥对基于所述交互协议传输的加密数据进行解密;
行为分析模块,用于针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;
检测模块,用于检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;
行为管理模块,用于当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。
上述各功能模块实现的方法可参照本发明基于Socks代理的上网行为管理方法实施例,此处不再赘述。
在本实施例中,协议处理模块,用于解析Socks代理场景下客户端与服务器之间的交互协议;解密模块,用于调用预设密钥对基于所述交互协议传输的加密数据进行解密;行为分析模块,用于针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;检测模块,用于检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;行为管理模块,用于当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接。通过上述方式,在Socks代理场景下对交互协议进行解析并判断网络数据解密需求,在判断到需要对传输的网络数据进行解密的情况下采用预设密钥进行解密,然后对解密后得出的网络数据进行分析,基于分析结果处理Socks代理场景下客户端与服务器之间的上网行为,从而实现了,针对在Socks代理场景下传输的网络数据提供解密功能,以便对网络数据进行准确的识别、审计等管理操作,填补了现有上网行为管理方式无法对Socks代理场景下进行的上网行为进行有效管理的空白。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有基于Socks代理的上网行为管理程序,所述基于Socks代理的上网行为管理程序被处理器执行时实现如上所述的基于Socks代理的上网行为管理方法的步骤。
其中,在所述处理器上运行的基于Socks代理的上网行为管理程序被执行时所实现的方法可参照本发明基于Socks代理的上网行为管理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种基于Socks代理的上网行为管理方法,其特征在于,所述基于Socks代理的上网行为管理方法应用于Socks代理服务器,所述基于Socks代理的上网行为管理方法包括如下步骤:
解析Socks代理场景下客户端与服务器之间的交互协议;
调用预设密钥对基于所述交互协议传输的加密数据进行解密;
针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;
检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;
当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接;
在所述解析Socks代理场景下客户端与服务器之间的交互协议的步骤之前,还包括:
加载Socks代理场景下所述客户端与所述服务器之间进行通信交互的预设配置文件;
所述解析Socks代理场景下客户端与服务器之间的交互协议的步骤,包括:
从所述交互协议中提取协议命令、目的端口和域名,并结合所述协议命令、所述目的端口、所述域名以及加载的所述预设配置文件判断是否需要进行数据解密。
2.如权利要求1所述的基于Socks代理的上网行为管理方法,其特征在于,所述结合所述协议命令、目的端口、所述域名以及加载的所述预设配置文件判断是否需要进行数据解密的步骤,包括:
检测所述协议命令的命令类型,并分别确定所述预设配置文件中针对所述目的端口的第一配置,和针对所述客户端与所述服务器之间进行通信交互的全解密配置;
当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置开启时,判断到需要进行数据解密。
3.如权利要求2所述的基于Socks代理的上网行为管理方法,其特征在于,在所述检测所述协议命令的命令类型,并分别读取所述预设配置文件中针对所述目的端口的第一配置,和针对所述客户端与所述服务器之间进行通信交互的全解密配置的步骤之后,还包括:
当检测到所述协议命令为预设类型且所述第一配置是需要解密,且确定所述全解密配置未开启时,确定所述预设配置文件中针对所述域名的第二配置;
若确定所述第二配置是需要解密时,判断到需要进行数据解密。
4.如权利要求1所述的基于Socks代理的上网行为管理方法,其特征在于,所述预设密钥包括与所述客户端通信的第一密钥和与所述服务器通信的第二密钥,
在所述调用预设密钥对基于所述交互协议传输的加密数据进行解密的步骤之前,还包括:
从基于所述交互协议传输的应用层数据中,获取与所述客户端通信的第一密钥和与所述服务器通信的第二密钥。
5.如权利要求4所述的基于Socks代理的上网行为管理方法,其特征在于,所述调用预设密钥对基于所述交互协议传输的加密数据进行解密的步骤,包括:
当判断到需要进行数据解密时,调用所述第一密钥和所述第二密钥对基于所述交互协议传输的加密数据进行解密;
所述调用所述第一密钥和所述第二密钥对基于所述交互协议传输的加密数据进行解密的步骤,包括:
调用所述第一密钥,对所述客户端基于所述交互协议发送的加密数据进行解密;
调用所述第二密钥,对所述服务器基于所述交互协议发送的加密数据进行解密。
6.一种基于Socks代理的上网行为管理装置,其特征在于,所述基于Socks代理的上网行为管理装置应用于Socks代理服务器,所述基于Socks代理的上网行为管理装置包括:
协议处理模块,用于解析Socks代理场景下客户端与服务器之间的交互协议;
解密模块,用于调用预设密钥对基于所述交互协议传输的加密数据进行解密;
行为分析模块,用于针对将所述加密数据进行解密得到的数据进行特征分析得到分析结果;
检测模块,用于检测所述分析结果的类型,其中,所述类型至少包括:上网行为违规;
行为管理模块,用于当检测到所述分析结果为上网行为违规时,断开所述客户端与所述服务器之间的连接;
其中,所述协议处理模块还用于加载Socks代理场景下所述客户端与所述服务器之间进行通信交互的预设配置文件,以及,从所述交互协议中提取协议命令、目的端口和域名,并结合所述协议命令、所述目的端口、所述域名以及加载的所述预设配置文件判断是否需要进行数据解密。
7.一种基于Socks代理的上网行为管理设备,其特征在于,所述基于Socks代理的上网行为管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Socks代理的上网行为管理程序,所述基于Socks代理的上网行为管理程序被所述处理器执行时实现如权利要求1至5中任一项所述的基于Socks代理的上网行为管理方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于Socks代理的上网行为管理程序,所述基于Socks代理的上网行为管理程序被处理器执行时实现如权利要求1至5中任一项所述的基于Socks代理的上网行为管理方法的步骤。
CN201911321839.4A 2019-12-18 2019-12-18 基于Socks代理的上网行为管理方法、装置、设备及存储介质 Active CN111049844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911321839.4A CN111049844B (zh) 2019-12-18 2019-12-18 基于Socks代理的上网行为管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911321839.4A CN111049844B (zh) 2019-12-18 2019-12-18 基于Socks代理的上网行为管理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111049844A CN111049844A (zh) 2020-04-21
CN111049844B true CN111049844B (zh) 2022-02-22

Family

ID=70238148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911321839.4A Active CN111049844B (zh) 2019-12-18 2019-12-18 基于Socks代理的上网行为管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111049844B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787110B (zh) * 2020-07-03 2023-03-31 国网湖北省电力有限公司 一种Socks代理发现方法及系统
CN113328877B (zh) * 2021-05-06 2022-03-15 北京天空卫士网络安全技术有限公司 一种端口协议的确定方法和装置
CN113824685B (zh) * 2021-08-20 2023-07-14 联通沃音乐文化有限公司 一种基于Android VpnService实现的移动端定向流量代理系统与方法
CN113965577B (zh) * 2021-08-31 2024-02-27 联通沃音乐文化有限公司 一种智能切换Socks5代理服务器节点的系统与方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005060211A2 (en) * 2003-12-10 2005-06-30 Aventail Corporation Network appliance for distributed load balancing
CN106713320A (zh) * 2016-12-23 2017-05-24 腾讯科技(深圳)有限公司 终端数据传输的方法和装置
CN108616536A (zh) * 2018-04-28 2018-10-02 成都睿码科技有限责任公司 加密socks协议的一种方法及其应用
CN109547490A (zh) * 2019-01-03 2019-03-29 深圳壹账通智能科技有限公司 监护方法、装置和存储介质
CN109587204A (zh) * 2017-09-29 2019-04-05 中兴通讯股份有限公司 一种访问公网的方法、装置和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353380B2 (en) * 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005060211A2 (en) * 2003-12-10 2005-06-30 Aventail Corporation Network appliance for distributed load balancing
CN106713320A (zh) * 2016-12-23 2017-05-24 腾讯科技(深圳)有限公司 终端数据传输的方法和装置
CN109587204A (zh) * 2017-09-29 2019-04-05 中兴通讯股份有限公司 一种访问公网的方法、装置和电子设备
CN108616536A (zh) * 2018-04-28 2018-10-02 成都睿码科技有限责任公司 加密socks协议的一种方法及其应用
CN109547490A (zh) * 2019-01-03 2019-03-29 深圳壹账通智能科技有限公司 监护方法、装置和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于socks5代理轻量级网络流量加密研究;王永鉴等;《软件》;20170515;第38卷(第5期);全文 *
针对特定网站的指纹识别研究;李晨阳;《中国优秀硕士学位论文全文数据库(电子期刊)》;20160615;全文 *

Also Published As

Publication number Publication date
CN111049844A (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN111049844B (zh) 基于Socks代理的上网行为管理方法、装置、设备及存储介质
US10021033B2 (en) Context driven policy based packet capture
US11477248B2 (en) Protecting web applications from untrusted endpoints using remote browser isolation
US8631499B2 (en) Platform for analyzing the security of communication protocols and channels
US9521208B2 (en) Generic transcoding service with library attachment
US20050262357A1 (en) Network access using reverse proxy
US20070005777A1 (en) Client web service access
CN111428225A (zh) 数据交互方法、装置、计算机设备及存储介质
CN110071933B (zh) 安全套接层加速方法、装置、设备及可读存储介质
US20150244835A1 (en) Transcoding instance with multiple channels
US8635440B2 (en) Proxy with layer 3 security
CN111182537A (zh) 移动应用的网络接入方法、装置及系统
US10032027B2 (en) Information processing apparatus and program for executing an electronic data in an execution environment
CN113992642B (zh) 网关代理服务器的流量审计方法、装置及相关设备
CN110808990B (zh) 邮件传输方法、装置、电子设备及计算机可读存储介质
CN109905352B (zh) 一种基于加密协议审计数据的方法、装置和存储介质
US20150242059A1 (en) Video Compose Function
CN111274461A (zh) 数据审计方法、数据审计装置及存储介质
US10009318B2 (en) Connecting to a cloud service for secure access
CN115695400A (zh) 一种Web页面与本地应用交互的方法及终端
Sengupta et al. Web Privacy By Design: Evaluating Cross-layer Interactions of QUIC, DNS and H/3
US20140032897A1 (en) Securely establishing a communication channel between a switch and a network-based application using a unique identifier for the network-based application
CN113992734A (zh) 会话连接方法及装置、设备
CN111953742A (zh) 一种页面重定向方法、终端设备、中间设备及服务器
CN111756718A (zh) 终端及访问方法、系统、服务器和计算机可读存储介质

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