\documentclass[../public/实验报告模板]{subfiles} \renewcommand{\mydate}{2023年12月29日} \renewcommand{\mylabname}{远程登录与文件传送协议(TELNET与FTP)} \renewcommand{\mychapternum}{13} \begin{document} \mytitle \begin{enumerate} \myitem{实验目的}{ \item 掌握 TELNET 的工作过程 \item 理解 TELNET 选项协商 \item 掌握 FTP 的工作原理 \item 掌握 FTP 的一些常用命令的使用方法及用途 } \myitem{实验设备或环境}{ \item 采用网络拓扑结构一 } \myitem{实验原理}{ \item 分时系统 \item 本地登录与远程登录 \item 网络虚拟终端 \item TELNET简介 \item NVT字符集 \item TELNET选项协商 \item FTP协议简介 \item FTP连接、通信与传送 \item FTP命令与响应 } \myitemx[label=练习\arabic*\ ]{实验步骤}{ \item 运行TELNET命令,捕获数据并分析 \item TELNET选项协商的过程 \item FTP的工作过程 \item 使用TCP连接工具与服务器进行命令交互 } \myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{ \item 运行TELNET命令,捕获数据并分析 TELNET使用的TCP端口是23。 客户端与服务器端进行选项协商的过程在练习2中有体现。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-02-45.png} \caption{可以捕获到用户名和密码} \end{figure} TELNET交互图为上图的会话分析的截图。 TELNET是明文传输,因此可能存在网络监听,是不安全的。 \item TELNET选项协商的过程 写出步骤3中每个十六进制字符对应的NVT字符。 FFFB18:WILL Terminal\_type, FFFB1F:WILL Negotiateaboutwindowsize \\ FFFC20:WONT Terminalspeed, FFFC23:WONT Xdisplaylocation, FFFB27:WILL Newenvironment \\ FFFD03:DO Suppressgo\_ahead \\ FFFB01:WILL Echo; FFFE05:DONT Status; FFFC21:WONT Remoteflowcontrol \\ 步骤3中发送的每个数据各自的作用根据上述字符可以知道对应内容,服务器对其应答的内容如下: \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-15-30.png} \caption{服务器应答选项协商} \end{figure} \thinkingquestion{ \item 远程登录TELNET的主要特点是什么?什么叫做虚拟终端NVT? 主要特点是使用远程主机上的资源;网络虚拟终端NVT是让用户登录远程主机,并操作终端,就像在自己的主机上操作终端一样。 } \item FTP的工作过程 FTP使用的TCP端口有21(命令传输端口),20(主动模式服务器发出连接的端口)、更高的随机端口(被动模式服务端打开的端口,或者客户端发出连接使用的端口)。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-32-29.png} \caption{FTP用户名} \end{figure} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-33-27.png} \caption{FTP密码} \end{figure} 可以看到用户名和密码,FTP是不安全的。 FTP的工作过程如上图的会话分析所示,控制连接和数据连接根据主动模式和被动模式有不同。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-36-00.png} \caption{数据连接} \end{figure} \thinkingquestion{ \item 文件传送协议FTP的主要工作过程是怎样的?主进程和从属进程各起什么作用? 主要工作过程是先由主进程开启控制连接传输命令,然后由从属进程开启数据连接传输文件。 } \item 使用TCP连接工具与服务器进行命令交互 USER group7\_3 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-39-58.png} \caption{服务器回复的信息} \end{figure} PASS group7\_3 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-40-50.png} \caption{服务器回复的信息} \end{figure} SYST \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-41-21.png} \caption{服务器回复的信息} \end{figure} PWD \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-41-44.png} \caption{服务器回复的信息} \end{figure} TYPE A \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-42-10.png} \caption{服务器回复的信息} \end{figure} PORT 172,16,0,73,10,10 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-42-37.png} \caption{服务器回复的信息} \end{figure} PORT 命令对端口信息是分成两个字节,当作两个8位整数传递;客户端使用的端口值为2570。 PORT的格式为 PORT $x_1,x_2,x_3,x_4,x_5,x_6$,其中 $x_1,x_2,x_3,x_4$ 携带的是本机的 IP 地址,$x_5,x_6$ 为端口值,计算方法为 $x_5\times 256+x_6$,该命令的用途是告知服务器本机客户端使用的端口。 这是FTP服务器是使用主动模式创建数据连接的,即客户端告知服务器自己开启的数据连接的端口,之后服务器从20端口主动连接客户端的这个端口。 STOR group7\_3\\ 服务器回复的信息:150 Ok to send data. filedata \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-55-17.png} \caption{filedata} \end{figure} PASV \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-57-07.png} \caption{服务器回复的信息} \end{figure} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-21-01-13.png} \caption{服务器回复的信息} \end{figure} 该命令的用途是告知服务器使用被动模式。 这里FTP服务器使用被动模式创建数据连接,即服务器告知客户端自己开启的数据连接的端口,之后客户端从随机端口连接服务器的这个端口。 在服务器回复的信息中可知服务器端使用的端口为:$227\times 256+126=58238$。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-20-55-49.png} \caption{服务器回复的信息} \end{figure} RETR group7\_3 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-21-02-12.png} \caption{服务器回复的信息} \end{figure} 其内容是步骤(9)输入的信息。 QUIT \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-02-21-02-52.png} \caption{服务器回复的信息} \end{figure} 会话交互图如前文的会话分析所示。 \thinkingquestion{ \item FTP的数据连接存在两种模式:主动模式和被动模式,说明各自的工作过程。如果服务器和客户端之间存在防火墙,使用哪种模式会引起一些麻烦? 主动模式和被动模式各自的工作过程在前文已有提到,如果存在防火墙,一般防火墙会阻止未经许可的向客户端的传入连接,所以使用主动模式会引起一些麻烦。 } } \end{enumerate} \end{document}