SOCKS5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,让通讯更加安全。SOCKS5服务器通过将前端发来的请求转发给真正的目标服务器,模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。SOCKS5服务器在将通讯请求发送给真正服务器的过程中,对于请求数据包本身不加任何改变。SOCKS5服务器接收到真正服务器的响应后,也原样转发给前端。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。

SOCKS5代理,是采用SOCKS协议的代理服务器,是一种通用的代理服务器,默认端口是1080。SOCKS5代理工作在会话层,不要求应用程序遵循特定的操作系统平台,SOCKS5代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。

Socks5原理介绍

Socks5是一个代理协议,位于传输层(TCP/UDP等)与应用层之间。Socks软件包组成为如下结构:

Socks库:安装于客户端。为Socket库的替代品,所有使用Socks的程序都必须将Socket库函数调用更改为Socks库函数调用。需要注意的是,Socks库函数仍然需要调用Socket库函数,Socks仅仅是在其上做了安全验证。

Sockd守护程序:安装于服务器,接收并处理来自客户端的CONNECT,BIND及请UDP associate求。以CONNECT请求为例,其工作流程为:

1.客户端向代理服务器发出请求信息,用以协商版本和认证方法

2.代理服务器应答,将选择的方法发送给客户端

3.客户和代理服务器进入由选定认证方法所决定的子协商过程

4.子协商过程结束后,客户端发送请求信息,其中明了目标服务器的IP地址和端口

5.代理服务器验证客户端身份,验证通过后会与目标服务器连接

6.代理服务器向客户端返回连接信息

7.若连接完成,则代理服务器开始作为中转站中转数据

Socks5协议同时支持TCP及UDP代理,它主要工作与会话层,因此与上层的协议无关。但是,它无法做到全局代理。

什么是SOCKS5代理相关推荐

  1. 穿透Socks5 代理的UDP编程

    网络编程中,对于数据传输实时性要求较高的场合,大家都会选择UDP来作为数据传输协议,在TCP/IP协议族中UDP协议较TCP协议需要的网络系统资源更少.然而在企业应用中,由于网络安全原因等会导致除了特 ...

  2. #架构#重新设计socks5代理代码框架

    之前写过socks5代理,具体请看这篇文章. 在写任何代码代码之前,一直认为只有设计好了相应的数据结构,才能写好好的算法和框架.从前面的代码来看,对socks5协议的数据结构定义还算不错,具有很好的可 ...

  3. Socks代理是什么?PC端怎么使用Socks5代理?

    之前给大家介绍过代理IP是什么以及它的作用.代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息,形象的说:它是网络信息的中转站.最常用的代理莫过于HTTP代理与Sock ...

  4. socks5代理IP的几种测试工具

    socks5代理IP和HTTP代理存在着一定的区别,它们的使用网络协议存在区别,在使用方式上也存在区别,HTTP代理IP可以通过浏览器设置代理进行测试,而socks5代理IP却不能直接通过浏览器设置代 ...

  5. 使用Socks5代理加速爬虫访问的方法

    在进行网络爬虫开发的过程中,我们常常需要使用代理来模拟不同地区.不同网络环境的访问情况.而Socks5代理相比HTTP代理,更具有一些优势,例如可以实现UDP流量的转发,支持用户名密码认证等功能.本文 ...

  6. 如何设置SOCKS5代理?最全方法汇总!

    很多情况下我们都会使用到SOCKS5代理,例如设置QQ以及YY语音等等.设置网络代理对于网络冲浪的人们也是家常便饭的操作了.但不同的软件或浏览器使用代理,其设置方法是不一样的.那能不能同时使用代理软件 ...

  7. Socks5代理Socks5 Proxy

    Socks5代理Socks5 Proxy Socks5代理是基于Socks协议的一种代理模式.其中,5表示该协议的版本号.它可以让局域网的计算机通过socks5代理服务器,访问外网的内容.由于它工作在 ...

  8. PHP使用socks5代理发送邮件

    通过socks5代理使用smtp发邮件 起因 因为使用smtp发邮件,点击查看邮件原文能看到发送的服务器ip,而一般使用smtp的服务器为后台服务器,为了防止ip暴露,所以需要通过代理来进行发邮件的动 ...

  9. nps+Proxifier搭建socks5代理隧道进行内网穿透

    目录 一.实验环境搭建 二.nps 服务端配置 客户端配置 将npc注册到系统服务 三.Proxifiers使用 在渗透过程中,我们需要快速实现内网穿透,从而绕过网络访问限制,直接从外网来访问内网 正 ...

  10. Proxifier Socks5 代理(内网访问、远程办公)

    适用场景 远程(在家)办公,访问公司内网 资源下载 代理工具 Proxifier: https://pan.baidu.com/s/13NoMcp1F03GXWt90PzsgPA 提取码: 8d3d ...

最新文章

  1. Ansible03-管理变量、加密、事实
  2. oracle归档日志是否启用,oracle归档日志满了,导致无法启动 ORA-03113
  3. Hibernate基础小案例
  4. 制作碳排放强度的空间可视化_【科研成果】吴传清、宋子逸:长江经济带农业碳排放的时空差异特征分析...
  5. pycharm 黄色(黄字)高亮警告 Default argument value is mutable 原因及解决办法(mutable 可变对象与 immutable不可变对象)
  6. oracle z中rowid,oracle 10g中的ROWID
  7. 推断:Facebook的新Java静态分析工具
  8. 蓝牙 sig base uuid_蓝牙模块采用陶瓷天线和PCB天线的区别
  9. python连接sql数据库_python连接sql server数据库实现增删改查
  10. Android自定义控件学习(二)-----自定义attr Style styleable以及其应用
  11. 牛b硬件信息修改大师_比X大师更靠谱?一款真正良心的硬件检测工具
  12. dbf 转mysql_DbfToMysql-DbfToMysql(Dbf数据转换Mysql工具)下载 v1.6官方版--pc6下载站
  13. 架构师之路 — 分布式系统 — 分布式网络分区难题
  14. ShuffleNet神经网络
  15. 桌面出现2个计算机,在一个电脑屏幕上如何同时显示两个word
  16. 红米note4x装linux,红米Note4X自己安装Magisk的过程
  17. 纵向时间线html,51个css时间轴
  18. oracle分区表备份恢复
  19. 考PMP试题的经验和对策
  20. android状态栏上显示图标大全,状态栏中的Android应用图标

热门文章

  1. count(*)、count(1)、count(0)、count(列名)区别
  2. javascript中let和var的区别
  3. C++俄罗斯方块(linux环境)
  4. 家里电脑dnf无线连接服务器,win7系统dnf正在连接服务器的解决方法
  5. 跟着换屏哥手机维修工程师,轻松排除iphone手机小故障
  6. 基于SSM框架开发生鲜水果蔬菜电商平台系统.rar(含源码及数据库文件)
  7. 新手运营APP总结:把握住APP核心价值!
  8. count(),count(1),count(*)
  9. 浏览器页面的缓存设置(不缓存设置)
  10. nginx(详细讲解)