Wireshark抓取SMTP协议报文

文章目录

  • [1. 实验:网络仿真软件使用及网络分析](#1. 实验:网络仿真软件使用及网络分析)
  • [2. SMTP协议](#2. SMTP协议)
    • [2.1 SMTP协议简介](#2.1 SMTP协议简介)
    • [2.2 SMTP协议的核心功能](#2.2 SMTP协议的核心功能)
    • [2.3 SMTP的相关命令和作用](#2.3 SMTP的相关命令和作用)
  • [3. Wireshark抓取报文](#3. Wireshark抓取报文)
    • [3.1 抓取SMTP协议报文流程](#3.1 抓取SMTP协议报文流程)
      • [3.1.1 Email邮件服务器背景](#3.1.1 Email邮件服务器背景)
      • [3.1.2 具体实现流程](#3.1.2 具体实现流程)
    • [3.2 过滤SMTP协议相关报文](#3.2 过滤SMTP协议相关报文)
  • [4. 协议时序图](#4. 协议时序图)
    • [4.1 Wireshark捕获到的报文有编号,如下图:](#4.1 Wireshark捕获到的报文有编号,如下图:)
    • [4.2 协议工作原理的时序图](#4.2 协议工作原理的时序图)
  • [5. 分析协议工作原理](#5. 分析协议工作原理)
    • [5.1 SMTP通信流程](#5.1 SMTP通信流程)
      • [5.1.1 建立连接](#5.1.1 建立连接)
      • [5.1.2 身份验证](#5.1.2 身份验证)
      • [5.1.3 发送发件人和收件人信息](#5.1.3 发送发件人和收件人信息)
      • [5.1.4 发送邮件内容](#5.1.4 发送邮件内容)
      • [5.1.5 退出连接](#5.1.5 退出连接)
  • [6. 遇到的问题及解决方法](#6. 遇到的问题及解决方法)
    • [6.1 使用邮件客户端Foxmail发送一封电子邮件后,无法捕获SMTP协议](#6.1 使用邮件客户端Foxmail发送一封电子邮件后,无法捕获SMTP协议)
    • [6.2 QQ邮箱账号在登入Foxmail后,在发送邮件阶段,由于取消SSL加密的原因,其处于安全性的保护,会取消发送操作](#6.2 QQ邮箱账号在登入Foxmail后,在发送邮件阶段,由于取消SSL加密的原因,其处于安全性的保护,会取消发送操作)

1. 实验:网络仿真软件使用及网络分析

2. SMTP协议

2.1 SMTP协议简介

​ SMTP协议的全称是Simple Mail Transfer Protocol(简单邮件传输协议) ,它是互联网上用于发送电子邮件的主要通信协议之一。SMTP协议通常与POP3或IMAP协议一起使用,以实现电子邮件的发送和接收.它的底层原理主要是通过TCP建立可靠的连接,使用命令和响应模式来传输邮件。


2.2 SMTP协议的核心功能

  • 发送邮件:从邮件客户端(如Outlook、Thunderbird)发送邮件到邮件服务器。
  • 邮件中继:在邮件服务器之间传递邮件(比如从发送方的服务器传送到接收方的服务器)。

2.3 SMTP的相关命令和作用

命令 作用
HELO/EHLO 发送方向服务器发送问候命令,以建立SMTP连接
MAIL FROM 指定发件人地址
RCPT TO 指定收件人地址
DATA 指示邮件正文的开始
QUIT 关闭与服务器的SMTP连接

3. Wireshark抓取报文

3.1 抓取SMTP协议报文流程

3.1.1 Email邮件服务器背景

​ 当前主流的Email服务都提供了加密,可通过搭建SMTP邮件服务器,在客户端通过Foxmail等邮件代理进行通信。

PS: Foxmail的官网链接Foxmail


3.1.2 具体实现流程

(1)在Foxmail里登录网易邮箱,登录邮箱后在账号处右键选择设置进入系统设置页面,点击服务器,关闭两个SSL。


图 3-1 关闭SSL

PS:测试过QQ邮箱,当SSL关闭时会被强制登出,但是SSL必须关掉,否则无法抓取报文,所以选择网易邮箱


(2)打开Wireshark抓包软件,开启Wireshark的抓取功能,在Foxmail里面完成邮件书写并成功发送,切换到Wireshark便可以看到抓取的报文信息。

3.2 过滤SMTP协议相关报文

在Wireshark的过滤器中输入"smtp",可以过滤出与SMTP协议相关的报文信息


图 3-3 过滤后SMTP协议相关的报文

4. 协议时序图

4.1 Wireshark捕获到的报文有编号,如下图:


图 3-4 过滤后SMTP协议相关的报文编号

4.2 协议工作原理的时序图



图 3-5 协议工作原理的时序图

5. 分析协议工作原理

5.1 SMTP通信流程

5.1.1 建立连接

​ 客户端向服务器发起TCP连接请求,服务器接受连接并返回响应。具体来说,客户端使用TCP连接到SMTP服务器的25号端口。在连接成功后,客户端向服务器发送HELO命令,以表示自己的身份和意图。

5.1.2 身份验证

​ 如果需要身份验证,客户端会发送身份验证命令给服务器,服务器进行验证并返回相应的响应。

5.1.3 发送发件人和收件人信息

​ 客户端使用MAIL FROM命令指定发件人的电子邮件地址。如果发件人地址无效,则服务器会返回错误码并中止传输。客户端使用RCPT TO命令指定一个或多个收件人的电子邮件地址。如果收件人地址无效,则服务器会返回错误码并中止传输。简单而言就是:客户端发送"MAIL FROM"命令指定发件人,服务器进行响应。然后客户端发送"RCPT TO"命令指定收件人,服务器进行响应。

5.1.4 发送邮件内容

​ 客户端使用DATA命令指定邮件文本内容,以及包含的附件等信息。数据通常以点号(.)结束。服务器接收到邮件内容后会进行相应的处理,将邮件传递给下一个服务器,直到最终到达目标服务器。

5.1.5 退出连接

​ 当所有邮件内容都已发送后,客户端使用QUIT命令结束SMTP会话并断开连接。即客户端通过发送"QUIT"命令来结束邮件传输,服务器进行响应,并断开TCP连接。


​ PS: 邮件传输仍使用SMTP(Simple Mail Transfer Protocol)(端口:25)协议,SMTP协议是整个邮件传输体系中最基础的框架协议。1982年,协议协议首次作为互联网标准被写进RFC文档,此后经过多次更新,最近的依次比较大的更新在2008年,更新标准为RFC5321.STMP是一种比较老的协议了,安全性差,在邮件传输过程中,容易被第三方所窃取。STMP缺少身份验证机制,攻击者可以很容易在传输链路上获取明文的邮件内容。


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

6.1 使用邮件客户端Foxmail发送一封电子邮件后,无法捕获SMTP协议

​ **解决方法:**在Foxmail系统设置页面中,点击"服务器"来查看具体设置,取消勾选以关闭SSL加密。

6.2 QQ邮箱账号在登入Foxmail后,在发送邮件阶段,由于取消SSL加密的原因,其处于安全性的保护,会取消发送操作

​ **解决方法:**切换成网易邮箱,并设置开启SMTP相关功能,获得登入所需的识别码

相关推荐
Small black human4 小时前
HTTP-Postman的安装及其使用
测试工具·postman
(:满天星:)5 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
野蛮人6号6 小时前
虚拟机网络编译器还原默认设置后VMnet8和VMnet1消失了
网络·vmware·虚拟机网络编译器·vmnet8消失
scuter_yu7 小时前
主流零信任安全产品深度介绍
运维·网络·安全
江苏思维驱动智能研究院有限公司7 小时前
Sophos 网络安全:全球领先的自适应安全解决方案提供商
网络·安全·web安全
面朝大海,春不暖,花不开7 小时前
Java网络编程:TCP/UDP套接字通信详解
java·网络·tcp/ip
AIZHINAN7 小时前
Appium 简介
自动化测试·测试工具·appium
ChicagoTypewriter7 小时前
计算机网络中的常用表项梳理
网络·计算机网络·智能路由器
Bruce_Liuxiaowei10 小时前
常见高危端口风险分析与防护指南
网络·网络安全·端口·信息搜集
tmacfrank11 小时前
Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议
android·网络·https