穿刺检查、代理http proxy、https proxy、Socks,代理本质上就是一个中介

作用

HTTP代理服务器

代理服务器(Proxy Server)功能就是代理网络用户去获得网络信息,形象点说就是网络信息的中转站。

用户客户机(client) <——> 代理服务器(proxy server) <——> 目标服务器(web server)

通常情况下,网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。

代理服务器是介于浏览器和Web服务器之间的一台服务器(代理服务器,Proxy Server),有了它,浏览器不再直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。而且,大部分代理服务器都具有缓冲的功能,就好象一个大的Cache,它有很大的存储空间,它不断将新取得数据储存到它本机的存储器上,如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传送给用户的浏览器,这样就能显著提高浏览速度和效率。

更重要的是:Proxy Server(代理服务器)是Internet链路级网关所提供的一种重要的安全功能,它的工作主要在开放系统互联(OSI)模型的对话层。

主要的功能有:

  1. 突破自身IP访问限制,访问国外站点

如:教育网、169网等网络用户可以通过代理访问国外网站,这也使得代理成为我们在WGP下苦苦挣扎的唯一方法。

  1. 访问一些单位或团体内部资源

如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费
代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。

  1. 突破中国电信的IP限制

中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的限制是不同的。所以不能访问时可以换一个国外的代理服务器试试。

  1. 提高访问速度

通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。

  1. 隐藏真实IP

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

proxy服务器可以作为访问http和https资源的网关,这两种类型的存在造成了一种困惑,从而引发配置错误甚至安全漏洞。下面我们就一起来看一下这两种类型的proxy分别做了什么。

http proxy

先来看看流程,http客户端发送一个请求到http代理,让代理到远端目的服务器上获取资源然后传递给客户端。远端服务器上的资源不一定要通过http协议访问,只要代理支持,http客户端可以发送ftp或者其他命令给代理,这也包括https。http客户端访问代理使用的就是普通的http协议,像GET,POST,HEAD。

http代理从客户端获取请求,分析并做出对应动作。如果请求的远端服务器的资源不在代理的缓存中从而需要重新获取的话,代理会做为客户端连接到远端服务器,获取请求的资源并传递给客户端。

如果远端服务器的资源需要通过https协议访问,http代理会去验证远端服务器的X.509证书。

这种http连接不能保证端到端的安全性。的确是可用提前对远端服务器的资源进行保护,但是即使客户端和代理都采用https,代理还是会接触到没有被https保护的原始数据,甚至这些原始数据还会保存在代理的缓存当中(如果代理开启了缓存功能的话)。

https proxy

https代理就是为了解决端到端安全性而出现的。还是先看看流程,客户端发送一个特殊的CONNECT请求给代理,代理通过和远端服务器建立一条TCP连接从而创建一个不透明的隧道。TCP的套接字建立完成后,https代理返回一个200状态码给客户端并开始在客户端以及远端服务器之间转发数据。这种设计意味着客户端和远端服务器之间不仅仅局限于https流量,事实上任何协议都可以通过这个隧道在客户端和远端服务器之间传递。

代理连接到远端服务器并向客户端进行确认,从而建立一条不透明隧道。正是因为这种不透明的隧道,端到端的安全性得到了保障。

除非是要做debug或者是穿刺实验,不要使用http代理去获取https资源。

“穿刺检查指使用特殊的穿刺针经过皮肤穿刺到组织或深部器官,提取组织样本进行病理检查的一种方法。穿刺针通常为中空的,可以取得一定的组织量,在彩超或CT指引下精确到达病变部位,进行穿刺取得组织,然后通过病理检查来明确病变性质,为后续治疗提供足够的检查支持

SOCKS代理

其背后的技术过程与SOCKS代理连接方法有关,该方法称为“ 隧道”。使用HTTP代理,客户端和服务器通过代理本身交换信息,该代理充当两个基于Web的界面之间的中间人。使用SOCKS隧道,客户端向客户端发出直接请求,并在获得明确许可(称为握手)的情况下打开隧道。

这是基于TCP / IP的连接,并且由于其直接性和透明性而非常安全。很明显,何时打开了隧道,很显然,SOCKS代理无法访问隧道中的数据。

SOCKS代理具有两个主要版本:4和5。最新版本SOCKS5增加了对安全性和UDP的更多支持。对于基本用户,任何版本的SOCKS都将很好地工作,并且两者都非常安全。

1、概念不同

(1)socks5代理,采用socks协议的代理服务器,是一种通用的代理服务器。

(2)http proxy,采用http协议代理服务器,主要代理浏览器访问网页。http和https协议现在已经通用。

2、代理速度不同

(1)http代理工作在应用层上,只允许用户通过HTTP协议访问外部网站。

(2)Socks5代理工作在会话层,不要求应用程序遵循特定的操作系统平台,Socks5代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。

所以,Socks5代理比http代理速度要快得多。

HTTP协议:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

HTTPS协议:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

SOCKS5协议:SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。

SSL 代理

SSL是一种国际标准的加密及身份认证通信协议,您用的浏览器就支持此协议。

SSL(Secure Sockets Layer)最初是由美国Netscape公司研究出来的,后来成为了Internet网上安全通讯与交易的标准。SSL协议使用通讯双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通讯,在通讯双方间建立起了一条安全的、可信任的通讯通道。它具备以下基本特征:信息保密性、信息完整性、相互鉴定。主要用于提高应用程序之间数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。
在这里插入图片描述

区别和联系

参考:https://blog.mimvp.com/article/7443.html
Http代理和Socks5代理的区别:

1)Socks包含Https 和 Http,Https包含Http,在Http基础上封装了一层SSL安全层。Socks代理适用的范围最广。Https协议只支持Http/Https,一般的IE代理用的Http/Https协议。如果是应用层协议一般不用Http/Https,有些应用程序只能使用Socks代理,例如微信的WebSocket。

2)Socks工作在会话层上,而HTTP工作在应用层上,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求),所以Socks代理服务器比应用层代理服务器要快得多。
在这里插入图片描述
1、Http代理

HTTP协议即超文本传输协议,是Internet上行信息传输时使用最为广泛的一种非常简单的通信协议。部分局域网对协议进行了限制,只允许用户通过HTTP协议访问外部网站。目前HTTP功能支持“直接连接”和通过”HTTP代理“形式的连接。选择其中的何种形式,要视用户所在的局域网(或其它上网环境)的具体情况。

代理客户机的Http访问,主要代理浏览器访问网页,它的端口一般为80、8080、3128等。

2、Socks5代理

采用Socks协议的代理服务器就是Socks服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,即适用于任何操作平台Windows、Linux、Unix,Socks 代理与应用层代理、 HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议。

Ubuntu 代理设置与取消

终端命令行;

设置代理:

export http_proxy=http://172.16.2.16:3199

export https_proxy=http://172.16.2.16:3199

取消代理设置:

unset http_proxy

unset https_proxy

临时有效

1、添加代理

export http_proxy=http://proxyAddress:port

export https_proxy=http://proxyAddress:port

2、查看代理

env |grep -i proxy

3、清除代理

unset http_proxy

unset https_proxy

备注

proxy
英 [ˈprɒksi] 美 [ˈprɑːksi]
n.
代理;代理人;代表;代理权;代表权;受托人;(测算用的)代替物;指标

猜你喜欢

转载自blog.csdn.net/qq_15821487/article/details/125933415