CN112491927B - 一种绕过网络端口屏蔽的方法及系统 - Google Patents
一种绕过网络端口屏蔽的方法及系统 Download PDFInfo
- Publication number
- CN112491927B CN112491927B CN202011468766.4A CN202011468766A CN112491927B CN 112491927 B CN112491927 B CN 112491927B CN 202011468766 A CN202011468766 A CN 202011468766A CN 112491927 B CN112491927 B CN 112491927B
- Authority
- CN
- China
- Prior art keywords
- port
- receiving end
- network
- data packet
- network data
- 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
Links
Images
Classifications
-
- 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/0281—Proxies
-
- 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 Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种绕过网络端口屏蔽的方法及系统,该方法中包括:S1:发送端向接收端发送网络数据包;S2:发送端上安装的端口代理模块选择用于拦截网络数据包的拦截方式;S3:端口代理模块根据选择的拦截方式将网络数据包发送至接收端的代理端口;S4:接收端的代理接口接收到网络数据包后,接收端将本机的代理端口接收的网络数据包转发至本机的实际接收端端口。本发明可以在不改动现有业务架构的基础上,通过端口代理和端口转发的方式绕过被屏蔽的网络端口,达到事半功倍的效果。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种绕过网络端口屏蔽的方法及系统。
背景技术
随着信息技术的不断发展,人们对网络安全越来越重视,部分特定网络出于网络安全的考虑,通过路由器和防火墙策略屏蔽大量端口(如135、137、138、139、445和3389等),而有些端口在正常业务中会经常被使用到,一旦被屏蔽就会造成严重的影响,比如市面上有很多厂商的大容量NAS存储都对外提供SMB文件共享服务,而SMB文件共享服务使用的正是445敏感端口,一旦445端口被屏蔽,整个存储上存放的数据都无法正常访问,所有依赖NAS存储的业务也将无法正常工作。如何在网络端口被屏蔽的情况下保证业务能够正常运行,这将成为解决产品技术风险的关键。
传统绕过网络端口屏蔽的方法是通过单一的端口映射或端口代理方法打通一条传输隧道,在实现方式上大多需要搭建代理服务器或者修改业务发送端的访问端口,不仅复杂性高,而且对现有业务的侵入性比较强,因此只能适用于特定的业务场景,比如Windows远程桌面的3389端口被屏蔽,通过修改注册表可以避免使用3389端口进行通信,也可以通过工具把3389端口映射到13389端口,然后业务端通过13389端口进行远程桌面访问,但是像SMB这种文件共享服务无法手动更改445默认端口,在访问共享文件时也无法在URL中指定端口号,这样就导致所有依赖文件共享服务的业务都无法正常使用。
发明内容
为了解决上述问题,本发明提出了一种绕过网络端口屏蔽的方法及系统。
具体方案如下:
一种绕过网络端口屏蔽的方法,包括以下步骤:
S1:发送端向接收端发送网络数据包;
S2:发送端上安装的端口代理模块选择用于拦截网络数据包的拦截方式;
S3:端口代理模块根据选择的拦截方式将网络数据包发送至接收端的代理端口;
S4:接收端的代理接口接收到网络数据包后,接收端将本机的代理端口接收的网络数据包转发至本机的实际接收端端口。
进一步的,拦截方式包括三种,分别为:
(1)通过对Winsock API中的connect函数进行API Hook实现;
(2)通过重写LSP的WSPConnect函数实现;
(3)基于WFP框架实现。
进一步的,步骤S4中接收端将本机的代理端口接收的网络请求转发至本机的实际接收端端口的方法为:通过Windows下的netsh或Linux下的iptables进行转发。
一种绕过网络端口屏蔽的系统,包括发送端和接收端,发送端和接收端均包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述发送端和接收端的处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,可以在不改动现有业务架构的基础上,通过端口代理和端口转发的方式绕过被屏蔽的网络端口,达到事半功倍的效果。
附图说明
图1所示为本发明实施例一中方法的流程图。
图2所示为该实施例中WFP驱动方式的端口代理流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种绕过网络端口屏蔽的方法,如图1所示,其为本发明实施例所述的绕过网络端口屏蔽的方法的流程图,所述方法包括以下步骤:
S1:发送端向接收端发送网络数据包。
该实施例中设定接收端实际需要连接的实际接收端端口为DestPort,发送短通过TCP/IP向接收端的DestPort发送网络请求对应的网络数据包。
S2:发送端上安装的端口代理模块选择用于拦截网络数据包的拦截方式。
该实施例中根据业务需求来选择拦截方式,具体包括以下三种:
(1)采用Hook进行拦截
Hook技术又叫钩子函数,在系统没有调用函数之前,就先被钩子函数捕获并得到控制权,通过在钩子函数里面改变函数的默认行为达到特定目的。该实施例中通过对Winsock API中的connect函数进行API Hook,实现进程内的端口代理功能。这种只在应用层进程级别的Hook方式实现比较简单,很适合对某个特定进程在用户层进行端口代理,但是它无法拦截内核层的网络通信。
(2)采用LSP进行拦截
LSP(layered service provider)即分层服务提供商,Winsock作为应用程序的网络套接字工具,可以由称为“分层服务提供商”的机制进行扩展。LSP就是TCP/IP等协议的接口,通过自己实现和安装LSP到现有协议链中,它可以实现加密、过滤、透明代理等功能。该实施例中通过重写LSP的WSPConnect函数,实现目标端口数据转发到代理端口的功能。这种方式被广泛应用在网络加速、域名劫持和Sock5代理等方面,但是Windows的SMB客户端并不调用Winsock API实现网络通信,而是在驱动层实现了SMB协议的所有流程,所以使用LSP技术也无法拦截到SMB的连接过程。
(3)采用WFP驱动进行拦截
WFP(Windows Filtering Platform)是为网络过滤应用开发平台提供支持的API和系统服务的集合,它允许开发者编写代码和操作系统的网络协议栈交互,它是在Win7及以上系统中TDI的替代框架,提供了更加强大的内核网络数据包的过滤、拦截和修改等功能。该实施例中基于WFP框架实现了完整的端口拦截和代理逻辑,这种方式从驱动层入手可以解决无法拦截到特定网络包的问题,但是它无法运行在XP系统并且需要处理签名问题。WFP驱动方式的端口代理流程如图2所示,其中,WFPPortProxy.sys封装了WFP的API,对WFP过滤点进行挂载并实现相应的钩子函数;WFPPortProxy.dll是用户层和驱动层的代理,程序只需与dll交互就能完成网络包的处理;PortProxy.exe是端口代理在应用层的实现,主要通过调用dll安装驱动和设置过滤条件。
该实施例中采用WFP驱动方式。
S3:端口代理模块根据选择的拦截方式将网络数据包发送至接收端的代理端口。
该实施例中设定接收端的用于实际网络数据传输的代理端口为ProxyPort,接收端中实际接收发送端发送的网络数据包的端口为代理端口ProxyPort。
S4:接收端的代理接口接收到网络数据包后,接收端将本机的代理端口接收的网络数据包转发至本机的实际接收端端口。
步骤S4实现接收端将代理接收ProxyPor至实际接收端口DestPort之间的网络数据包的转发,即从本机的某一端口接收数据包后转发至本机的另一端口,比如接收端从8080接收到数据后转发到本机的80端口。该实施例中通过安装于接收端上的集成了Windows和Linux自带的两款网络端口转发工具的端口转发模块进行转发。
(1)Windows网络端口转发
netsh(Network Shell)是Windows系统自带的功能强大的网络配置工具,它内置网络端口转发的功能,任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口或远程计算机上的端口。如转发时在命令行执行命令:netsh interfaceportproxy add v4tov4 listenaddress=*listenport=10445 connectaddress=127.0.0.1 connectport=445,该命令表示把网络中传入本机10445端口的数据转发到本机的445端口。
(2)Linux网络端口转发
iptables是与最新的3.5版本Linux内核集成的IP信息包过滤系统,其是一款功能强大的功能,用来设置数据包过滤条件和NAT的命令行工具,通过设定规则可以实现Windows下netsh相同的端口转发功能。如转发时在命令行执行命令:iptables-t nat-APREROUTING-p tcp--dport 10445-j REDIRECT--to-port 445,该命令表示把网络中传入本机10445端口的数据转发到本机的445端口。
通过本发明实施例一的技术方案,解决了在特定网络环境下,管理员通过网络防火墙屏蔽特定网络端口,导致数据流无法通行的问题,可以实现在应用客户端访问远程服务时,保持原业务中采用的端口号,不需要做任何改动;在应用服务端通过操作系统自带的端口映射工具完成端口转发的功能。
实施例二:
本发明还提供一种绕过网络端口屏蔽的系统,包括发送端和接收端,发送端和接收端均包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述发送端和接收端的处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述发送端和接收端可以是桌上型计算机、手机、笔记本、掌上电脑及云端服务器等计算设备。所述发送端和接收端可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述发送端和接收端的组成结构仅仅是发送端和接收端的示例,并不构成对发送端和接收端的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如发送端和接收端还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述发送端或接收端的控制中心,利用各种接口和线路连接整个发送端或接收端的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述发送端和接收端的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (4)
1.一种绕过网络端口屏蔽的方法,其特征在于,包括以下步骤:
S1:发送端向接收端发送网络数据包;
S2:发送端上安装的端口代理模块选择用于拦截网络数据包的拦截方式;
S3:端口代理模块根据选择的拦截方式将网络数据包发送至接收端的代理端口;
S4:接收端的代理端口 接收到网络数据包后,接收端通过网络端口转发工具将本机的代理端口接收的网络数据包转发至本机的实际接收端端口。
2.根据权利要求1所述的绕过网络端口屏蔽的方法,其特征在于:拦截方式包括三种,分别为:
(1)通过对Winsock API中的connect函数进行API Hook实现;
(2)通过重写LSP的WSPConnect函数实现;
(3)基于WFP框架实现。
3.根据权利要求1所述的绕过网络端口屏蔽的方法,其特征在于:步骤S4中接收端将本机的代理端口接收的网络请求转发至本机的实际接收端端口的方法为:通过Windows下的netsh或Linux下的iptables进行转发。
4.一种绕过网络端口屏蔽的系统,其特征在于:包括发送端和接收端,发送端和接收端均包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述发送端和接收端的处理器执行所述计算机程序时实现如权利要求1~3中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468766.4A CN112491927B (zh) | 2020-12-15 | 2020-12-15 | 一种绕过网络端口屏蔽的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468766.4A CN112491927B (zh) | 2020-12-15 | 2020-12-15 | 一种绕过网络端口屏蔽的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112491927A CN112491927A (zh) | 2021-03-12 |
CN112491927B true CN112491927B (zh) | 2022-12-02 |
Family
ID=74916829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011468766.4A Active CN112491927B (zh) | 2020-12-15 | 2020-12-15 | 一种绕过网络端口屏蔽的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112491927B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110808897A (zh) * | 2019-11-06 | 2020-02-18 | 深信服科技股份有限公司 | 代理访问方法、用户设备、存储介质、装置及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2741460B1 (en) * | 2012-12-05 | 2015-08-26 | Alcatel Lucent | A method and a user agent for load balancing within several proxies in a SIP network comprising a router applying network address translation |
US9509717B2 (en) * | 2014-08-14 | 2016-11-29 | Masergy Communications, Inc. | End point secured network |
CN105656943B (zh) * | 2016-03-15 | 2019-07-05 | 上海缔安科技股份有限公司 | 一种应用数据拦截系统及方法 |
CN107070934B (zh) * | 2017-04-26 | 2018-08-28 | 腾讯科技(深圳)有限公司 | 一种透明代理实现方法、装置、客户端以及终端 |
CN109889468B (zh) * | 2017-12-06 | 2022-06-14 | 腾讯科技(武汉)有限公司 | 网络数据的传输方法、系统、装置、设备及存储介质 |
CN109347817B (zh) * | 2018-10-12 | 2021-06-25 | 厦门安胜网络科技有限公司 | 一种网络安全重定向的方法及装置 |
CN110535743B (zh) * | 2019-08-19 | 2022-04-26 | 厦门亿联网络技术股份有限公司 | 一种数据包的处理方法、装置、存储介质及电子装置 |
CN110912940A (zh) * | 2019-12-25 | 2020-03-24 | 普世(南京)智能科技有限公司 | 一种基于双单向交换设备的隔离网络透明业务访问方法及系统 |
-
2020
- 2020-12-15 CN CN202011468766.4A patent/CN112491927B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110808897A (zh) * | 2019-11-06 | 2020-02-18 | 深信服科技股份有限公司 | 代理访问方法、用户设备、存储介质、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112491927A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281485B2 (en) | Extended context delivery for context-based authorization | |
US6678734B1 (en) | Method for intercepting network packets in a computing device | |
US8560709B1 (en) | System and method for dynamic policy based access over a virtual private network | |
US20030231632A1 (en) | Method and system for packet-level routing | |
US8291475B2 (en) | Secure cross-domain communication for web mashups | |
US8010973B2 (en) | Class loader for managing a network | |
US20130111542A1 (en) | Security policy tokenization | |
CN110166459B (zh) | 反序列化漏洞的防护方法、装置、设备及可读存储介质 | |
US20120278878A1 (en) | Systems and methods for establishing secure virtual private network communications using non-privileged vpn client | |
US20070276950A1 (en) | Firewall For Dynamically Activated Resources | |
US9009332B1 (en) | Protection against network-based malicious activity utilizing transparent proxy services | |
WO2007147149A2 (en) | Usb wireless network drive | |
US8458366B2 (en) | Method and system for onloading network services | |
RU2498398C2 (ru) | Система и способ эффективной реализации улучшенного маршрутизаторного устройства | |
KR101076683B1 (ko) | 호스트 기반의 망분리 장치 및 방법 | |
CN116545978B (zh) | 数据处理方法、装置、系统、可读存储介质及进口网卡 | |
US8447880B2 (en) | Network stack instance architecture with selection of transport layers | |
US20060080517A1 (en) | Accessing a protected area of a storage device | |
US10547590B1 (en) | Network processing using asynchronous functions | |
US20070168536A1 (en) | Network protocol stack isolation | |
CN112491927B (zh) | 一种绕过网络端口屏蔽的方法及系统 | |
WO2022204676A1 (en) | Systems and methods for low latency stateful threat detection and mitigation | |
CN110602053B (zh) | 应用进程无感式内核层加解密系统及方法 | |
US8499023B1 (en) | Servlet-based grid computing environment using grid engines and switches to manage resources | |
CN114025370A (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 |