HTTP/HTTPS/SOCKS 代理指的是客户端连接代理服务器的协议,指客户端和代理服务器之间交互的协议。

如服务器支持代理HTTP协议就叫HTTP代理服务器,支持代理SOCKS协议就叫SOCKS代理服务器。如代理服务器同时支持代理HTTP/SOCKS协议,则既可以叫HTTP代理服务器,也可以叫SOCKS服务器。

补充:SOCKS协议工作在比HTTP、HTTPS更低的层次,所以HTTP协议,HTTPS协议可以使用SOCKS代理(即HTTP、HTTPS协议和代理服务器之间可以采用SOCKS协议),但反过来,SOCKS协议就不能通过HTTP/HTTPS来代理了。

注意和IE浏览器中代理(即系统代理)设置是不一样的概念!

这里IE的代理意思是,配置哪种协议走哪个代理服务器(注意并不是什么协议代理服务器,IE仅支持HTTP代理)。比如你这里配的是让HTTP协议走HTTPS代理服务器(这里的HTTPS代理服务器指仅支持代理HTTPS,不支持代理其他协议如HTTP),那么HTTP协议将不能够被代理成功。

其实,IE的代理设置都只支持HTTP代理的。上图中无论怎么设置,都是使用HTTP协议直接转发到对应的代理服务器,也就是代理服务器必须是支持代理HTTP协议的服务器(代理服务器支持其他协议比如HTTPS也是多余的,并不会使用HTTPS代理)。这里大家可能会有疑问,那HTTP代理服务器是如何可以代理HTTPS协议的呢?其实是用了HTTP隧道(HTTP tunnel)(感兴趣请自己查阅相关资料),客户端和HTTP代理服务器之间并没有进行HTTPS的握手过程。

上面说了,IE代理仅支持HTTP代理,谷歌浏览器Chrome代理配置也只能是配置IE代理,也就是只能使用HTTP代理了。那比如我想使用HTTPS代理怎么办(客户端和HTTPS代理服务器之间采用HTTPS协议)?

可以使用插件Proxy SwithchyOmega:

“网址协议”就是IE代理设置里的“类型”,和IE代理相比,多了个“代理协议”选项,即什么协议走什么代理选项。

比如可配置HTTP/HTTPS协议走SOCKS5协议代理。其实这插件也是调用了chromium提供的接口(https://www.chromium.org/developers/design-documents/network-stack/socks-proxy):

可看出FTP协议通过SOCKS协议代理还没有实现。。

最后说下ss的原理:

ss的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口,使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

有人会问,ss(R)是Socks5代理,但我上面说了IE代理(不安装Proxy SwithchyOmega情况下)只支持HTTP代理,为什么也可以访问google呢?

其实ss(R)默认在1080端口开启了Socks5代理,但是它为了兼容HTTP代理模式,会使用ss_privoxy.exe开启了一个HTTP代理(随机端口,返回拒绝则默认8123端口。

不仅如此,ss(R)在1080端口也支持HTTP代理。

我们知道,IE的代理设置是仅支持HTTP代理的。也正是因为ss(R)支持HTTP代理方式,才能使IE以及一些其他不支持Socks5代理(但支持HTTP代理)的软件进行代理。

浏览器一般会自动启用系统代理,而其它软件则需要自身支持HTTP代理Socks5代理,而且一般需要进行手动配置才可以进行代理。

补充:分别使用HTTP协议和SOCKS5协议访问ss本地Windows客户端情况(注:事先要下载curl小工具):

可看出,HTTPS协议使用HTTP代理是通过了HTTP隧道。

注:

socks5 和 socks5h 的区别仅用于 curl。在 curl 中,socks5 会使用本地DNS,socks5h 会使用代理提供的远程DNS。

在其它软件中,socks5h 基本不起作用,使用 socks5 即可。一旦设置了代理,多数时候会采用远程DNS。

但使用 HTTP/HTTPS 类型的代理服务器时,本地的 DNS 解析、缓存、 hosts 文件等都不使用,与本地设置的 DNS 服务器地址无关。DNS 解析完全在代理服务器上进行。浏览器本身甚至无须知道最终服务器的 IP 地址。据我所知,此行为无法通过浏览器选项等更改。——https://github.com/FelisCatus/SwitchyOmega/issues/963

补充:

可见,因为ss本地Windows客户端(相当于本地代理服务器)不支持HTTPS协议,因此不会响应Client hello

HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?)相关推荐

  1. vmware 虚拟机使用windows的 http/socks 代理

    转载原文链接(推荐) https://xiaxudong.com/use_others_ssr_proxy.html vmware 虚拟机下载东西很慢 ,wget, curl 怎么能使用宿主机wind ...

  2. 简单说下HTTP代理、HTTPS代理、SOCKS代理的原理区别,charles抓包HTTPS原理

    采用PROXY代理方式通讯时,都是客户只TCP/IP连接到代理,客户只和代理通讯.  代理和目标进行TCP/IP通讯,代理需要先有PROXY信息,才能知道目标服务器的地址. HTTP代理最简单!因为H ...

  3. http隧道、https、SSL层、http代理、在线代理、socks代理区别

    以前听到这几个名词时,总是搞混淆,今天花点时间来记录这几个名词的大概区别,方便以后自己查看. http隧道:"HTTP隧道技术"就是把所有要传送的数据全部封装到HTTP协议里进行传 ...

  4. http、https、Socks代理知识汇总

    原文链接:https://twindy.org/http-https-socksdai-li-zhi-shi-hui-zong/ 什么是代理? 在计算机领域,代理泛指中间传输web服务器,充当着用户和 ...

  5. SOCKS代理工具EarthWorm、sSoks

    SOCKS代理 常见的网络场景: 服务器在内网中,可以任意访问外部网络 服务器在内网中,可以访问外部用网络,但服务器安装了防火墙来拒绝敏感端口的连接 服务器在内网中,只对外开放了部分端口(例如80端口 ...

  6. Android Studio 使用socks代理

    Android Studio 使用socks代理 准备工作 1. 从https://www.privoxy.org/下载Privoxy软件 2. 安装Privoxy 3. 在Privoxy安装目录找到 ...

  7. 代理是什么?(HTTP代理,SOCKS代理)

    本来打算通过UDP53来绕过认证,在准备实现DNS隧道的时候,发现所涉及的内容实在是太多了-(DNS解析原理,域名的原理,隧道技术,代理技术 and so on),每一个知识点都能让我深入去研究一段时 ...

  8. 内网渗透建立代理通道(如何攻击目标内网机器?)-Socks代理(゚益゚メ) 渗透测试

    文章目录 搭建靶场 配置虚拟机网络 虚拟机 上线目标1(Target1) Socks代理 简介 正向代理 反向代理 FRP 一层代理 二层代理(多层代理) EW 正向代理 反向代理 二层代理流量转发 ...

  9. 配置ssh使用socks代理

    配置ssh使用socks代理 ssh -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' username@server posted on 2017-08-13 ...

最新文章

  1. 跨浏览器开发经验总结(三)
  2. 2020年末总结,脚踏实地,一步一个脚印——致敬自己一年的心酸历程
  3. tornado-简介和原理
  4. 华山论“件”:Kafka、RabbitMQ、RocketMQ技能大比拼
  5. python安装request库_Python——安装requests第三方库
  6. 如何在Adobe Illustrator中矢量化图像
  7. 【超详细】韦东山:史上最全嵌入式Linux学习路线图
  8. 易语言API HOOK DeviceIOControl修改磁盘序列号
  9. php中验证码显示不出,PHP验证码显示不出来
  10. 计算机网络五层结构功能汇总
  11. 阿里P6员工炫耀:年薪60万,哪家外企接的住阿里的员工?
  12. DRAM、NAND Flash、Nor Flash、EEPROM的区别和应用领域
  13. 大数据学习相关内容总结
  14. 究竟什么时候需要用RTOS?
  15. day01在线教育行业介绍(01)
  16. 我的Hadoop安装流程
  17. 常见seo名词解释二(网站SEO常见术语说明)-从SEO到优化实战大师
  18. pic c语言 位标志,PIC单片机状态寄存器中的C(进位/借位位标志)
  19. 数字电路实验怎么接线视频讲解_时间继电器怎么看图接线?这可是星三角接触器接线必备元件...
  20. 加速Github的访问及下载速度

热门文章

  1. FFmpeg 视频处理入门教程(转)
  2. OC 使用AVPlayer 简单的实现一个视频播放器
  3. 【开源】F2FS技术拆解
  4. 车牌识别系统论文python_毕业设计 python opencv实现车牌识别 界面
  5. windows下python利用f2py调用Fortran
  6. c语言开发题库管理系统,c语言程序设计_题库管理系统.doc
  7. java计算机毕业设计消防安全应急培训管理平台源码+系统+数据库+lw文档+mybatis+运行部署
  8. uploadify3.2上传插件案例
  9. VM 17player 没有vm tools的 解决方案
  10. 使用Hook拦截sendto函数解决虚拟局域网部分游戏联机找不到房间的问题——以文明6为例