安全协议ppt 第六章 代理安全Socks.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安全协议ppt 第六章 代理安全Socks

第六章 代理安全Socks 杨礼珍 作业 思考题2、4 补充题:如果通信双方都具备IPv4和IPv6协议栈的网络,假设发起方连接IPv6网络,回应方连接IPv4,中间是Socks网关,请写出回应方向发起方发送的报文的发送过程。 6.1 代理 代理服务器是用户接入互联网的重要手段之一,使用代理服务器接入方式,通信双方的数据流都由代理服务器转发。 代理服务器分为以下三类 应用层代理:工作于TCP/IP协议栈的应用层,如:HTTP代理和FTP代理。 互联网连接共享ICS:工作于IP层,可以实现多个私用IP地址共享同一公共地址。 Socks(防火墙安全会话转换协议 )代理 Socks 使用端口1080,工作于应用层。 可转发所有高层应用,对操作系统无限制。 专门设计用于防火墙 在应用层和传输层之间垫了一层 Socks库和sockd守护程序 不支持ICMP转发 socks 应用 传输层 网络层 链路层 client Socks server policy server 6.1 代理 Socks的优点: 任何主机都可作为Socks代理服务器。 Socks本身未定义机密性、完整性保护方法,但由于所有通信量都要经过代理服务器转发,为统一制定安全策略并部署安全防护措施提供了便利。 Socks 5支持多种客户端身份认证方案,如果某些认证方案能够支持机密性和完整性保护,这些功能在应用Socks后仍然能够得到保留。 6.2 Socks 框架 Socks使用C/S模型。 Socks软件包组成: Socks库:安装于客户端。为Socket库的替代品,所有使用Socks的程序都必须将Socket库函数调用更改为Socks库函数调用。Socks库和Socket库的对应关系参考下页的表格。 Sockd守护程序:安装于服务器,接收并处理来自客户端的CONNECT和BIND请求。 Socks函数 功能 Socket函数 Rconnect 与服务器建立连接 Connect Rbind 将套接字与IP地址和端口绑定 Bind Rlisten 在套接字上监听连接 Listen Rgetsockname 获取套接字详细信息 Getsockname Raccept 接受连接请求 Accept Socks库函数和Socket库函数对应表 6.2 Socks 框架 Socks客户端命令: CONNECT:通告代理服务器与远程主机建立连接,调用函数:Rconnect BIND:通告服务器接收来自某个远程主机的连接请求,调用函数:Rbind,Rlisten和Raccept. 6.2.1 CONNECT 命令处理过程 不使用Socks时客户端和远程主机的连接建立过程: 客户端调用Socket的Connect函数 后台与远程主机完成TCP的三次握手过程: 如果连接成功,Connect函数返回TRUE 如果连接失败,Connect函数返回FALSE 如连接成功,则客户端调用Write和Read函数发送和接受数据 6.2.1 CONNECT 命令处理过程 使用Socks时客户端和远程主机建立连接过程 客户端调用Rconnet函数,指明了远程主机的IP地址和端口。 与Socks服务器的1080号端口建立连接。 发送CONNECT请求消息 服务器的Sockd验证客户端的身份,如验证通过后使用Connect与远程主机建立连接。 服务器Sockd向客户端返回连接状态 若连接成功,服务器作为数据的中转站。 CONNECT命令处理过程 6.2.2 BIND命令处理过程 不使用Socks代理时,客户端接收来自远程主机的连接请求的过程: 创建套接字 调用Bind函数,将套接字与本地端口号绑定 调用Listen函数,监听连接请求 调用Accept函数,接受连接请求,并启动新进程(或线程)处理连接请求 调用Write和Read函数发送和接收数据 6.2.2 BIND命令处理过程 使用Socks代理时,客户端通告代理服务器接收远程主机的连接请求过程: 利用CONNECT命令建立了到远程主机的“主连接” Socks客户端调用Rbind函数向代理服务器发送请求: 通过三次握手与代理服务器建立连接 向代理服务器发送BIND请求消息,其中包含了远程主机IP地址 3. 代理服务器验证客户端身份,若验证通过 代理服务器在本地创建套接字,绑定一个IP地址和端口,用以接收远程主机的连接请求,把IP地址和端口的绑定信息返回给客户端,并在该套接字上监听远程主机的连接请求。 客户端通过主连接向远程主机通告代理服务器绑定的IP地址和端口,然后调用RListen在本地监听连接请求。 远程主机向客户端通告的IP地址和端口号发出连接请求。 代理服务器将远程主机发来的信息中的源地址与客户端BIND请求中包含的地址进行比较,如果一致,

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档