您的位置:首页 >文章内容
怎么实现透明代理?
来源: 作者:admin 时间:2018-12-05 17:49:54


大家都知道代理分为透明代理,高匿名代理,普通匿名代理等等,今天就给大家介绍一下如何实现透明代理,请看下面的介绍。


假设A为内部网络客户机,B为外部网络服务器,C为防火墙。当A对B有连接请求时,TCP连接请求被防火墙截取并加以监控。截取后当发现连接需要使用代理服务器时,A和C之间首先建立连接,然后防火墙建立相应的代理服务通道与目标B建立连接,由此通过代理服务器建立A 和目标地址B的数据传输途径。从用户的角度看,A和B的连接是直接的,而实际上A 是通过代理服务器C和B建立连接的。反之,当B对A有连接请求时原理相同。由于这些连接过程是自动的,不需要客户端手工配置代理服务器,甚至用户根本不知道代理服务器的存在,因而对用户来说是透明的。以上为百度百科的解释,此处防火墙也可以为路由器,路由器可以截获通过的网络数据,而将其转发到代理服务。对于网络数据的转发可以使用Linux的iptables命令进行设置:


  1.在路由器上使用iptables设置过转发规则后,路由器可以将收到的client程序的tcp数据转发给特定端口号,代理程序可在该端口号上使用tcp socket进行监听,获取连接后即可像普通socket程序一样进行与client端进行通讯;

  2.代理程序与server端连接时,需要获取到server端的ip地址与端口号,该信息可以通过getsockopt的方式获取;

  3.getsockopt (clifd, SOL_IP, SO_ORIGINAL_DST, &orig_addr, &sin_size);

  SO_ORIGINAL_DST是一个socket参数(SOL_IP层的),使用时需要包含#include头文件。

  4.如果成功orig_addr将是客户真正需要去的方向;

   5.之后代理程序可以将client的tcp转发server端,然后再将server端的数据转发给client端,即可实现透明代理。


这个就是小编带来的全部内容了,大家明白了吗?


按字母排序文章
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
相关文章内容简介更多>>
最新标签
推荐阅读
  • 18 2020-06
    动态ip代理成本高吗

    咱们现代化的生活早已离不了互联网,互联网公司搜集互联网大数据进行分析,创建自己的数据库,这也形成了成千上万的数据采集公司,这就是我们平常所指的网络爬虫。爬虫在搜集数据的过

  • 23 2019-03
    被误判断为爬虫ip封锁了怎么办

    ​很多人在工作的时候会使用一些爬虫IP,但是偶尔也会遇到被禁止访问的问题。

  • 16 2018-11
    安全代理服务器如何选购

    互联网发展速度极快,但是其中缺乏技术手段优化的互联网给用户的访问体验带来重大影响:上网速度慢、易受病毒木马等恶意代码的攻击

  • 10 2018-11
    如何使用Python做代理池

    随着社会的发展,代理ip已经被应用到很多工作场景中,给我们带来了极大的方便,是必不可少的良器

在线客服

QQ资讯

上班时间