CN105391813A - 一种socks透明代理的方法及装置 - Google Patents
一种socks透明代理的方法及装置 Download PDFInfo
- Publication number
- CN105391813A CN105391813A CN201510670671.3A CN201510670671A CN105391813A CN 105391813 A CN105391813 A CN 105391813A CN 201510670671 A CN201510670671 A CN 201510670671A CN 105391813 A CN105391813 A CN 105391813A
- Authority
- CN
- China
- Prior art keywords
- client
- address
- socks
- router
- domain name
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种SOCKS透明代理的方法,可以提高代理的工作效率和准确性。该方法运行在路由器中,并包括步骤:(1)当客户端连接至路由器时,通过DHCP协议将路由器本机IP地址作为DNS服务器提供给客户端;(2)当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;(3)拦截客户端以此IP地址为目标发起的连接;(4)查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;(5)将客户端和SOCKS代理服务器间的通讯流量互相转发至对方;(6)结束。还提供了一种SOCKS透明代理的装置。
Description
技术领域
本发明属于无线通信的路由器的技术领域,具体地涉及一种SOCKS透明代理的方法以及装置,其主要提高了SOCKS透明代理的DNS解析速度与精度。
背景技术
采用SOCKS协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。SOCKS是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为InternetRFC标准的开放标准。
SOCKS是一组由Internal工程工作小组(IETF)所开发出来的开放软件开放标准,用来处理网络安全的事宜。SOCKS像一堵墙被夹在Internal服务器和客户端之间,对于出入企业网络的资讯提供流量和安全的管理。SOCKS这个名词并不是一组英文字头的缩写,而是一个和TCP/IP的Socket端口有关的安全标准,一般防火墙系统通常是像网关(Gateway)一样是作用在OSI模型(OpenSystemInterconnection,开放式通信系统互联参考模型)的第七层也就是应用层上,对TCP/IP的高级协议,如Telnet、FTP、HTTP和SMTP加以管制,而SOCKS作用在OSI模型的第五层也就是会话层上,像一个代理一样对客户端到服务器端或服务器和服务器之间的数据联系,提供安全上的服务。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。
SOCKS不要求应用程序遵循特定的操作系统平台,SOCKS代理与应用层代理、HTTP层代理不同,SOCKS代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,SOCKS代理比其他应用层代理要快得多。
透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的requestfields(报文),并会传送真实IP。SOCKS代理属于透明代理。SOCKS代理目前被广泛应用于各种场景,如穿越防火墙规则、防止通讯内容泄露增加安全性等。其原理是通过将客户端的网络流量转发至SOCKS代理服务器从而实现透明代理。
但是,由于各种原因,在目前的网络环境中,SOCKS透明代理中的DNS解析速度比较慢,精度比较差。
发明内容
本发明要解决的技术解决问题是;克服现有技术的不足,提供一种SOCKS透明代理的方法,通过让SOCKS代理服务器解析目标域名,提升透明代理的效率和准确性。。
本发明的技术解决方案是;这种SOCKS透明代理的方法,该方法运行在路由器中,并包括以下步骤;
(1)当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;
(2)拦截客户端以此IP地址为目标发起的连接;
(3)查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;
(4)将客户端和SOCKS代理服务器间的通讯流量互相转发至对方;
(5)结束。
还提供了一种SOCKS透明代理的装置,该装置嵌入在路由器中,并配置来;
当客户端连接至路由器时,通过DHCP协议将路由器本机IP地址作为DNS服务器提供给客户端;
当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;
拦截客户端以此IP地址为目标发起的连接;
查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;
将客户端和SOCKS代理服务器间的通讯流量互相转发至对方。
本发明通过向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系,拦截客户端以此IP地址为目标发起的连接,查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器,然后将客户端和SOCKS代理服务器间的通讯流量互相转发至对方,从而提升了透明代理的工作效率和准确性。
附图说明
图1是根据本发明的SOCKS透明代理的方法的流程图。
图2是根据本发明的SOCKS透明代理的装置的一个优选实施例的各部分之间的关系示意图。
具体实施方式
如图1所示,这种SOCKS透明代理的方法,该方法运行在路由器中,并包括以下步骤;
(1)当客户端连接至路由器时,通过DHCP协议将路由器本机IP地址作为DNS服务器提供给客户端;
(2)当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;
(3)拦截客户端以此IP地址为目标发起的连接;
(4)查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;
(5)将客户端和SOCKS代理服务器间的通讯流量互相转发至对方;
(6)结束。
本发明通过向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系,拦截客户端以此IP地址为目标发起的连接,查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器,然后将客户端和SOCKS代理服务器间的通讯流量互相转发至对方,从而提高了透明代理的工作效率和准确性。
优选地,在所述步骤(2)中,当路由器收到客户端发起的DNS请求时,在预先设定好的一个IP地址段中选择一个尚未被使用的IP地址,并记录此IP地址与待解析域名的对应关系,然后将此IP地址作为DNS解析的结果返回给客户端。
优选地,在所述步骤(3)中,当客户端收到DNS解析的结果,并以结果中的IP地址作为目标发起连接时,路由器判断此连接的目标的IP地址是否属于预先设定好的IP地址段;如果是则拦截客户端以此IP地址为目标发起的连接,并作为目标与客户端建立连接;如果不是,则跳转到步骤(6)。
优选地,在所述步骤(4)中,当路由器与客户端建立连接后,使用此连接的目标IP地址查询在步骤(2)中储存的与之对应的域名;获得域名后,路由器与预先设定好的SOCKS代理服务器建立连接,并通过SOCKS协议的控制头将此域名传输给SOCKS代理服务器。
优选地,在所述步骤(5)中,当路由器与SOCKS代理服务器连接后,将客户端发送的数据转发至SOCKS代理服务器,将SOCKS代理服务器发送的数据转发至客户端。
优选地,在所述步骤(6)中,当客户端和SOCKS代理服务器中的任意一方终止与路由器的连接时,路由器终止与客户端和SOCKS代理服务器中的另一方的连接,流程结束。
如图2所示,还提供了一种SOCKS透明代理的装置,该装置嵌入在路由器中,并配置来;
当客户端连接至路由器时,通过DHCP协议将路由器本机IP地址作为DNS服务器提供给客户端;
当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;
拦截客户端以此IP地址为目标发起的连接;
查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;
将客户端和SOCKS代理服务器间的通讯流量互相转发至对方。
以下给出一个具体实施例。
如图1所示,假设客户端试图访问域名www.abc.com,首先发送DNS请求。路由器收到DNS请求后从预先设定的IP地址段25.0.0.0-25.0.0.8中动态生成一可用IP地址,例如25.0.0.1,然后返回该IP地址。客户端收到结果后,与25.0.0.1建立连接。此连接被转发至路由器,路由器通过25.0.0.1目标IP地址查询得到原始的目标域名为www.abc.com,并与SOCKS代理服务器连接。SOCKS代理服务器获得域名后解析为IP地址,并与其建立连接。此后,客户端就可以与www.abc.com通讯了。
本发明的有益效果为;通过让SOCKS代理服务器进行DNS解析,提高了透明代理的工作效率和准确性。。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (7)
1.一种SOCKS透明代理的方法,其特征在于:该方法运行在路由器中,并包括以下步骤:
(1)当客户端连接至路由器时,通过DHCP协议将路由器本机IP地址作为DNS服务器提供给客户端;
(2)当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;
(3)拦截客户端以此IP地址为目标发起的连接;
(4)查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;
(5)将客户端和SOCKS代理服务器间的通讯流量互相转发至对方;
(6)结束。
2.根据权利要求1所述的SOCKS透明代理的方法,其特征在于:在所述步骤(2)中,当路由器收到客户端发起的DNS请求时,在预先设定好的一个IP地址段中选择一个尚未被使用的IP地址,并记录此IP地址与待解析域名的对应关系,然后将此IP地址作为DNS解析的结果返回给客户端。
3.根据权利要求2所述的SOCKS透明代理的方法,其特征在于:在所述步骤(3)中,当客户端收到DNS解析的结果,并以结果中的IP地址作为目标发起连接时,路由器判断此连接的目标的IP地址是否属于预先设定好的IP地址段:如果是则拦截客户端以此IP地址为目标发起的连接,并作为目标与客户端建立连接;如果不是,则跳转到步骤(6)。
4.根据权利要求3所述的SOCKS透明代理的方法,其特征在于:在所述步骤(4)中,当路由器与客户端建立连接后,使用此连接的目标IP地址查询在步骤(2)中储存的与之对应的域名;获得域名后,路由器与预先设定好的SOCKS代理服务器建立连接,并通过SOCKS协议的控制头将此域名传输给SOCKS代理服务器。
5.根据权利要求4所述的SOCKS透明代理的方法,其特征在于:在所述步骤(5)中,当路由器与SOCKS代理服务器连接后,将客户端发送的数据转发至SOCKS代理服务器,将SOCKS代理服务器发送的数据转发至客户端。
6.根据权利要求5所述的SOCKS透明代理的方法,其特征在于:在所述步骤(6)中,当客户端和SOCKS代理服务器中的任意一方终止与路由器的连接时,路由器终止与客户端和SOCKS代理服务器中的另一方的连接,流程结束。
7.一种SOCKS透明代理的装置,其特征在于:该装置嵌入在路由器中,并配置来:
当客户端连接至路由器时,通过DHCP协议将路由器本机IP地址作为DNS服务器提供给客户端;
当收到客户端发起的DNS请求时,向客户端返回动态生成的IP地址,并记录此IP地址与待解析域名的对应关系;
拦截客户端以此IP地址为目标发起的连接;
查询此IP地址所对应的域名并将其发送给预设的SOCKS代理服务器;
将客户端和SOCKS代理服务器间的通讯流量互相转发至对方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510670671.3A CN105391813A (zh) | 2015-10-13 | 2015-10-13 | 一种socks透明代理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510670671.3A CN105391813A (zh) | 2015-10-13 | 2015-10-13 | 一种socks透明代理的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105391813A true CN105391813A (zh) | 2016-03-09 |
Family
ID=55423642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510670671.3A Pending CN105391813A (zh) | 2015-10-13 | 2015-10-13 | 一种socks透明代理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105391813A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533830A (zh) * | 2016-10-28 | 2017-03-22 | 上海斐讯数据通信技术有限公司 | 一种提高报文响应时间的装置及方法 |
CN110730252A (zh) * | 2019-09-25 | 2020-01-24 | 南京优速网络科技有限公司 | 一种通过改造linux内核报文处理功能的地址转换方法 |
WO2021121027A1 (zh) * | 2019-12-20 | 2021-06-24 | 中兴通讯股份有限公司 | 实现网络动态性的方法、系统、终端设备及存储介质 |
CN113965577A (zh) * | 2021-08-31 | 2022-01-21 | 联通沃音乐文化有限公司 | 一种智能切换Socks5代理服务器节点的系统与方法 |
CN116418863A (zh) * | 2023-06-09 | 2023-07-11 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585376A (zh) * | 2003-08-20 | 2005-02-23 | 华为技术有限公司 | 一种地址转换方法及实现该方法的混合地址转换路由器 |
CN102223266A (zh) * | 2011-06-17 | 2011-10-19 | 北京星网锐捷网络技术有限公司 | 一种协议代理检测方法和装置 |
CN103237035A (zh) * | 2013-04-28 | 2013-08-07 | 哈尔滨工业大学 | 可控分布式代理平台 |
CN103581361A (zh) * | 2013-11-18 | 2014-02-12 | 广东睿江科技有限公司 | 一种域名解析代理方法、设备及系统 |
CN103812868A (zh) * | 2014-02-20 | 2014-05-21 | 北京极科极客科技有限公司 | 基于IPv4/IPv6转换实现免费上网的方法及其系统 |
CN107483593A (zh) * | 2017-08-22 | 2017-12-15 | 网宿科技股份有限公司 | 双向透明代理方法及系统 |
-
2015
- 2015-10-13 CN CN201510670671.3A patent/CN105391813A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1585376A (zh) * | 2003-08-20 | 2005-02-23 | 华为技术有限公司 | 一种地址转换方法及实现该方法的混合地址转换路由器 |
CN102223266A (zh) * | 2011-06-17 | 2011-10-19 | 北京星网锐捷网络技术有限公司 | 一种协议代理检测方法和装置 |
CN103237035A (zh) * | 2013-04-28 | 2013-08-07 | 哈尔滨工业大学 | 可控分布式代理平台 |
CN103581361A (zh) * | 2013-11-18 | 2014-02-12 | 广东睿江科技有限公司 | 一种域名解析代理方法、设备及系统 |
CN103812868A (zh) * | 2014-02-20 | 2014-05-21 | 北京极科极客科技有限公司 | 基于IPv4/IPv6转换实现免费上网的方法及其系统 |
CN107483593A (zh) * | 2017-08-22 | 2017-12-15 | 网宿科技股份有限公司 | 双向透明代理方法及系统 |
Non-Patent Citations (2)
Title |
---|
彭勇 , 范乐君 , 陈冬青: ""基于透明代理的域名系统隐患分析与防御策略"", 《清华大学学报(自然科学版)》 * |
杨骕宇: ""高并发环境中路由器平台上DNS代理的设计与实现"", 《中国优秀硕士论文全文库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533830A (zh) * | 2016-10-28 | 2017-03-22 | 上海斐讯数据通信技术有限公司 | 一种提高报文响应时间的装置及方法 |
CN110730252A (zh) * | 2019-09-25 | 2020-01-24 | 南京优速网络科技有限公司 | 一种通过改造linux内核报文处理功能的地址转换方法 |
WO2021121027A1 (zh) * | 2019-12-20 | 2021-06-24 | 中兴通讯股份有限公司 | 实现网络动态性的方法、系统、终端设备及存储介质 |
CN113965577A (zh) * | 2021-08-31 | 2022-01-21 | 联通沃音乐文化有限公司 | 一种智能切换Socks5代理服务器节点的系统与方法 |
CN113965577B (zh) * | 2021-08-31 | 2024-02-27 | 联通沃音乐文化有限公司 | 一种智能切换Socks5代理服务器节点的系统与方法 |
CN116418863A (zh) * | 2023-06-09 | 2023-07-11 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
CN116418863B (zh) * | 2023-06-09 | 2023-09-15 | 安徽华云安科技有限公司 | 基于socks5透明代理的通信方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11683401B2 (en) | Correlating packets in communications networks | |
US7609701B2 (en) | Communication using private IP addresses of local networks | |
US7899932B2 (en) | Relayed network address translator (NAT) traversal | |
US7139828B2 (en) | Accessing an entity inside a private network | |
KR100650843B1 (ko) | 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템 | |
CN106605421B (zh) | 用于服务节点的匿名访问和控制的方法和装置 | |
US20170034174A1 (en) | Method for providing access to a web server | |
EP2449749B1 (en) | Method and apparatus for relaying packets | |
EP3026872B1 (en) | Packet forwarding method, apparatus, and system | |
CN105391813A (zh) | 一种socks透明代理的方法及装置 | |
EP2466806A1 (en) | Method and system for implementing network intercommunication | |
CN105357212A (zh) | 一种保证安全和隐私的dns端到端解析方法 | |
Boucadair | Discovering NAT64 IPv6 Prefixes Using the Port Control Protocol (PCP) | |
KR20130085556A (ko) | 메시지 인증 방법 및 그를 위한 ip-pbx 시스템 | |
JP2010045451A (ja) | パケット振り分け装置、通信システム、パケット処理方法、及びプログラム | |
Santos | Private realm gateway | |
Savolainen et al. | Discovery of the IPv6 prefix used for IPv6 address synthesis | |
KR101435931B1 (ko) | 통신 방법 및 장치 | |
Williams et al. | An Experimental TCP Option for Host Identification | |
Savolainen et al. | Rfc 7050: Discovery of the IPV6 prefix used for IPV6 address synthesis | |
Llorente Santos | Yksityisen alueen yhdyskäytävä | |
Rahman et al. | CoRE Working Group A. Castellani Internet-Draft University of Padova Intended status: Informational S. Loreto Expires: January 12, 2012 Ericsson | |
JP2007110266A (ja) | ルータ、パケットフォワード方法、およびパケットフォワードプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160309 |