(socks5)服务器代理模型
来源:互联网 发布:mysql主键的唯一约束 编辑:程序博客网 时间:2024/05/02 01:13
一、什么是GFW
防火城墙(GFW)是由原北邮校长设计出来的,GFW将国内的网络屏蔽起来了,所以整个国内的网络就像一个大的局域网,我们是不能够直接访问墙外的网站的。
二、GFW的原理
GFW能够屏蔽网络主要从以下几个方面入手。
IP封锁:IP封锁是指GFW维护的一张黑名单,只要发现向这些IP数据包,就立即进行丢弃。(像google、faceboook、youtobe这些网站的IP就在黑名单里)
内容过滤:含有某些关键字的数据包一律进行丢弃。
域名劫持:我们要通过DNS服务器获取ip地址,所以当你向DNS服务器发出请求时,DNS服务器会给你返回一个错误的IP或根本不返回。
三、服务器代理模型
既然我们知道GFW屏蔽的原理,那么只要我们绕过这些屏蔽条件,就可以访问墙外的网络。
下面先来看一下客户端服务器代理模型:
IP封锁:因为我们访问的是代理服务器,代理服务器的IP肯定不在黑名单,所以IP封锁无效。
内容过滤:因为我们将数据进行加密,所以内容过滤也无效。
域名劫持:因为我们是知道代理服务器的IP地址的,所以不经过DNS解析,所以域名劫持也无效。
四、socks5协议
1、什么是socks5协议
在上面的代理模型中,我们用到的协议是socks5协议。socks5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器之间扮演一个中间角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。
socks5服务器通过将前端发送过来的请求转发给真正的目标服务器,模拟了一个前端行为。socks5之间也是通过TCP/IP协议进行通讯的,前端将原本要发送给真正服务器的请求发送给socks5服务器。
2、socks5协议简介
2.1、首先客户端和服务器进行连接。
2.2、连接成功后客户端再向服务器发送协商认证方式:
2.3、socks服务器评估请求,并建立适当的连接或拒绝。服务器从methods中给出的方法 选择一种,并向客户端发送选择的消息:
2.4、一但上面的协商完成,客户端就可以发送请求的详细信息。
2.5、socks请求信息由客户端发送之后,服务器要对请求信息作出评估,并发送回复。
标记RESERVED(RSV)的字段必须设置为X’00’.
2.6、如果上面的步骤没有问题的话,这时候就可以使用服务器进行代理访问了。
2.7、 socks5官方文档
五、服务器部署
1、源码(有注释)
2、没有国外的云服务器,所以只能用腾讯云测试测试(以后弄到国外的服务器之后再测一下),将服务器部署到腾讯云上。
3、测试之前先将浏览器设置为socks5代理(下面是firefox)
4、先不启动客户端,看看会出现什么结果
5、启动客户端之后,再测试一下,就可以访问了网络了
- (socks5)服务器代理模型
- Socks5代理Socks5 Proxy
- SOCKS5代理
- socks5代理设置
- Linux平台socks5代理
- 代理协议SOCKS5简介
- 代理协议SOCKS5
- socks5 转 http 代理
- docker 使用 socks5代理
- SOCKS5代理原理探索
- socks5协议代理解析
- Git socks5 代理设置
- 客户端-服务器-代理模型
- 调试socks5服务器
- socks5服务器搭建
- 代理协议SOCKS5简介(zz)
- 关于socks5代理的编写
- SOCKS5代理--介绍很清楚
- 搜索引擎学习之基础知识篇
- 练习
- java中的几个集合类
- Python 安装报错 缺少api--.dll
- java基础语法
- (socks5)服务器代理模型
- mui单选框
- JAVA生成指定位数不重复的随机数,随机数含0-9、A-Z
- 当当推荐“显示/隐藏”
- 单例模式
- 网页设计配色方法论:配色秩序
- 为什么要用堡垒机,堡垒机能给公司带来什么?
- OpenCV小记(1)
- 仿微信页面Fragment之间的切换