代理服务器的研究与实现

http://tech.ddvip.com   2008年02月27日    社区交流 收藏本文

本文详细介绍代理服务器的研究与实现

  2.1 TELNET协议

  TELNET为远程登录协议。此协议允许TELNET客户端在远程主机上登录,就好象该客户端是直接连接到远程主机上的一个终端一样。

  会话开始前,用户在客户端输入远程服务器的地址,然后该客户端就与远程服务器建立一个TCP连接。连接建立后开始进入会话,接着远程服务器会给用户显示登录提示符,让用户键入用户名和口令。用户名和口令获得通过后,客户端就与服务器相互传递命令和数据,直到会话结束,然后服务器或客户端关闭连接。

  与其它应用协议不同的是,TELNET允许其客户端与Internet上任何服务器的每个协议端口建立TCP连接,并进行TCP会话,用户可以利用TELNET的这一功能检测其它协议。如用户可以把TELNET客户端连到端口25(SMTP的周知口)来实现Internet e_mail的发送或者连到端口110(POP的周知口)来实现Internet e_mail的接收等等。因此TELNET代理的实现是其它代理实现的基础,可以用TELNET代理来测试其它代理。

  2.2 TELNET代理的实现

  TELNET代理的工作流程可归纳为:启动该代理服务,监听客户端连接。当客户端的连接请求到达代理服务器后,代理服务器根据访问控制文件,以及连接的源和目的地址对连接进行过滤,若是不合法的连接,则予以拒绝。然后代理程序代理服务器端与客户端建立连接,并代理客户端与服务器端建立连接,当三方的连接接通后,代理程序在服务器与客户端之间转发命令及反馈,直到有一方退出或超时时结束代理服务,其流程如图3所示:

代理服务器的研究与实现

  其它几个协议的实现与TELNET在TCP连接上是类似的。其中FTP协议特殊一点,它使用了两个TCP连接,控制连接和数据连接。在整个FTP处理过程中,控制连接起传输控制信息的作用,它始终保持主动状态。数据连接负责传输用户需求的数据。当启动FTP代理服务时,系统首先启动守护进程(默认端口为21),FTP客户向该端口发送控制连接请求,与代理服务器建立控制连接,然后代理服务器与远端FTP服务器建立控制连接。控制连接建立成功后,FTP客户与代理服务器(默认端口20)建立数据连接,代理服务器进而与远端FTP服务器建立数据连接,数据连接成功后,FTP客户和远端FTP服务器就可以进行数据的传输了。

来源:豆豆网转载    责编:豆豆技术应用

正在加载评论...