关于透明ip代理的理论知识

b b b

关于透明ip代理的理论知识

  如今的ip代理已经和我们在网络上面的生活分不开了,毕竟大量的人群上网的时间覆盖了我们所有,科技时代的发展只会越来越重视网络,而且这个环境也会更加有规则,更加健康!

 

  透明代理怎么实现换IP?

 

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

 

  以上为百度百科的解释,此处防火墙也可以为路由器,路由器可以截获通过的网络数据,而将其转发到代理服务

 

  对于网络数据的转发可以使用Linux的iptables命令进行设置

 

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

 

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

 

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

 

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

 

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

 

  之后代理程序可以将client的tcp转发server端,然后再将server端的数据转发给client端,即可实现透明代理。相信你通过了解透明ip代理对这个软件有了一定的认识,对后期根据自己的需求判断属于自己的换ip地址软件更加容易选择的多。

 


       

版权声明:本文为ipadsl.cn所属公司原创作品,未经许可,禁止转载!