\documentclass[../public/实验报告模板]{subfiles} \renewcommand{\mydate}{2023年11月24日} \renewcommand{\mylabname}{电子邮件协议(SMTP、POP3和IMAP)} \renewcommand{\mychapternum}{14} \begin{document} \mytitle \begin{enumerate} \myitem{实验目的}{ \item 掌握邮件服务的工作原理 \item 掌握SMTP、POP3、IMAP的工作过程 \item 了解SMTP、POP3、IMAP协议的命令和使用方法 } \myitem{实验设备或环境}{ \item 采用网络拓扑结构一 } \myitem{实验原理}{ \item 电子邮件简介 \item 电子邮件传输过程 \item SMTP协议简介 \item SMTP会话命令与响应 \item SMTP运行过程 \item POP3和IMAP简介 \item POP3会话命令 \item POP3运行过程 \item IMAP会话命令 \item IMAP运行过程 \item POP3协议与IMAP协议的区别 } \myitemx[label=练习\arabic*\ ]{实验步骤}{ \item 使用Live Mail发送电子邮件 \item 使用Live Mail接收电子邮件 \item 使用TCP工具和SMTP命令实现邮件发送 \item 使用TCP工具和POP3命令实现邮件接收 \item 使用TCP工具和IMAP命令实现邮件接收 } \myitemx[label=练习\arabic*\ , itemsep=1em]{实验结果总结}{ \item 使用Live Mail发送电子邮件 SMTP使用的TCP端口号是25。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-10-10-30.png} \caption{SMTP应该是能看到用户名和密码的,这里应该是之前登录过了所以没有} \end{figure} \begin{table}[H] \centering \caption{实验结果} \begin{tabularx}{\linewidth}{c|ccZZ} \toprule % 为什么这里用b才能有居中的效果呢?难道和tabularx有关? \multirow[b]{4}{*}{SMTP连接建立过程} & 源IP & 目的IP & 报文摘要和参数 & 报文作用 \\ \midrule & 172.16.0.253 & 172.16.0.73 & 220服务就绪 & 服务器告诉客户已准备好接收邮件 \\ & 172.16.0.73 & 172.16.0.253 & HELO cslabc39 & 把客户的域名通知服务器 \\ & 172.16.0.253 & 172.16.0.73 & 250请求命令完成 & 连接成功 \\ \toprule \multirow[b]{9}{*}{邮件传输过程} & 源IP & 目的IP & 报文摘要和参数 & 报文作用 \\ \midrule & 172.16.0.73 & 172.16.0.253 & MAIL FROM: & 介绍报文的发送者 \\ & 172.16.0.253 & 172.16.0.73 & 250请求命令完成 & 请求命令完成 \\ & 172.16.0.73 & 172.16.0.253 & RCPT TO: & 告知收件人的邮件地址 \\ & 172.16.0.253 & 172.16.0.73 & 250 请求命令完成 & 请求命令完成 \\ & 172.16.0.73 & 172.16.0.253 & DATA & 告知即将开始发送邮件内容 \\ & 172.16.0.253 & 172.16.0.73 & 354 开始邮件输入 & 准备接收邮件报文 \\ & 172.16.0.73 & 172.16.0.253 & 发送报文,每行一CRLF(回车换行)结束,整个报文以仅有一个点的行结束 & 发送邮件内容 \\ & 172.16.0.253 & 172.16.0.73 & 250 OK & 接收邮件内容成功 \\ \toprule \multirow[b]{3}{*}{SMTP连接释放过程} & 源IP & 目的IP & 报文摘要和参数 & 报文作用 \\ \midrule & 172.16.0.73 & 172.16.0.253 & QUIT & 退出 \\ & 172.16.0.253 & 172.16.0.73 & 221 服务关闭 & 服务关闭 \\ \bottomrule \end{tabularx} \end{table} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-10-52-02.png} \caption{MIME信息} \end{figure} 可以观察到MIME信息为: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="---=NextPart\_000\_0097\_01DA1EB0.298B18B0" 这说明MIME的版本是1.0,内容有多个部分,并给出了内容的边界模式字符串。 \item 使用Live Mail接收电子邮件 \begin{enumerate} \item 使用POP3协议接受 POP3使用的TCP端口是110。 能看到用户名和密码。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-06-00.png} \caption{用户名的数据包} \end{figure} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-06-29.png} \caption{密码的数据包} \end{figure} POP3在每次收取时都会发送用户名和密码进行验证,而SMTP只需要验证一次。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-09-26.png} \caption{命令RETR的响应报文与发送的内容一致} \end{figure} \item 使用IMAP协议接收 IMAP使用的TCP端口号是143。 能看到用户名和密码。 \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-11-41.png} \caption{传输用户名和密码的数据包} \end{figure} IMAP的功能比POP3多,能直接操作服务器上的邮件而不需要先下载到本地。 \end{enumerate} \item 使用TCP工具和SMTP命令实现邮件发送 \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-14-37.png} \caption{TCP工具发送邮件建立连接} \end{figure} \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-15-13.png} \caption{TCP工具发送邮件发送内容} \end{figure} \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-16-17.png} \caption{TCP工具发送邮件断开连接} \end{figure} \begin{figure}[H] \centering \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-17-24.png} \caption{会话分析的过程与练习一的过程相同} \end{figure} 在编写邮件内容时,我们只是简单发送“myemail”字符串,能否尝试添加邮件内容首部的一些关键信息,如From、Subject、To等及有关MIME的信息。 能。 \item 使用TCP工具和POP3命令实现邮件接收 \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-21-10.png} \caption{TCP工具接收邮件} \end{figure} \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-21-49.png} \caption{TCP工具接收邮件} \end{figure} \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-22-07.png} \caption{TCP工具接收邮件} \end{figure} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-22-51.png} \caption{会话分析} \end{figure} \thinkingquestion{ \item 电子邮件系统使用TCP协议传送邮件。为什么有时我们会遇到邮件发送失败的情况?为什么有时对方会收不到我们发送的邮件? 可能发送时网络信号不好,突然断网了,导致发送失败。有时对方的邮件服务器将邮件错误地归类到了垃圾邮件中,导致对方收不到我们发送的邮件。 \item 通过实验说明你的电子邮件在网络上传输是安全的吗?为什么?你认为实现邮件安全传输的最好的办法是什么? 如果只是简单使用SMTP或POP3或IMAP,那就是不安全的。要确保安全,最好使用SSL/TLS加密,即在TCP上加一层使用非对称加密的公钥密码体系确保安全的SSL/TLS层。 } \item 使用TCP工具和IMAP命令实现邮件接收 \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-32-08.png} \caption{TCP工具IMAP协议接受邮件} \end{figure} \begin{figure}[H] \centering \includegraphics[width=0.8\linewidth]{imgs/2024-01-01-11-32-37.png} \caption{TCP工具IMAP协议接受邮件} \end{figure} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-33-19.png} \caption{TCP工具IMAP协议会话分析} \end{figure} \begin{figure}[H] \includegraphics[width=1\linewidth]{imgs/2024-01-01-11-34-02.png} \caption{TCP工具IMAP协议会话分析} \end{figure} } \end{enumerate} \end{document}