Socks5 udp代理

Socks5 udp代理,第1张

socks5在socks4上多了对udp代理的支持,可以说是“全能代理”了。udp代理较对比tcp代理,流程上要复杂一些,下面从最开始流程讲起

客户端建立和代理服的tcp连接A,并发送第一帧数据:

代理服务器收到后,会鉴别VER,回应

流程和前一篇 socks5协议简介 完全相同

客户端发送第二帧数据:

CMD:命令,tcp代理0x01,udp代理0x03

RSV:保留字段

ATYP:地址类型 0x01:ipv4,0x03:域名,0x04:ipv6

DST.ADDR:本地使用udp的地址

DST.PORT:本地使用udp的端口

比如数据 :0x05|0x03|0x00|0x01|0x00000000|0x0000

代表需要代理的是udp连接,此时DST.ADDR和DST.PORT代表客户端UDP准备发送的地址和端口,用于服务器权限控制(只给DST.ADDR:DST.PORT发出来的udp包代理),当然可以为空即全是0

代理服收到后,回复

REP:状态位,0x00代表连接DST.ADDR成功了

RSV:保留字段

ATYP:地址类型 0x01:ipv4,0x03:域名,0x04:ipv6

BND.ADDR:udp代理地址

BND.PORT:udp代理端口

比如,返回0x05|0x00|0x00|0x01|0xc0a8c76a|0xcdf0,通知客户端UDP代理地址是192.168.199.106:52720,有什么udp包直接向这个地址发

客户端知道udp代理地址后,将所在发送的数据DATA需要包裹成下面的帧发送给192.168.199.106:52720

RSV:保留位

FRAG:分片位

ATYP:地址类型 0x01:ipv4,0x03:域名,0x04:ipv6

DST.PORT:目标地址

DST.PORT:目标端口

DATA:要发送的数据

其中FRAG分片位,用于控制大帧分成多帧用,一般情况下为0x00(不分帧)

UDP代理收到后,将DATA分离出来,发送给DST.ADDR:DST.PORT,同时,收到目标报的UDP的数据,也包裹成上面帧结构发给客户端

可以发现,udp代理的建立是在与代理服先建立tcp连接,tcp连接上先“握手”和“准备代理”,客户端知道udp代理地址后,就不用这个tcp连接了,直接udp代理了,理论上这个tcp连接无用了,但socks5协议指出,这个tcp连接要保持长连接,如果断开,则相应的udp代理也要结束,真正实现上,我看过的许多socks5代理源码没实现的这么细,我的golang实现socks5上,也只是保持这个tcp长连接,有时间再完善这个细节点

想详细了解的可以参照我的golang实现 https://github.com/0990/socks5

RFC1928-SOCKS Protocol Version 5

代理服务器位于您的设备和互联网之间。因此,在使用代理时,您将无法直接访问Internet,但您的Web请求将首先通过代理路由,然后再发送到Web服务器。代理协议是在设备和代理服务器之间进行数据交换期间应用的规则,SOCKS5代理是最常见的代理协议类型之一。由于SOCKS5的灵活性、速度和匿名性,SOCKS5代理适用于个人或公司的不同用途。

流量密集型数据传输

SOCKS5代理非常适合需要传输大量数据的用例,例如P2P、游戏和流媒体。使用SOCKS5代理更容易从流量密集型来源(如视频或直播)中抓取网页。

本地网络的远程连接

想要与本地网络建立安全远程连接的企业可以使用SOCKS5代理。将SOCKS5代理与身份验证和其他加密应用程序相结合,会确保远程连接的安全性。

网页抓取

高质量的数据对于企业来说至关重要,网络抓取是从用户每天创建的大量非结构化数据中提取价值最有效的方式。

网页抓取是使用自动化程序(bot)从网站提取数据并将其导出为可读格式以进行分析的过程。机器人能够提取大量数据。虽然可以使用HTTPS代理运行大多数数据抓取项目,但SOCKS5代理提供了从任何TCP或UDP传输中抓取数据的优势。这使您可以抓取无法通过HTTPS代理访问的数据源,例如实时视频流。

IPIDEA产品仅支持境外网络环境下使用,不提供任何形式的境内使用方式。

支持全球240个国家地区,每日超9000万住宅动态IP资源,欢迎访问:www.ipidea.net。

什么是代理服务器?

代理服务器是介于浏览器和Web服务器之间的一台服务器,当你通过代理服务器上网浏览时,浏览器不是直接到Web服务器去取回网页,而是向代理服务器发出请求,由代理服务器来取回浏览器所需要的信息,并传送给你的浏览器。

使用代理服务器的好处

Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)型的对话层,主要的功能是突破自身IP访问限制:

1.访问国外站点。教育网、169网等网络用户可以通过代理访问国外网站。

2.访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源

的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育

网开放的各类FTP下载上传,以及各类资料查询共享等服务。

3.突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种

限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。

4.提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界

的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,

则直接由缓冲区中取出信息,传给用户,以提高访问速度。

5.隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。

socks和http的区别:

SOCKS是一组由Internal工程工作小组(IETF)所开发出来的开放软件开放标准,用来处理网络安全的事宜。SOCKS象一堵墙被夹在Internal服务器和客户端之间,对于出入企业网络的资讯提供流量和安全的管理。SOCKS这个名词并不是一组英文字头的缩写,而是一个和TCP/IP的Socket端口有关的安全标准,一般防火墙系统通常是象网关(Gateway)一样是作用在OSI模型的第七层也就是应用层上,对TCP/IP的高级协议,如Telnet、FTP、HTTP和SMTP加以管制,而SOCKS作用在OSI模型的第四层也就是会话层上,象一个代理一样对客户端到服务器端或服务器和服务器之间的数据联系,提供安全上的服务。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。 Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求),所以Socks代理服务器比应用层代理服务器要快的


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/24737.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-16
下一篇2023-02-16

发表评论

登录后才能评论

评论列表(0条)

    保存