动态ip

>

代理ip软件

>

换ip软件

>

HTTP代理

>
Socks5代理
黑核动态ip代理
您的位置: 首页 > 新闻资讯 > 正文

SOCKS5实现代理服务器

发布时间:2020-01-22 14:33:00 来源:黑核动态ip代理

分享到

  代理服务器的简介

  就拿翻墙作为一个例子,当我们搜索谷歌的时候,我们中国的墙(在此称为墙)检测到我们发出的请求中有google的字眼,它会直接给我一个错误请求或者干脆返回给我们一个错误的网站

  我们中国的墙实际上并不是把国外所有的网站都封锁了,而是把那些富有交流性的东西封锁,比如facebook

  回到重点:

  假设需要访问facebook,做一个翻墙服务器,首先我们要有一个能够访问facebook的服务器A,同时我们自己的电脑也可以开始访问服务器A,通过服务器A,帮助我们访问facebook,然后把访问内容返回给我们。

  当我们在浏览器输入网址并按下确认键后,浏览器把数据封装成socks5的格式,然后发送给服务器A

  服务器A得到数据后,将收到的数据进行解析,判断socks5格式是否合法,并返回一个应答信号,这个过程服务器A实际上在模拟socks5的通信格式

  服务器A成功与浏览器端口身份验证完成后,服务器A再解析出浏览器发过来的url信息,通过url信息再与对应的服务器建立连接

  建立连接后,浏览器发过来的消息,服务器A就转发给facebook的服务器端,facebook服务器接收到请求,然后返回响应给服务器A,服务器A再把响应的结果转发给浏览器。如此就实现了请求和响应的过程。

  我们需要借助的SOCKS协议

  SOCKS简单介绍

  SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间的通讯的中间传递。SOCKS是"SOCKETS"的缩写

  目前最新的版本是socks5

  版本4和5的区别在于5增加支持UDP,验证,以及IPv6,根据OSI模型,SOCKS是会话层的协议,位于表示曾和传输层之间

  想要模拟socks的与浏览器进行通信,我们必须要了解SOCKS的允许机制

  SOCKS运作过程

  第一步:身份验证(authentication)

  1.客户端连接到服务器,并发送一个版本标识符/方法选择消息

  格式如下

  2.服务器从方法中给定的方法中选择一个方法,METHOD设置0x00

  返回给客户端表示不需要身份验证,返回0xff的时候,客户端必须关闭这个连接

  这里我们直接返回0x00即可,因为我们是测试,不需要这么复杂

  第二步:SOCKS请求(客户端–>代理服务器)

  也就是代理服务器拿着客户端发过来的网址去访问网站

  SOCKS的请求格式

  VER版本

  CMD

  0x01代表连接

  0x02代表绑定

  0x03

  RSV保留的一个字节

  ATYP表示使用后面的(目标服务器的地址)DST.ADDR是什么类型

  0x01 IPV4的IP

  0x03表示是一个域名

  0x04 IPv6的IP

  DST,ADDR目标IP或者域名(长度根据类型而定)

  DST.PORT目标服务器的端口号

  第三步:响应(代理服务器–>户端)

  也就是代理服务器拿着网址访问网址对应的服务器后,得到响应,然后把这个响应再转发给客户端(浏览器)

  请求格式

  SOCKS请求信息由客户端在发送完之后立即发送

  建立到SOCKS服务器的连接,并完成

  身份验证的谈判。服务器评估请求,并且

  返回如下形式的回复:

  VER版本号

  REP回复字段

  0x00成功了

  0x01不通SOCKS服务器故障

  0x02连接不被规则集允许

  0x03网络无法连接

  0x04主机无法连接

  0x05连接被拒绝

  0x06 TTL过期

  0x07命令不支持

  0x08地址类型不支持

  0x09和0xff还没有被分配

  RSV保留字节

  ATYP后面的地址类型

  0x01 IPV4的IP

  0x03表示是一个域名

  0x04 IPv6的IP

  BND.ADDR服务器绑定的地址

  BND.PORT服务器绑定的端口号

  SOCKS5资料参考网址

  https://www.ietf.org/rfc/rfc1928.txt

  如何使用SOCKS5进行IP代理

  首先我们要明白,如果我们直接访问国外的目标服务器,我们的输入的网址将会被GFW拦截(GFW是中国防火墙),之所以我们不能访问外网,就是因为有GFW,就比如我们上不了谷歌的首页,因为我们的请求中有关于谷歌的字眼,被GFW识别后就会直接丢弃或者返回一个错误的网页给我们。

  其次,我们也必须知道并不是所有国外的网站我们都访问不了,有些网站还是允许访问了。

  现在说说原理

  一般情况下,从浏览器输入网址后,浏览器经过域名解析,得到网址对应的IP和端口号,然后向目标服务器发送请求,这个过程中都是明文传输,传输的内容中肯定有关于目标服务器的信息,如果目标服务器是不允许访问的,我们就会被拦截。

  所以我们可以把请求先发送给一个国外允许我们访问的服务器==,让国外的服务器帮助我们访问目标服务器==,然后把访问的结果返回给我们,这个过程中的数据一定要加密

  一定要加密,一定要加密,那怎么加密呢?

  1.我们输入网址后我们让浏览器SOCKS5协议向我们的本地自己搭建的SOCKS5服务器发送SOCKS5数据包

  2.SOCKS5的数据包中包含了,浏览器要访问的目标服务器的域名或者IP信息

  3.我们本地的SOCKS5服务器对这数据进行加密,因为要发送给到国外的服务器,所以要加密处理,防止被解析出来,然后导致被拦截掉。

  4。本地的SOCKS5服务器加密数据后,转发给国外的SOCKS5服务器

  5.国外的SOCKS5解密数据包,然后从SOCKS5数据包中提取出目标服务器的域名或者是IP,还有端口号

  6.国外的SOCKS5服务器帮助我们访问目标服务器,然后得到目标服务器的响应

  7.国外的SOCKS5服务器对响应进行加密处理,然后发送给我们本地的SOCKS5服务器

  8.本地的服务器对响应进行解密,把解密后的响应发给浏览器

  9.浏览器得到响应,解析页面

  原理图

SOCKS5实现代理服务器

  小结

  在讲述原理的过程中,整个执行过程如上图

  两个服务器可以分开来写,先写处理SOCKS请求的国外的服务器

  本地的SOCKS5服务器只是对数据包进行了转发

  解析数据包的时候可以使用抓包工具帮助测试


相关资讯

什么是ip代理软件?可以修改ip地址吗?

经常碰到朋友问,代理IP是做啥的,有什么用。我对他一顿解释,然后他还是云里雾里,好吧,可能是我口才不好,这里写文再解释下。代理IP对于很多人来说,用处很大,他们

来源:黑核混拨ip加速器网

2018-12-27 17:27:18

现在玩自媒体需要用到ip代理吗?

如今越来越多的人开始使用微博、今日头条等等各种自媒体平台,因此很多公司很多人都看到了这之中的商机和机会,并且借助自媒体平台来发展自己的生意,也因为自媒体的蓬勃发

来源:黑核混拨ip加速器网

2018-12-27 17:37:53

互联网工作中ip代理是不可缺少的工具

目前,中国的互联网大军正在不断壮大,各种各样依托互联网的新兴行业正在兴起,哪怕是很多传统行业,为了抢占竞争的制高点,也将跟友商之间的竞争搬到了互联网平台之上。对

来源:黑核混拨ip加速器网

2018-12-27 17:45:23

使用代理ip有什么好处?

现在,高匿代理ip时代已经到来,但是,还是有很多人不了解高匿代理ip到底有什么用,虽然随着网络科技的发展,网络对我们的生活带来了很多方便,也带来了更多的选择,网

来源:黑核混拨ip加速器网

2018-12-28 15:00:45

爬虫技术工程师为什么离不开ip代理

说到爬虫,自然离不开爬虫代理地址。爬虫是一门随着互联网大数据而应运而生的产物,它主要是为了在海量的网络数据中采集分析有效的数据而诞生的一门技术。无需多言,爬虫技

来源:黑核混拨ip加速器网

2018-12-28 15:24:23

现在采集越来越难如何找到实用的HTTP代理IP

目前,中国的互联网大军正在不断壮大,各种各样依托互联网的新兴行业正在兴起,哪怕是很多传统行业,为了抢占竞争的制高点,也将跟友商之间的竞争搬到了互联网平台之上。对

来源:黑核混拨ip加速器网

2018-12-28 15:56:10

什么情况下需要ip代理软件 ip代理软件用途

对于网络营销推广和SEO的朋友来说,数据抓取和模拟访问都是必备的工作,这两种方式都需要有大量的IP资源支持,很多用户在一些网站上面批量注册帐号、发布留言评论都会

来源:黑核混拨ip加速器网

2018-12-28 16:28:33

代理ip软件能帮助你实现优化网站

如今代理IP工具在营销领域,无论是主动式的发布推广信息,还是被动性反制竞争对手的恶意点击来说,都具有不可替代的作用。可细心的人们发现市面上代理IP的软件太多,如

来源:黑核混拨ip加速器网

2019-01-08 17:54:51

实用https代理服务器别人能查到真实地址吗

现在,高匿代理ip时代已经到来,但是,还是有很多人不了解高匿代理ip到底有什么用,虽然随着网络科技的发展,网络对我们的生活带来了很多方便,也带来了更多的选择,网

来源:黑核混拨ip加速器网

2018-12-28 17:02:47

浅谈SOCKS5代理与HTTP代理的应用区别

【1】什么是SOCKS5协议。SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。SOCKS是"Sockets”的缩写。当防火

来源:黑核混拨ip代理

2019-03-28 13:48:33

国内好用又实惠的https代理ip服务器不要错过了

随着大数据时代的到来,爬虫已经成了获取数据的必不可少的方式,在使用爬虫多次爬取同一网站时,经常会被网站的IP反爬虫机制给禁掉,为了解决封禁IP的问题,通常会使用

来源:黑核混拨ip加速器网

2018-12-28 16:55:02

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
客服电话
13318873961