Permeo Security Driver简介和SOCKS5

功能: 
 Permeo Security Driver是一个基于网卡驱动和socks5协议的客户端软件,提供对指定应用程序数据包发送到socks5代理服务器的功能,以此用来解决以下几个问题:
 1.在内网中不能直接访问外网的主机,可通过此软件使代理定向到另一台在本内网中但可以和外网通信的主机,使其为本机提供代理服务,代理服务主机需要安装socks5服务端程序,以用来转发被代理的客户端传过来的socks5数据包。
 2.用来突破防火墙对一些协议和端口的封锁,比如防火墙只开放了80端口和http、socks5协议的话就可以在外网建立一台开放80端口且使用socks5协议的代理服务器,让内网主机通过这台代理服务器进行数据包的转发。
 3.保护源主机的IP端口不被目标主机看到,使用代理后,目标主机看到的只是代理服务器的地址,很多黑客就使用跨越多个代理的方法来攻击目标主机。
 4.使用网卡驱动截获数据包的方法得以在驱动层进行数据包截获,即任何只要通过网卡的数据包都可以被截获(而不像使用socket API钩子只能在api一级截获数据)以此提供了截获所有应用程序socket传输的功能。

 

原理:
 Permeo Security Driver在网卡驱动一层截获数据包,然后封装为socks5协议发送到代理服务器,代理服务器对其进行解释,然后将其中包含的原始数据包发往真正的目的主机, 在收到目的主机的回复后,封包成socks5,继而回复给源主机。

 

使用:
 使用前需要指定截获的网卡(无线、有线),截获的方向(发出还是接到的数据包),关联的应用程序(所有还是个别),代理服务器地址(IP:PORT), 与代理服务器通信的协议类型(目前好像只支持socks5)。
 
代理服务器: 
 如果只是自己使用的话socks5代理服务器的地址到网上搜索一下,很多的,例如:http://www.proxycn.com/html_proxy/socks5-1.html。
 如果自己的平台需要,建议还是找个服务器搭建一下,socks5标准的实现在网上有很多开源的,下下来编译一下就能用了,也可以把socks5的代码集成在自己的应用里,让应用支持防火墙穿透(见功能2)。
 
socks5协议:
 “套接字安全性”(socket security,SOCKS)是一种基于传输层的网络代理协议(应用程序级代理)。它设计用于在TCP和UDP领域为客户机/服务器应用程序提供一个框架,以方便而安全的使用网络防火墙的服务。
 他对基于传输层的各种网络协议进行封包,包括tcp、udp,然后骗过防火墙(假设现在的防火墙封锁了除socks5之外的所有协议,大多数防火墙对socks5都是开放的),对方接收后再进行socks5的解包,恢复出原始协议数据。
 这样就使得这些协议看起来“突破”了防火墙的协议封锁。对于防火墙的端口封锁:若FW只开放了80端口,则只需要找一台使用80端口的socks5服务器让内网的机器使用其做代理。
 工作原理:
 socks5客户服务端在已知端口上(通常为1080/TCP)打开到一个SOCKS代理服务器(由用户在应用程序中配置,或在系统配置文件中指定)的连接。如果连接请求成功,则客户机进入一个使用认证方法的协商,用选定的方法认证,然后发送一个中继请求。SOCKS服务器评价该请求,并建立适当的连接或拒绝它。当建立了与SOCKS服务器的连接之后,客户机应用程序把用户想要连接的机器名和端口号发送给服务器。由SOCKS服务器实际连接远程主机,然后透明地在客户机和远程主机之间来回移动数据。用户甚至都不知道SOCKS服务器位于该循环中。

 

你可能感兴趣的:(socket,api,Security,服务器,防火墙,网络协议)