新闻资讯

代理是什么

发布时间:2019-06-11 09:53:35

来源:黑核动态ip代理

  代理是什么?本来打算通过UDP53来绕过认证,在准备实现DNS隧道的时候,发现所涉及的内容实在是太多了…(DNS解析原理,域名的原理,隧道技术,代理技术 and so on),每一个知识点都能让我深入去研究一段时间。因此在实现DNS隧道的时候相当难受,走两步就碰到一个不会的知识点。遂先放开一段时间,先把其他知识点给搞通了,再回过头来实现DNS隧道。由此可见,基础不扎实在办事情的时候是相当dan teng的。

代理是什么

  虽然很早就接触过代理,但一直对这个问题没有很深入的理解。究竟代理的是什么东西?谁来做这件事?这些东西完全不懂,顶多就明白是有某种机制帮我完成了本该我自己去完成的东西。这几天看这些东西看得我脑阔疼,说说我的现在理解:

  HTTP代理

  我们正常的HTTP通信是这样的:

  客户端先通过TCP与服务器建立一条连接

  连接建立完成后,客户端向服务器发送请求(比如GET /hello.html HTTP/1.1,意为我想要取得服务器根目录/下的hello.html文件)

  服务器接收到客户端发来的请求,找到所请求的文件,并通过原来的连接发回去。(接上条的例子,找到根目录/下的hello.html文件,并发送HTTP/1.1 200 OK,代表找到了这个文件,现在我就发送给你)

  客户端接收到服务器传过来的文件,并用浏览器渲染出来给用户看(通过html/css以及js等把传回来的文本内容可视化,展示在屏幕上)

  但我现在可能不想要按照人家的规定来访问,比如说我想访问根目录下的fxxk.html文件,然而又没办法直接跳转过去,那怎么办?这时候就轮到代理服务器出场了(当然这种需求改个url就可以了,这里只是举个栗子):

  假设我们有一个受我们控制的代理服务器A。

  客户端先与A建立TCP连接,然后告诉代理服务器A我想要访问某某网址根目录下的hello.html

  代理服务器A收到请求,这时我们可以修改请求的内容,比如把hello.html改成fxxk.html。再建立一条到客户端指定网址的TCP连接,把这个新的请求的通过这个新连接发送过去。

  这样在服务器看来,就好像是客户端请求了/fxxk.html一样,然后把所请求的内容返回回去,代理服务器再把内容通过第一条连接送回客户端…

  总结一下,这次请求中,HTTP代理共建立了两条TCP连接:一条是客户端到代理服务器的,另一条是代理服务器到HTTP服务器的。这时代理服务器就好像一个中间商,可以看到你们双方交互的所有内容,并且也可以邪恶地更改这些内容。

  顺便一说,代理https也是一样建立了这两个连接。客户端与代理服务器建立https连接,代理服务器又与HTTP服务器建立https连接,所以表面上我们是与代理服务器建立https连接的,这也是为什么在进行这种代理的时候需要导入代理服务器的https证书。

  再举个栗子吧。比如说你小时候,和你爸爸路过麦当劳。这时候你想要吃甜筒,但自己又没money,于是你只能先告诉你爸爸:“爸,我想吃甜筒”。深思熟虑后你爸同意了(一般不太可能orz),他去店里跟店员买甜筒,并拿回来给你。这时,你先与代理服务器(你爸爸)建立连接,把请求(甜筒)告诉他,他再与店员建立连接并发送请求(买甜筒),最后把结果返回到你手中,你爸爸就扮演了一个代理的角色。

  SOCKS代理

  其实代理的原理都差不多,SOCKS代理运行在比HTTP代理更低的层次上,同样也是建立两个连接:先与来请求内容的客户端建立连接(1),查看请求内容,与真正的服务器建立连接(2)并发送请求。只不过SOCKS代理还会把中间通信的内容给加密了,因此这种代理更加安全。并且socks5还引入了认证以及多种加密方式和对udp等多种协议的支持,因此能更加安全可靠地帮你办更多事情。


推荐资讯

什么是ip代理软件?可以修改ip地址吗?
1970-01-01
现在玩自媒体需要用到ip代理吗?
1970-01-01
互联网工作中ip代理是不可缺少的工具
1970-01-01
使用代理ip有什么好处?
1970-01-01
爬虫技术工程师为什么离不开ip代理
1970-01-01
现在采集越来越难如何找到实用的HTTP代理IP
1970-01-01
什么情况下需要ip代理软件 ip代理软件用途
1970-01-01
代理ip软件的原理是什么有什么用
1970-01-01
代理ip如何维护你的隐私安全
1970-01-01
效果补量用代理IP安全吗
1970-01-01