1.实验目的

  • 了解 SMTP 协议工作原理:通过抓取 SMTP 报文,能够直观地观察 SMTP 协议在网络中的数据交互过程,包括邮件的发送、接收以及相关的命令和响应,从而深入理解 SMTP 协议是如何实现邮件传输功能的。
  • 分析网络通信过程:可以清晰地看到邮件从发送方到接收方所经过的网络路径,以及在每个节点之间的信息传递细节,有助于分析网络通信的流程和机制,了解数据在网络中的传输方式和路由选择。
  • 掌握 Wireshark 工具使用:Wireshark 是一款常用的网络协议分析工具,通过进行抓取 SMTP 报文的实验,能够熟练掌握 Wireshark 的基本操作,如设置过滤条件、捕获数据包、分析报文内容等,提高使用该工具进行网络故障排查和协议分析的能力。

2.Wireshark抓取报文

2.1 如何抓取到你所选择的协议报文

  1. 登录QQ邮箱
    打开Foxmail软件,输入QQ邮箱地址和密码,然后点击登录。
  2. 进入系统设置页面
    登录成功后,在Foxmail的主界面上,找到QQ邮箱账号,右键点击该账号,选择“设置”或“账户设置”选项,打开系统设置页面。
  3. 修改服务器设置
    在系统设置页面中,找到与服务器相关的设置部分,分别点击“邮件服务器”或“SMTP服务器”等选项来查看具体的设置,在这些设置里,会看到与SSL相关的选项,如“使用SSL加密连接”或类似的选项,取消勾选这些选项以关闭SSL加密。
  4. 测试并“抓到数据”
    在关闭SSL后,尝试发送或接收一封邮件来测试连接。

2.2 Wireshark出来很多报文,你是如何过滤出与你所选协议相关的报文

  1. 启动Wireshark
  2. 在Foxmail中写邮件
    在邮件编辑器中输入收件人地址、主题和邮件内容。
  3. 回到Wireshark并确认捕获
    此时,Wireshark应该正在捕获所有经过选定网络接口的数据包。
  4. 发送邮件
    点击“发送”按钮来发送邮件。
  5. 在Wireshark中过滤数据包
    由于Wireshark捕获了大量的数据包,需要过滤以找到与邮件发送相关的数据包。在Wireshark的过滤器栏(位于界面顶部)中输入smtp,将只显示相关的SMTP数据包。
  6. 停止Wireshark捕获
    当你完成分析后,点击Wireshark界面上的“停止捕获”按钮(通常是红色的停止图标)来停止捕获新的数据包。 

3.协议时序图

4. 分析协议工作原理

  1. 建立连接
    使用邮件客户端Foxmail发送一封电子邮件时,它会首先尝试与SMTP服务器建立连接,这通常是通过TCP端口25进行的。
  2. 会话开始
    一旦连接建立成功,邮件客户端会向SMTP服务器发送命令EHLO来开始会话,该命令用于标识客户端,并告知服务器它支持哪些SMTP扩展。
  3. 身份验证
    在某些SMTP服务器上,客户端可能需要进行身份验证,以证明它有权限发送邮件。这通常是通过发送命令AUTH以及用户名和密码。
  4. 发件人信息
    客户端发送命令MAIL FROM,表示发件人的电子邮件地址。
  5. 收件人信息
    客户端使用命令RCPT TO,指定收件人的电子邮件地址。对于收件人,服务器会返回一个确认或拒绝的消息。
  6. 数据传输
    一旦收件人被确认,客户端就会发送命令DATA,开始传输邮件的内容。邮件内容以特定的格式进行编码,并包含邮件头(如主题、发件人、收件人、日期等)和邮件体(即实际的邮件内容)。
  7. 邮件传输结束
    当邮件内容传输完成后,客户端会发送一个单独的.字符,来指示邮件内容的结束。服务器会返回一个确认消息,表明邮件已成功接收并排队等待发送。
  8. 会话结束
    最后,客户端发送命令QUIT来终止SMTP会话,并关闭与服务器的连接。

5.使用Cisco Packet Tracer遇到的问题及解决方法

  • 问题:参数配置错误
  • 解决方法:客户端的IP后两位是学号,PC段的IP后两位+1
  • 问题:网络不联通
  • 解决方法:先检查路由表是否配置正确,然后进行添加或修改,确保已正确配置并添加了相邻的路由器。

6.遇到的问题及解决方法

  • 问题:使用邮件客户端Foxmail发送一封电子邮件后,无法捕获smtp协议
  • 解决方法:在系统设置页面中,找到与服务器相关的设置部分,分别点击“邮件服务器”或“SMTP服务器”等选项来查看具体的设置,在这些设置里,会看到与SSL相关的选项,如“使用SSL加密连接”或类似的选项,取消勾选这些选项以关闭SSL加密。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐