FTP服务器架设与管理实验报告

需积分: 0 0 下载量 50 浏览量 更新于2024-08-04 收藏 1.18MB DOCX 举报
"44_网络2班_赤凯3816_1" 实验报告主要涉及了计算机网络中FTP(File Transfer Protocol)服务器的搭建、配置及管理,以及相关网络原理的实践应用。以下是详细的知识点说明: 1. FTP服务器的安装与配置:实验中提到了在Windows Server 2003和Marjaro Linux上安装FTP服务器,这通常涉及到操作系统自带的FTP服务程序(如IIS中的FTP服务或vsftpd在Linux系统中)的安装与启动。配置包括设置用户账户、权限、监听端口以及日志记录等。 2. 用户账户管理与权限控制:FTP服务器需要对用户进行身份验证,通常可以通过用户名和密码进行。实验中提到的“没有权限,无法上传”问题,解决方法是为用户分配适当的读写权限,允许他们上传和下载文件。权限设置可能包括只读、读写,以及特定目录的访问权限。 3. 监控FTP服务器:实验要求通过FTP服务器对用户的运行情况进行监控,这可能涉及到日志分析,查看用户登录、文件操作等活动,以便于管理和审计。 4. 网络拓扑与代理服务器:实验环境使用了两台计算机,一台作为服务器,另一台作为客户机。服务器配置了静态IP,客户机通过代理服务器访问Internet。代理服务器起到了网络访问控制的作用,验证客户端IP地址和密码,实现局域网内的安全访问。 5. TCP三次握手:实验过程中,通过Wireshark抓包工具观察到FTP通信使用TCP协议。TCP的三次握手过程是建立连接的关键,包括SYN、SYN+ACK和ACK报文,确保了双方都能正常发送和接收数据。 6. FTP协议内容:实验分析了FTP报文,包括用户登录报文。FTP协议通常基于TCP,使用21号端口进行控制连接,而数据传输则可能使用20号端口或其他临时端口。 7. 网站过滤与访问权限:客户端根据设置有不同的访问权限,这可能通过代理服务器的配置实现,比如限制某些客户端访问特定网站或设定访问时间。 8. 缓存机制:代理服务器和主机共享缓存,提高访问速度。通过调整服务器的缓存容量,可以优化数据传输效率,减少重复请求对网络带宽的影响。 这个实验涵盖了FTP服务器的搭建、管理、监控,以及TCP连接建立、网络访问控制和性能优化等多个方面,为学习者提供了全面的计算机网络实践体验。
2022-08-08 上传

以下代码转换为python可用,代码如下:let 源 = Table.FromColumns({Lines.FromBinary(Web.Contents("https://1x2d.titan007.com/" & "2337054" & ".js"), null, null, 936)}), Column1 = 源{50}[Column1], 拆分文本 = Text.Split(Column1, ";"","), 转换为表 = Table.FromList(拆分文本, Splitter.SplitTextByDelimiter(":"), null, null, ExtraValues.Error), 更改的类型 = Table.TransformColumnTypes(转换为表,{{"Column1", type text}}), 按分隔符拆分列 = Table.SplitColumn(更改的类型, "Column1", Splitter.SplitTextByDelimiter("^", QuoteStyle.Csv), {"Column1.1", "Column1.2"}), 按分隔符拆分列1 = Table.ExpandListColumn(Table.TransformColumns(按分隔符拆分列, {{"Column1.2", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Column1.2"), 更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列1,{{"Column1.1", type text}, {"Column1.2", type text}}), 替换的值 = Table.ReplaceValue(更改的类型1,"var gameDetail=Array(","",Replacer.ReplaceText,{"Column1.1"}), 按分隔符拆分列2 = Table.SplitColumn(替换的值, "Column1.2", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Column1.2.1", "Column1.2.2", "Column1.2.3", "Column1.2.4", "Column1.2.5", "Column1.2.6", "Column1.2.7"}), 更改的类型2 = Table.TransformColumnTypes(按分隔符拆分列2,{{"Column1.2.1", type number}, {"Column1.2.2", type number}, {"Column1.2.3", type number}, {"Column1.2.4", type text}, {"Column1.2.5", type number}, {"Column1.2.6", type number}, {"Column1.2.7", type number}}), 重命名的列 = Table.RenameColumns(更改的类型2,{{"Column1.1", "公司ID"}, {"Column1.2.1", "胜"}, {"Column1.2.2", "平"}, {"Column1.2.3", "负"}, {"Column1.2.4", "时间"}, {"Column1.2.5", "凯胜"}, {"Column1.2.6", "凯平"}, {"Column1.2.7", "凯负"}}), 筛选的行 = Table.SelectRows(重命名的列, each [时间] <> null and [时间] <> ""),

2023-06-07 上传