2
网络与信息安全实验报告
第一篇:网络与信息安全实验报告
计算机科学与技术学院
网络与信息安全课程设计
学
号:
专
业:计算机科学与技术
学生姓名:
任课教师:***
2022年3月
FTP服务器的设计与实现
***什么变化。如图2所示。
用户接口用户SPIUSERPI文件系统SDTPUDTP图2
FTP协议模型
文件系统
在一个FTP会话中,会存在两个独立的网络连接,一个是由两端的PI使用的,另一个是由两端的DTP使用的。PI之间的连接一般被称作控制连接(control
5
connection),DTP之间的连接被称作数据连接(data
connection)。通常情况下,ftp服务器监听端口号21来等待控制连接建立请求,当客户连接请求到达,会在客户和ftp服务器之间建立一个控制连接。而数据连接端口号的选择依赖于控制连接上的命令,通常是客户发送一个控制消息来指定客户需要建立一个数据连接来传输ftp数据(如下载/上载一个文件,显示当前目录的内容等等,都需要建立数据连接来传输数据),在该消息中,指定了客户监听并等待连接的端口号,而服务器从控制连接收到该命令,向客户端发起一个连接请求到消息中指定的端口号,客户端收到该请求以后就会建立一个数据连接。连接建立以后,服务器或客户就会主动通过该连接发送数据(可能是要传输的文件,也可能是用户在命令行上发出的IS命令的输出)。
二、
系统设计与实现
1
功能要求
本系统是一个在局域网内实现的小型FTP文件传输服务器。主要实现的是FTP服务器端功能,包括:FTP服务日志,在线用户的管理,统计客户端信息还有客户端上传、下载、选择数据传输模式、改变目录等,并给出相应的提示。
2
6
主界面
程序界面主要包括服务器日志、在线用户、统计信息、安全管理、菜单栏、工具栏、状态栏。如图5所示。
图5
服务器用户界面
3
主要功能与实现
用CSocket类编制的服务器端的程序,其过程如下,其过程主要是:
创建CSocket对象。
创建底层套接字Socket。
调用Listen,开始监听从客户端发来的访问请求。
如果收到请求,调用CAsyncSocket::Accept(
)函数进行接收外理。
建立CSocketFile对象,并且使该对象与CSocket对象具备一定的联系。
建立Carchive对象,以便实现卸装(接收)数据和存储(发送)数据的目的地址。当然,该Carchive对象应该与前面的CSocketFile对象建立联系。
使用Carchive对象在客户和服务器Socket之间传递数据,从而实现服务器Socket和客户机Socket之间的通信。值得注意的是,一个给定的Carchive对象只能在单一的方向上传递数据:或者接收,或者发送。一般情况下,可能需要两个Carchive对象来实现数据的双向传递。
8
菜单拦包括:服务器,查看。
服务器菜单包括:开始,停止,用户账户向导,用户账户等功能。
查看菜单包括:服务器日志,在线用户,配置,统计,安全等功能。
各项功能实现如下:
服务器功能:
(1)
帐户向导:当你
登录服务器时你需要一个有效的账户,用户帐户向导将引导您通过必要的步骤,创造一个新的用户帐户。并将其添加到用户帐户对话框,创建用户名,如图6所示。
图6
用户帐户向导窗口
通过这个窗口你可以创建自己的用户名以及密码用以登陆FTP服务器,该部分功能实现代码如下:
(2)
用户帐户功能:这一功能主要是服务器端添加,修改和删除用户帐户,设置目录权限(使用添加按钮以添加一个新目录,其中选定的用户帐户已具有访问权限,每小组目录您可以设定不同的权限,例如你可以给所有权限到C:\下载,但限制的权限为C
:\下载\申请时,没有权限指定的目录,在这个目录中它会自动阻止用户要求上传任何子目录)。目录属性,当您添加的编辑目录的用户帐户,目录属性对话框将显示物理目录(物理目录是'真正'的路径文件夹的名称)。虚拟目录(虚拟目录是一个物理文件夹的别名,当用户连接到您的FTP服务器,它将看到这个目录名而不是真正的物理名称)。设制服务端允许客户端的权限,例如允许客户端可以下载,上传,重命名哪些服务器端的文件内容。例如用户123将:
8
E:\盘设为许可目录,客户端就可以随时下载,上传E:\盘里面的内容,如图7所示。
图7
用户帐户窗口
查看功能模块
(1)
服务器日志模块的功能:在此屏幕,记录客户端与服务器端的连接信息以及传输信息,当客户端登陆服务器时服务器日志会显示是否与服务器连接成功,当客户端要上传文件或是下载文件成功时会记录服务器和F
网络与信息安全实验报告 来自淘豆网m.daumloan.com转载请标明出处.