换ip软件,代理ip软件,更改ip地址-智游代理
首页 IP软件套餐 HTTP代理套餐 API提取 使用帮助 新闻资讯 长效IP 注册 登录 实名验证

在线咨询

800819380 售前客服
在线客服,实时响应

客户经理:
13326404693

473197630 QQ群
473197630

微信客服

您的位置: 首页 > 新闻资讯 > Socks5代理 > 正文

SOCKS5代理的原理和应用

发布时间:2018年10月18日 来源:智游代理 www.zhiyoudaili.com

首先解释一下为什么它被称之为SOCKS。其实该协议设计之初是为了让有权限的用户可以穿过过防火墙的限制,使得高权限用户可以访问一般用户不能访问的外部资源。当时设计者考虑到几乎所有使用TCP/IP通信的应用软件都使用socket(套接字,实际上是一组应用程序接口)完成底层的数据通信。为了方便软件开发者使用该协议,协议设计者就刻意对应了几组socket编程最经典的操作,并且将协议定名为SOCKS。 


最先被广泛使用的SOCKS协议是其第四版本,就是SOCKS4。IE和一些其他应用程序直接用“Socks”表示SOCKS4协议。该版本支持TCP的connect(作为客户端连接)和listen(打开一个监听端口),不支持UDP协议。SOCKS4A对SOCKS4作了一点增强,即允许客户端将域名发送给SOCKS服务器,让SOCKS服务器进行域名解析。 


SOCKS5是第五版,相对第四版作了大幅度的增强。首先,它增加了对UDP协议的支持;其次,它可以支持多种用户身份验证方式和通信加密方式;最后,修改了SOCKS服务器进行域名解析的方法,使其更加优雅。经过这次脱胎换骨的升级,SOCKS5于1996年被IETF确认为标准通信协议,RFC编号为1928。经过10余年的时间,大量的网络应用程序都支持SOCKS5代理。 


SOCKS5虽然可以支持多种用户身份验证方式,但是应用程序真正实现的一般也只有两种:不验证和用户名密码验证。所以大多数应用程序SOCKS5代理设置也只有用户名/密码这一种可选验证方法。另外,尽管从SOCKS4开始,就支持打开TCP监听端口,但是直到SOCKS5,也只允许这个端口接收一个客户端连接。因此网络服务提供者(如http服务器)不能使用SOCKS。实际上,很多SOCKS服务器的实现也不支持打开TCP监听端口。 


由于SOCKS5实际上仍然对应了socket的经典操作,所以有人利用这一点编写了一种通用软件,可以让不支持SOCKS5协议的应用软件也能通过SOCKS5服务器进行网络通信,而应用软件则对此一无所知。这类软件最著名的莫过于SocksCap32了,它是Permeo公司(其前身是NEC北美公司的一个部门,而SOCKS最初就是NEC北美公司的工程师开发并维护的)早期推出的一款产品。用户可以免费使用其试用版。试用版和正式版相比,没有功能上的限制,只有使用时间的限制。但是到目前为止,Permeo总是会在老版本到期之前推出一个延后了期限的“新”版本,所以用户实际上可以免费使用。SocksCap32是利用API钩子,截获应用软件对socket函数的调用来实现对SOCKS5客户端的模拟。尽管SocksCap32很有名,但是由于推出的时间较早,对很多现代应用软件时常表现的力不从心,所以Permeo又提供了Permeo Security Driver(以下称为PSD)。这款产品使用了驱动技术从底层直接截获应用软件的socket通信,因此几乎可以为所有应用软件提供SOCKS5客户端的支持。PSD不提供试用版,但是可以找到其早期版本的注册码。 


虽然说设计SOCKS协议的初衷是在保证网络隔离的情况下,提高部分人员的网络访问权限,但是国内似乎很少有组织机构这样使用。一般情况下,大家都会使用更新的网络安全技术来达到相同的目的。但是由于SocksCap32和PSD这类软件,人们找到了SOCKS协议新的用途——突破网络通信限制,这和该协议的初衷实际上正好相反。比如某些网游的部分服务器设置为只接收部分地区的IP地址的连接。为了突破这种限制,可以找一个该地区的SOCKS5代理服务器,然后用PSD接管网游客户端,通过SOCKS5代理服务器连接游戏服务器。这样游戏服务器就会认为该客户端位于本地区,从而允许进行游戏。还有一种情况是:防火墙仅允许部分端口(如http的80端口)通信,那么可以利用SOCKS5协议和一个打开80端口监听的SOCKS5服务器连接,从而可以连接公网上其他端口的服务器。利用一些额外的技术手段,甚至可以骗过内部的http代理服务器,这时在使用内网http代理上网的环境下也可以不受限制的使用网络服务,这称之为SOCKS over HTTP。


sock5代理的工作程序是: 

1.需要向代理方服务器发出请求信息。

2.代理方应答

3.需要代理方接到应答后发送向代理方发送目的ip和端口

4.代理方与目的连接

5.代理方将需要代理方发出的信息传到目的方,将目的方发出的信息传到需要代理方。代理完成。


由于网上的信息传输都是运用tcp或udp进行的,所以使用socks5代理可以办到网上所能办到的一切,而且不舆目的方会查到你的ip,既安全又方

便 sock5支持UDP和TCP,但两种代理是有区别的,以下分类说明


如何用代理TCP协议


1.向服务器的1080端口建立tcp连接。

2.向服务器发送 05 01 00 (此为16进制码,以下同)

3.如果接到 05 00 则是可以代理

4.发送 05 01 00 01 + 目的地址(4字节) + 目的端口(2字节),目的地址和端口都是16进制码(不是字符串!!)。 例202.103.190.27 -7201 则发送的信息为:05 01 00 01 CA 67 BE 1B 1C 21 (CA=202 67=103 BE=190 1B=27 1C21=7201)

5.接受服务器返回的自身地址和端口,连接完成

6.以后操作和直接与目的方进行TCP连接相同。


如何用代理UDP连接


1.向服务器的1080端口建立udp连接

2.向服务器发送 05 01 00

3.如果接到 05 00 则是可以代理

4.发送 05 03 00 01 00 00 00 00 + 本地UDP端口(2字节)

5.服务器返回 05 00 00 01 +服务器地址+端口

6.需要申请方发送 00 00 00 01 +目的地址IP(4字节)+目的端口 +所要发送的信息

7.当有数据报返回时 向需要代理方发出00 00 00 01 +来源地址IP(4字节)+来源端口 +接受的信息


注:此为不需要密码的代理协议,只是socks5的一部分,完整协议请RFC1928。

转载注明来自:智游代理IP http://www.zhiyoudaili.com/

相关文章内容简介

1 http与sock5代理ip有何不同

互联网上不单单是更换IP可以用代理HTTP换IP转换器,加速也是能够使用到它。尽管不论是哪一种代理HTTP都能够起到换IP,可是使用操作上依然是有差异。今天小编就带大家来了解一下。现如今,许多工作都要使用到IP,比如线上推广、爬虫运行等。尽管IP是工作上常常使用到的,但目前市面上有很多决定,消费者无法决策。比如说,做互联网或者做程序的人对http代理IP较为熟悉,可是相对于socks5代理IP,许多人了解的就没那样深入了。要明白,socks5代理IP,选用socks协议的代理服务器,这类服务器是一种通用的代理服务器。而http代理IP选用的是协议性代理服务器,主要的功能是代理浏览器进行网页的访问。除去这一点区别之外,sock5代理与htttp代理在使用端口以及使用速度方面也有差异,这些都是用户要在决定之前明白的。... [阅读全文]

2 代理服务器中的HTTP代理与SOCKS代理的区别

什么是HTTP代理:www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)是就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。什么是socks代理:相应的,采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks不要求应用程序遵循特定的操作系统平台,Socks代理与应用层代理、HTTP层代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访问Internet就可能需要使用SOCKS。一般情况下,对于拨号上网用户都不需要使用它。注意,浏览网页时常用的代理服务器通常是专门的http代理,它和SOC... [阅读全文]

热门标签

推荐阅读

  1. 14

    2020-05

    代理服务器中的HTTP代理与SOCKS代理的区别

    什么是HTTP代理:www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)是就是用http代理。它通常绑定在代理服务器的80、3

  2. 27

    2020-04

    如何测试Socks5代理

    很多朋友不知道socks5代理和HTTP代理有什么不同,其实他们使用的协议不一样,HTTP代理能够代理客户机的HTTP访问,而SOCKS代理只是简单地传递数据包而并不关心是何种应用协议。HTTP代理可以通过

  3. 16

    2019-12

    socks5弱口令检测

    SOCKS5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5服务器通

  4. 17

    2020-06

    http与sock5代理ip有何不同

    互联网上不单单是更换IP可以用代理HTTP换IP转换器,加速也是能够使用到它。尽管不论是哪一种代理HTTP都能够起到换IP,可是使用操作上依然是有差异。今天小编就带大家来了解一下。

  5. 15

    2019-01

    动态IP代理和Sock5代理的区别?

    动态IP代理即虚拟专用网或虚拟私用网,被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过公用网络的安全、稳定的隧道。

  6. 17

    2019-12

    谷歌浏览器设置socks5代理?

    谷歌是很多人喜欢用的浏览器,在使用时我们常常会遇到各种问题。本次就给大家介绍谷歌浏览器设置socks5代理?快来看看吧!