CN114051060A - 多协议共享端口代理转发方法、装置、设备及存储介质 - Google Patents

多协议共享端口代理转发方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114051060A
CN114051060A CN202210024465.5A CN202210024465A CN114051060A CN 114051060 A CN114051060 A CN 114051060A CN 202210024465 A CN202210024465 A CN 202210024465A CN 114051060 A CN114051060 A CN 114051060A
Authority
CN
China
Prior art keywords
target
port
request
request information
protocol
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.)
Pending
Application number
CN202210024465.5A
Other languages
English (en)
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.)
Shenzhen Mingyuan Cloud Technology Co Ltd
Original Assignee
Shenzhen Mingyuan Cloud 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 Shenzhen Mingyuan Cloud Technology Co Ltd filed Critical Shenzhen Mingyuan Cloud Technology Co Ltd
Priority to CN202210024465.5A priority Critical patent/CN114051060A/zh
Publication of CN114051060A publication Critical patent/CN114051060A/zh
Pending legal-status Critical Current

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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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 And Data Communications (AREA)

Abstract

本发明公开了一种多协议共享端口代理转发方法、装置、设备及存储介质,多协议共享端口代理转发方法包括:确定进行端口监听的目标端口;若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;根据所述协议类型将所述请求信息存储至目标存储队列;确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。本发明实现了多种协议共享一个端口并能支持进行定制脚本控制,以满足高速变化的业务代理诉求。

Description

多协议共享端口代理转发方法、装置、设备及存储介质
技术领域
本发明涉及数据定位技术领域,尤其涉及一种多协议共享端口代理转发方法、装置、设备及存储介质。
背景技术
目前软件行业中不论是B/S结构(Browser/Server,浏览器/服务器)的程序还是C/S结构(Client/Server,客户机/服务器)的程序,都不可避免的需要使用到HTTP(HyperText Transfer Protocol,超文本传输协议)、HTTPS(Hyper Text Transfer Protocolover SecureSocket Layer,超文本传输安全协议)、WebSocket协议(基于TCP的全双工通信协议)中的一种或者多种协议进行应用之间的通讯,当各应用均部署在相对隔离的环境中时就需要使用到代理服务为这些应用搭建通讯桥梁,应用使用到的协议越多代理服务部署就会越复杂,因此为了减小运维的复杂度,避免维护过多端口信息,目前一般使用如Nginx(反向代理Web服务器)等Web服务器软件进行配置代理。但是这种方式无法满足高速变化的、定制化的业务代理诉求。因此,如何实现多种协议共享一个端口并能支持进行定制脚本控制,以满足高速变化的业务代理诉求成为目前急需解决的技术问题。
发明内容
本发明的主要目的在于提供一种多协议共享端口代理转发方法、装置、设备及存储介质,旨在解决如何实现多种协议共享一个端口并能支持进行定制脚本控制,以满足高速变化的业务代理诉求的技术问题。
为实现上述目的,本发明提供一种多协议共享端口代理转发方法,包括以下步骤:
确定进行端口监听的目标端口;
若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;
根据所述协议类型将所述请求信息存储至目标存储队列;
确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。
可选地,确定进行端口监听的目标端口的步骤,包括:
获取待进行监听的特定域名、本地监听端口名称和协议认证地址,并将所述特定域名、本地监听端口名称和协议认证地址封装为动态链接库;
若接收到监听指令,则将所述动态链接库中的本地监听端口名称对应的监听端口作为目标端口,并根据所述动态链接库对所述目标端口进行端口监听。
可选地,识别所述请求信息中网络协议的协议类型的步骤,包括:
对所述请求信息中请求头部的头部信息进行识别,以得到头部信息中的字节数据;
确定排列在所述字节数据前三位的目标字节数据,获取所有网络协议对应的特征值,并将所述目标字节数据和各所述特征值进行匹配;
获取和所述目标字节数据匹配的特征值,并将和所述匹配的特征值对应的网络协议的协议类型作为所述请求信息中网络协议的协议类型。
可选地,根据所述协议类型将所述请求信息存储至目标存储队列的步骤,包括:
根据所述协议类型确定存储顺序,其中,所述存储顺序包括大端存储和小端存储;
确定预设的所有存储队列中和所述存储顺序匹配的目标存储队列,将所述请求信息存储至所述目标存储队列。
可选地,根据所述协议类型将所述请求信息存储至目标存储队列的步骤之后,包括:
获取预设的请求过滤规则,确定所述请求过滤规则对应的过滤请求信息;
检测所述目标存储队列中的请求信息是否和所述过滤请求信息匹配;
若所述目标存储队列中的请求信息和所述过滤请求信息不匹配,则执行所述确定存储的所述请求信息对应的目标服务器的步骤。
可选地,对所述目标服务器进行代理请求的步骤,包括:
确定所述协议类型对应的请求方式,并确定所述请求信息中所述目标服务器的URL地址,根据所述请求方式对所述URL地址进行代理请求。
可选地,根据所述协议类型将所述请求信息存储至目标存储队列的步骤之后,还包括:
若存在多个具有请求信息的目标存储队列,且各所述目标存储队列中请求信息对应的协议类型不同,则对各所述目标存储队列同时执行所述确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求的步骤。
此外,为实现上述目的,本发明还提供一种多协议共享端口代理转发装置,包括:
确定模块,用于确定进行端口监听的目标端口;
识别模块,用于若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;
存储模块,用于根据所述协议类型将所述请求信息存储至目标存储队列;
代理请求模块,用于确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。
此外,为实现上述目的,本发明还提供一种多协议共享端口代理转发设备,多协议共享端口代理转发设备包括存储器、处理器及存储在存储器上并可在处理器上运行的多协议共享端口代理转发程序,多协议共享端口代理转发程序被处理器执行时实现如上述的多协议共享端口代理转发方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,存储介质上存储有多协议共享端口代理转发程序,多协议共享端口代理转发程序被处理器执行时实现如上述的多协议共享端口代理转发方法的步骤。
本发明通过在进行端口监听的目标端口中获取到请求信息时,识别请求信息中网络协议的协议类型,并根据协议类型将请求信息存储至目标存储队列,并根据目标存储队列中的请求信息对目标服务器进行代理请求,从而实现了采用一个共享端口来获取不同协议类型的请求信息,并根据协议类型的不同分开进行代理请求处理,实现了多种协议共享一个端口并支持进行定制脚本控制,以满足高速变化的业务代理诉求。并且由于是采用一个目标端口进行的,因此也减少了数据转发成本。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本发明多协议共享端口代理转发方法第一实施例的流程示意图;
图3为本发明多协议共享端口代理转发装置的装置模块示意图;
图4为本发明多协议共享端口代理转发方法中的整体流程示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为多协议共享端口代理转发设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在终端设备移动到耳边时,关闭显示屏和/或背光。当然,终端设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及多协议共享端口代理转发程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的多协议共享端口代理转发程序,并执行以下操作:
参照图2,本发明提供一种多协议共享端口代理转发方法,在多协议共享端口代理转发方法的第一实施例中,多协议共享端口代理转发方法包括以下步骤:
步骤S10,确定进行端口监听的目标端口;
由于目前通过Web服务器软件机芯配置代理时,无法满足高速变化的业务代理诉求。因此在本实施例中,为了满足高速变化的业务代理诉求,会提供一种多种协议共享的端口,即可以实现HTTP(Hyper Text Transfer Protocol,超文本传输协议)、HTTPS(HyperText Transfer Protocol over SecureSocket Layer,超文本传输安全协议)和WebSocket协议(基于TCP的全双工通信协议)公用的端口。并且在本实施例中会设置一个动态链接库,通过动态链接库来开启启动端口监听动作,以便对需要进行端口监听的目标端口进行端口监听。并且在对目标端口进行监听之前,需要先在浏览器或客户端程序中进行参数设置。其中,参数设置包括设置代理服务器和目标端口。并在设置完成后,后续在浏览器或客户端程序中的所有类型的请求均可以通过目标端口这一个端口来进行代理转发。例如将HTTP请求、HTTPS请求和WebSocket长连接中的一种或多种均通过一个目标端口进行代理转发。从而实现多种协议共享一个端口并能支持进行定制脚本控制,以满足高速变化的业务代理诉求。并且需要说明的是,在本实施例中各个协议请求并不仅仅局限于HTTP、HTTPS和WebSocket协议这三种,在本实施例中仅仅以这三种进行举例说明。
并且在本实施例中,还可以设置对目标端口设置一个侦听socket(套接字),通过侦听socket对目标端口进行监听,以识别协议类型,并根据协议类型进行代理服务连接。
并且在本实施例中,当确定进行端口监听的目标端口后,可以应用动态链接库开启一个端口监听,以监听目标端口的动态。例如,目标端口为10040端口,用于HTTP、HTTPS和WebSocket协议公用,则会主动对10040端口进行监听。
步骤S20,若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;
在本实施例中,请求方可以为客户端系统中的浏览器或者客户端程序。并且在确定进行监听的目标端口后,需要提前在用户所持有的客户端系统中进行代理方式的设置。例如,设置代理方式为127.0.0.1端口为10040。并且只有在客户端系统中完成代理方式的设置后,客户端系统中的各个请求访问才会通过目标端口进行代理请求访问。
因此当用户在客户端系统中的浏览器或客户端程序中进行访问时,如访问网址http://www.baidu.com时,会通过提前设置好的目标端口发送请求信息至代理服务器。由于提前有对目标端口进行端口监听操作。因此在目标端口接收到请求方发送的请求信息时,会直接识别请求信息中网络协议的协议类型,而识别协议类型的方式可以是根据请求信息中的请求头进行识别。例如,HTTP协议和WebSocket协议识别时通过识别请求头中的upgrade头进行识别。并且WebSocket协议底层是一个HTTP请求对应的TCP(TransmissionControl Protocol,传输控制协议)连接,识别到upgrade头之后将对应的TCP连接维持即可实现WebSocket长连接能力。
并且,服务器由于安全策略的限制,申请新的端口进行不同协议之间的数据转发成本较高,因此在本实施例中通过设置一种公用端口可以避免这一现象的发生。
步骤S30,根据所述协议类型将所述请求信息存储至目标存储队列;
当确定目标端口中请求信息对应的协议类型后,可以直接将请求信息存储至目标存储队列中,需要说明的是,目标存储队列为与目标端口连接的代理服务器中的存储队列。其中,在代理服务器中会设置多个存储队列,每个存储队列对应的协议类型不相同。
并且,在本实施例中的另一场景中,请求信息的存储方式包括大端存储和小端存储。其中,小端存储是较低的有效字节存储在较低的存储器地址(即存储队列),较高的有效字节存储在较高的存储器地址(即存储队列)。大端存储是较低的有效字节存储在较高的存储器地址,较高的有效字节存储在较低的存储其地址。而存储方式的确定可以根据请求信息自身的大小及协议类型来确定。或者可以根据用户提前设置的不同的协议对应的不同存储方式来确定请求信息的存储方式,再根据存储方式确定目标存储队列,并将请求信息存储至目标存储队列中。
步骤S40,确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。
当将请求信息存储至目标存储队列后,可以对目标存储队列中的所有请求信息进行数据清洗、过滤等操作。例如,过滤URL(uniform resource locator,统一资源定位系统)中包含/v10/*的HTTP请求,或者直接禁止部分URL请求等。并在数据清洗、过滤等操作完成后,可以执行请求信息的代理请求,即先确定请求信息中所携带的目标服务器的地址信息,并根据此地址信息对目标服务器进行代理请求,获取目标服务器反馈的请求结果,再将请求结果输出至请求方。
并且,在本实施例中,在代理服务器中可以使用同一个目标端口来获取不同协议类型的代理请求,即目标端口可以支持获取不同协议类型的代理请求。并且目标端口可以同时接收多个客户端发送的不同协议类型的代理请求,在此不做限制。
另外,为辅助理解本实施例中的多协议共享端口代理转发的原理的理解,下面进行举例说明。
例如,如图4所示,浏览器发送HTTP、HTTPS、WebSocket请求中的一种至代理服务器上的目标端口,代理服务器会根据目标端口接收到的请求信息进行协议识别、内存队列缓存,并根据自定义过滤规则进行过滤处理,将未通过规则的响应结果反馈至浏览器,若通过过滤规则,则请求目标服务器,并获取目标服务器反馈的目标服务器响应,返回响应至浏览器,从而完成整个代理服务的过程。
在本实施例中,通过在进行端口监听的目标端口中获取到请求信息时,识别请求信息中网络协议的协议类型,并根据协议类型将请求信息存储至目标存储队列,并根据目标存储队列中的请求信息对目标服务器进行代理请求,从而实现了采用一个共享端口来获取不同协议类型的请求信息,并根据协议类型的不同分开进行代理请求处理,实现了多种协议共享一个端口并支持进行定制脚本控制,以满足高速变化的业务代理诉求。并且由于是采用一个目标端口进行的,因此也减少了数据转发成本。
进一步地,基于上述本发明的第一实施例,提出本发明多协议共享端口代理转发方法的第二实施例,在本实施例中,上述实施例步骤S10,确定进行端口监听的目标端口的步骤的细化,包括:
步骤a,获取待进行监听的特定域名、本地监听端口名称和协议认证地址,并将所述特定域名、本地监听端口名称和协议认证地址封装为动态链接库;
在本实施例中,在进行端口监听之前,先创建一个动态链接库,即可以先在与代理服务器连接的数据库中获取构建动态链接库所需要的重要参数,如待进行监听的特定域名、本地监听端口名称和协议认证地址(如WebSocket协议认证地址)等。并且在本实施例中,特定域名和协议认证地址可以是多个,并不仅仅局限于一个。而本地监听端口名称可以设置为一个。再将获取的所有的特定域名、本地监听端口名称对应的本地监听端口和协议认证地址封装为动态链接库。
步骤b,若接收到监听指令,则将所述动态链接库中的本地监听端口名称对应的监听端口作为目标端口,并根据所述动态链接库对所述目标端口进行端口监听。
当接收到输入的监听指令时,可以根据此监听指令启动提前设置好的动态链接库,并确定动态链接库中和监听指令对应的本地监听端口名称,再将本地监听端口名称对应的监听端口作为目标端口。然后再通过动态链接库中的其它监听参数对目标端口进行端口监听。
在本实施例中,通过根据待进行监听的特定域名、本地监听端口名称和协议认证地址来封装动态链接库,并将本地监听端口名称对应的监听端口作为目标端口,再根据动态链接库对目标端口进行端口监听,从而保障了端口监听的有效性。
进一步地,识别所述请求信息中网络协议的协议类型的步骤,包括:
步骤c,对所述请求信息中请求头部的头部信息进行识别,以得到头部信息中的字节数据;
在本实施例中,在监听到目标端口中的请求信息,并对请求信息进行识别时,由于请求信息包括请求头部、请求行、请求数据和空行。而在请求行中包括有请求方法、请求地址URL和协议版本。请求头部中包括有提前设置的附加信息,如协议类型。因此,可以获取请求头部的头部信息,并对头部信息中的附加信息进行识别,得到头部信息中的字节数据。其中,字节数据包含有与协议类型相关的信息。
步骤d,确定排列在所述字节数据前三位的目标字节数据,获取所有网络协议对应的特征值,并将所述目标字节数据和各所述特征值进行匹配;
确定获取到的所有字节数据的排列顺利,并根据此排列顺序确定排列在字节数据中前三位的字节数据,并将其作为目标字节数据,获取提前设置的各个网络协议对应的特征值,并将各个目标字节数据和各个特征值进行匹配。根据不同的匹配结果执行不同的操作。
步骤e,获取和所述目标字节数据匹配的特征值,并将和所述匹配的特征值对应的网络协议的协议类型作为所述请求信息中网络协议的协议类型。
检测各个特征值是否存在和目标字节数据匹配的特征值,若存在,则获取该匹配的特征值,并确定匹配的特征值对应的网络协议,并将此网络协议的协议类型作为请求信息中网络协议的协议类型。
在本实施例中,通过识别请求信息中请求头部的字节数据,并确定字节数据中前三位的目标字节数据,并获取和目标字节数据匹配的特征值,并匹配的特征值对应的协议类型作为目标协议的协议类型,从而保障了确定协议类型的准确性。
进一步地,根据所述协议类型将所述请求信息存储至目标存储队列的步骤,包括:
步骤f,根据所述协议类型确定存储顺序,其中,所述存储顺序包括大端存储和小端存储;
在本实施例中,当确定协议类型后,可以直接根据此协议类型确定存储顺序,如协议类型为A类型,则存储顺序按照大端存储的方式进行存储,若类型类型为B类型,则存储顺序按照小端存储的方式进行存储。
步骤g,确定预设的所有存储队列中和所述存储顺序匹配的目标存储队列,将所述请求信息存储至所述目标存储队列。
在代理服务器中确定提前设置好的所有存储队列,并在这些存储队列中获取并确定和存储顺序匹配的目标存储队列,然后再将请求信息存储至目标存储队列中。当目标存储队列中的请求信息较多时,可以选择一个空闲的存储队列作为目标存储队列存储请求信息。其中和存储顺序匹配的目标存储队列为支持存储顺序,且具有空位的存储队列。
在本实施例中,通过根据协议类型确定存储顺序,并确定和存储顺序匹配的目标存储队列,再将请求信息存储至目标存储队列,从而保障了存储请求信息的正常进行。
进一步地,根据所述协议类型将所述请求信息存储至目标存储队列的步骤之后,包括:
步骤h,获取预设的请求过滤规则,确定所述请求过滤规则对应的过滤请求信息;
在本实施例中,在将请求信息存储至目标存储队列后,需要先对目标存储队列中的所有请求信息进行一次过滤清洗处理,然后再进行代理请求服务,以避免没有权限的请求访问到目标服务器,导致数据存在安全隐患的现象发生。因此可以先根据用户的需求设置一套请求过滤规则,例如将协议版本过低的请求进行过滤,不对协议版本过低的请求进行代理请求服务处理。因此在获取到提前设置的请求过滤规则时,直接确定请求过滤规则对应的需要进行过滤处理的过滤请求信息。
步骤i,检测所述目标存储队列中的请求信息是否和所述过滤请求信息匹配;
将目标存储队列中的所有请求信息和所有过滤请求信息均进行匹配,以便确定目标存储队列中需要进行过滤清洗处理的请求信息。
步骤j,若所述目标存储队列中的请求信息和所述过滤请求信息不匹配,则执行所述确定存储的所述请求信息对应的目标服务器的步骤。
当经过判断发现目标存储队列中的请求信息和过滤请求信息不匹配时,可以对目标存储队列中的所有请求信息均执行确定对应的目标服务器,并进行相应的代理请求服务操作。但是若存在和过滤请求信息匹配的请求信息,则对该匹配的请求信息进行过滤处理,并反馈无法对该匹配的请求信息进行代理服务的提示信息到请求方。
在本实施例中,通过确定请求过滤规则对应的过滤请求信息,并在目标存储队列中的请求信息和过滤请求信息不匹配时,执行确定目标服务器的步骤,从而避免了危险请求访问目标服务器,导致数据泄露的现象发生。
进一步地,对所述目标服务器进行代理请求的步骤,包括:
步骤k,确定所述协议类型对应的请求方式,并确定所述请求信息中所述目标服务器的URL地址,根据所述请求方式对所述URL地址进行代理请求。
在本实施例中,在代理服务器对目标服务器进行代理请求时,需要先确定请求信息的协议类型对应的请求方式,并确定请求信息中请求行包含的请求URL地址,并将此请求URL地址作为目标服务器的URL地址,再根据确定的请求方式对URL地址进行代理请求,以完成对目标服务器的代理请求操作。
在本实施例中,通过根据协议类型对应的请求方式对目标服务器的URL地址进行代理请求,从而保障了代理请求的正常进行。
进一步地,根据所述协议类型将所述请求信息存储至目标存储队列的步骤之后,还包括:
步骤m,若存在多个具有请求信息的目标存储队列,且各所述目标存储队列中请求信息对应的协议类型不同,则对各所述目标存储队列同时执行所述确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求的步骤。
在本实施例中,当确定在代理服务器中存在多个具有请求信息的目标存储队列时,并且经过检查发现各个目标存储队列中请求信息的协议类型不同,例如,若存在目标存储队列A和目标存储队列B,其中目标存储队列A中的请求信息的协议类型为HTTP,目标存储队列B中的请求信息的协议类型为HTTPS,则可以同时对目标存储队列A中的请求信息和目标存储队列B中的请求信息进行代理服务处理。即确定两个目标存储队列中请求信息对应的目标服务器,并同时对这些目标服务器进行代理服务请求处理。
在本实施例中,通过在确定存在多个目标存储队列时,同时执行各个目标存储队列中的请求信息对应的代理请求,保障了代理请求执行的效率。
此外,参照图3,本发明实施例还提供一种多协议共享端口代理转发装置,包括:
确定模块A10,用于确定进行端口监听的目标端口;
识别模块A20,用于若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;
存储模块A30,用于根据所述协议类型将所述请求信息存储至目标存储队列;
代理请求模块A40,用于确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。
可选地,确定模块A10,用于:
获取待进行监听的特定域名、本地监听端口名称和协议认证地址,并将所述特定域名、本地监听端口名称和协议认证地址封装为动态链接库;
若接收到监听指令,则将所述动态链接库中的本地监听端口名称对应的监听端口作为目标端口,并根据所述动态链接库对所述目标端口进行端口监听。
可选地,识别模块A20,用于:
对所述请求信息中请求头部的头部信息进行识别,以得到头部信息中的字节数据;
确定排列在所述字节数据前三位的目标字节数据,获取所有网络协议对应的特征值,并将所述目标字节数据和各所述特征值进行匹配;
获取和所述目标字节数据匹配的特征值,并将和所述匹配的特征值对应的网络协议的协议类型作为所述请求信息中网络协议的协议类型。
可选地,存储模块A30,用于:
根据所述协议类型确定存储顺序,其中,所述存储顺序包括大端存储和小端存储;
确定预设的所有存储队列中和所述存储顺序匹配的目标存储队列,将所述请求信息存储至所述目标存储队列。
可选地,存储模块A30,用于:
获取预设的请求过滤规则,确定所述请求过滤规则对应的过滤请求信息;
检测所述目标存储队列中的请求信息是否和所述过滤请求信息匹配;
若所述目标存储队列中的请求信息和所述过滤请求信息不匹配,则执行所述确定存储的所述请求信息对应的目标服务器的步骤。
可选地,代理请求模块A40,用于:
确定所述协议类型对应的请求方式,并确定所述请求信息中所述目标服务器的URL地址,根据所述请求方式对所述URL地址进行代理请求。
可选地,代理请求模块A40,用于:
若存在多个具有请求信息的目标存储队列,且各所述目标存储队列中请求信息对应的协议类型不同,则对各所述目标存储队列同时执行所述确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求的步骤。
其中,多协议共享端口代理转发装置的各个功能模块实现的步骤可参照本发明多协议共享端口代理转发方法的各个实施例,此处不再赘述。
此外,本发明还提供一种多协议共享端口代理转发设备,所述多协议共享端口代理转发设备包括:存储器、处理器及存储在所述存储器上的多协议共享端口代理转发程序;所述处理器用于执行所述多协议共享端口代理转发程序,以实现上述多协议共享端口代理转发方法各实施例的步骤。
本发明还提供了一种存储介质,存储介质可以为
计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述多协议共享端口代理转发方法各实施例的步骤。
本发明计算机可读存储介质具体实施方式与上述多协议共享端口代理转发方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种多协议共享端口代理转发方法,其特征在于,应用于代理服务器,所述多协议共享端口代理转发方法包括以下步骤:
确定进行端口监听的目标端口;
若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;
根据所述协议类型将所述请求信息存储至目标存储队列;
确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。
2.如权利要求1所述的多协议共享端口代理转发方法,其特征在于,所述确定进行端口监听的目标端口的步骤,包括:
获取待进行监听的特定域名、本地监听端口名称和协议认证地址,并将所述特定域名、本地监听端口名称和协议认证地址封装为动态链接库;
若接收到监听指令,则将所述动态链接库中的本地监听端口名称对应的监听端口作为目标端口,并根据所述动态链接库对所述目标端口进行端口监听。
3.如权利要求1所述的多协议共享端口代理转发方法,其特征在于,所述识别所述请求信息中网络协议的协议类型的步骤,包括:
对所述请求信息中请求头部的头部信息进行识别,以得到头部信息中的字节数据;
确定排列在所述字节数据前三位的目标字节数据,获取所有网络协议对应的特征值,并将所述目标字节数据和各所述特征值进行匹配;
获取和所述目标字节数据匹配的特征值,并将和所述匹配的特征值对应的网络协议的协议类型作为所述请求信息中网络协议的协议类型。
4.如权利要求1所述的多协议共享端口代理转发方法,其特征在于,所述根据所述协议类型将所述请求信息存储至目标存储队列的步骤,包括:
根据所述协议类型确定存储顺序,其中,所述存储顺序包括大端存储和小端存储;
确定预设的所有存储队列中和所述存储顺序匹配的目标存储队列,将所述请求信息存储至所述目标存储队列。
5.如权利要求1所述的多协议共享端口代理转发方法,其特征在于,所述根据所述协议类型将所述请求信息存储至目标存储队列的步骤之后,包括:
获取预设的请求过滤规则,确定所述请求过滤规则对应的过滤请求信息;
检测所述目标存储队列中的请求信息是否和所述过滤请求信息匹配;
若所述目标存储队列中的请求信息和所述过滤请求信息不匹配,则执行所述确定存储的所述请求信息对应的目标服务器的步骤。
6.如权利要求1所述的多协议共享端口代理转发方法,其特征在于,所述对所述目标服务器进行代理请求的步骤,包括:
确定所述协议类型对应的请求方式,并确定所述请求信息中所述目标服务器的URL地址,根据所述请求方式对所述URL地址进行代理请求。
7.如权利要求1-6任一项所述的多协议共享端口代理转发方法,其特征在于,所述根据所述协议类型将所述请求信息存储至目标存储队列的步骤之后,还包括:
若存在多个具有请求信息的目标存储队列,且各所述目标存储队列中请求信息对应的协议类型不同,则对各所述目标存储队列同时执行所述确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求的步骤。
8.一种多协议共享端口代理转发装置,其特征在于,所述多协议共享端口代理转发装置包括:
确定模块,用于确定进行端口监听的目标端口;
识别模块,用于若监听到目标端口获取到请求方发送的请求信息,则识别所述请求信息中网络协议的协议类型;
存储模块,用于根据所述协议类型将所述请求信息存储至目标存储队列;
代理请求模块,用于确定存储的所述请求信息对应的目标服务器,并对所述目标服务器进行代理请求,得到请求结果,输出所述请求结果至所述请求方。
9.一种多协议共享端口代理转发设备,其特征在于,所述多协议共享端口代理转发设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多协议共享端口代理转发程序,所述多协议共享端口代理转发程序被所述处理器执行时实现如权利要求1至7中任一项所述的多协议共享端口代理转发方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有多协议共享端口代理转发程序,所述多协议共享端口代理转发程序被处理器执行时实现如权利要求1至7中任一项所述的多协议共享端口代理转发方法的步骤。
CN202210024465.5A 2022-01-11 2022-01-11 多协议共享端口代理转发方法、装置、设备及存储介质 Pending CN114051060A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210024465.5A CN114051060A (zh) 2022-01-11 2022-01-11 多协议共享端口代理转发方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210024465.5A CN114051060A (zh) 2022-01-11 2022-01-11 多协议共享端口代理转发方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114051060A true CN114051060A (zh) 2022-02-15

Family

ID=80196182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210024465.5A Pending CN114051060A (zh) 2022-01-11 2022-01-11 多协议共享端口代理转发方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114051060A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900427A (zh) * 2022-04-29 2022-08-12 网宿科技股份有限公司 端口复用方法、设备及可读存储介质
CN115396533A (zh) * 2022-08-25 2022-11-25 深圳市雁联计算系统有限公司 整合多种通讯协议的数据处理方法及服务系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788823B1 (en) * 2003-09-03 2014-07-22 Cisco Technology, Inc. System and method for filtering network traffic
CN107835178A (zh) * 2017-11-13 2018-03-23 北京奇艺世纪科技有限公司 一种多协议服务通信方法、装置以及电子设备
CN109802951A (zh) * 2018-12-28 2019-05-24 东软集团股份有限公司 一种报文转发方法、设备及存储设备、程序产品
CN110677432A (zh) * 2019-10-14 2020-01-10 广州江南科友科技股份有限公司 一种网络协议内部代理转发方法、装置、介质及终端设备
CN112751812A (zh) * 2019-10-31 2021-05-04 北京京东振世信息技术有限公司 应用协议自适配的方法和装置
CN113596171A (zh) * 2021-08-04 2021-11-02 杭州朗和科技有限公司 云计算数据交互方法、系统、电子设备及存储介质
CN113783957A (zh) * 2021-09-10 2021-12-10 西安热工研究院有限公司 一种网络端口复用方法、系统、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788823B1 (en) * 2003-09-03 2014-07-22 Cisco Technology, Inc. System and method for filtering network traffic
CN107835178A (zh) * 2017-11-13 2018-03-23 北京奇艺世纪科技有限公司 一种多协议服务通信方法、装置以及电子设备
CN109802951A (zh) * 2018-12-28 2019-05-24 东软集团股份有限公司 一种报文转发方法、设备及存储设备、程序产品
CN110677432A (zh) * 2019-10-14 2020-01-10 广州江南科友科技股份有限公司 一种网络协议内部代理转发方法、装置、介质及终端设备
CN112751812A (zh) * 2019-10-31 2021-05-04 北京京东振世信息技术有限公司 应用协议自适配的方法和装置
CN113596171A (zh) * 2021-08-04 2021-11-02 杭州朗和科技有限公司 云计算数据交互方法、系统、电子设备及存储介质
CN113783957A (zh) * 2021-09-10 2021-12-10 西安热工研究院有限公司 一种网络端口复用方法、系统、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900427A (zh) * 2022-04-29 2022-08-12 网宿科技股份有限公司 端口复用方法、设备及可读存储介质
CN115396533A (zh) * 2022-08-25 2022-11-25 深圳市雁联计算系统有限公司 整合多种通讯协议的数据处理方法及服务系统

Similar Documents

Publication Publication Date Title
CN109688280B (zh) 请求处理方法、请求处理设备、浏览器及存储介质
CN114051060A (zh) 多协议共享端口代理转发方法、装置、设备及存储介质
US10896011B2 (en) Mobile device for automatically delivering print jobs to printers
CN108173839B (zh) 权限管理方法及系统
CN109657434B (zh) 应用访问方法及装置
WO2020037753A1 (zh) 日志打印方法及系统、服务器
US20160205278A1 (en) Information processing apparatus, system, and control method for information processing apparatus
US20120069389A1 (en) Information processing system, information processing apparatus, and computer readable medium
JP2007179390A (ja) システムにアクセスする方法及びネットワークシステム
JP2010123115A (ja) コンピューティング機器、ウェブページコンテンツ管理方法およびコンピュータ読み取り可能な媒体
US11079983B2 (en) Information processing apparatus that saves, in a shared memory, information for accessing a device using a URL via a USB, and method of controlling same
US9686147B2 (en) Remote management system and service providing apparatus
CN112115103B (zh) 文件地址显示方法、装置、电子设备及可读存储介质
CN109698832B (zh) 快速提供Portal认证、快速弹出Portal认证页面的方法及相关设备
CN113746941B (zh) 解除限制第三方cookie的方法、设备及存储介质
CN114915565A (zh) 网络调试的方法和系统
JP2008210094A (ja) キャッシュ制御装置
CN113852551A (zh) 一种报文处理方法及装置
US10218812B2 (en) Manner of display in a mobile application
JP2010181946A (ja) 通信システム、端末装置、コンテンツ取得方法およびプログラム
JP2016143370A (ja) 情報処理装置、情報処理システム及びプログラム
US11695836B2 (en) Recording medium, information processing method, information processing device, and information processing system
CN111090798B (zh) 一种网页数据爬取方法与系统
WO2024053733A1 (ja) 情報処理装置、仮想サービス提供プログラムおよび通信方法
JP7400505B2 (ja) 情報処理装置、情報処理システム、及び情報処理プログラム

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220215

RJ01 Rejection of invention patent application after publication