当前位置: 首页 > article >正文

实验6 电子邮件

实验6 电子邮件

1、实验目的

  • 理解电子邮件系统基本结构

  • 理解客户端和服务器端,以及服务器之间的通信

  • 分析理解SMTP,POP3协议

2、实验环境

  • 硬件要求:阿里云云主机ECS 一台。

  • 软件要求:Linux/ Windows 操作系统

3、实验内容

3.1 使用邮件代理收发邮件

配置邮件用户代理(例如Foxmail,windows Outlook Express,linux 雷鸟软件等;可以使用系统自带,也可以自行下载。),实现本地撰写,收取自己的QQ邮件。

3.2 本地收发邮件

利用本地客户端撰写和发送QQ电子邮件。同时利用Wireshark抓包分析其通信过程和通信协议。

3.3 web邮件

利用浏览器登录QQ邮箱,撰写和发送QQ电子邮件。同时利用Wireshark抓包分析其通信过程和通信协议。

4、实验结果与分析

  • 需给出实验中相关命令、脚本或者代码以及运行截图;
  • 对于运行结果和遇到的问题,需给出必要分析说明;

4.1 使用邮件代理收发邮件

1)登录网页版QQ邮箱,点击右上角“账号与安全”进入一个新 的界面,点击“安全设置”,最下方有“POP3/IMAP/SMTP/Exchange/CardDAV 服务”,点击“开启服务”完成验证后即可收到第三方发送的邮件。

在这里插入图片描述

2)在官网下载Foxmail使用QQ邮箱登录,登录后进入首页,左侧一栏出现QQ邮箱的相关内容则表示成功。

在这里插入图片描述

4.2 本地收发邮件

1)在设置中选择账号,再选择服务器,点击取消两个SSL的勾选。

在这里插入图片描述

2)打开wireshark使用WLAN进行抓包

在这里插入图片描述

3)抓包开始后,在Foxmail中点击“写邮件”编辑并发送邮件,然后点击“发送”。

在这里插入图片描述

4)回到Wireshark点击左上方的红色按钮停止抓包。

在这里插入图片描述

5)抓包完成后,在上方过滤栏中输入“smtp”进行数据过滤。

在这里插入图片描述

6)选择一条smtp数据,右键选框选择数据流,选择TCPStream,追踪流界面如下。

在这里插入图片描述

7)分析追踪流中信息的含义。

在这里插入图片描述

字段信息含义
220表示连接建立成功,后面的Anti-spam表明是该邮件系统的反垃圾邮件模块
EHLO发送EHLO命令,主要是声明身份。身份验证后返回“250 OK”代码
AUTH服务端接收到客户端的EHLO请求之后,返回了一个250代码并且附带了支持的身份验证方式,身份验证成功后会返回235的成功代码
MAIL FROM声明邮件的发件人
RCPT TO声明邮件的收件人
DATA告知服务器要开始传输邮件的正文内容服务端返回354代码,告知邮件的内容结束以<CR><LF>.<CR><LF>为标记
QUIT在客户端发送完邮件内容之后,还会接着发送一个QUIT命令来表示结束这次的SMTP传输

4.3 web邮件

1)打开wireshark使用WLAN进行抓包。

2)在网页版QQ邮箱中编辑并发送邮件,发送完毕后回到Wireshark点击左上方的红色按钮停止抓包

在这里插入图片描述

3)抓包完成后,在上方过滤栏中输入“tls”进行数据过滤。

在这里插入图片描述

4)分析协议,Client Hello,TLS握手过程的第一步就是客户端发起请求,主要包括了客户端生成的随机字符串(session key),还包含了客户端所支持所支持的加密套件列表、随机数等信息。

在这里插入图片描述

5)Server Hello,服务器收到客户端的Client Hello数据包之后,根据客户端发来的加密套件列表,选择一个加密套件,也生成一个随机字符串返回给客户端。

在这里插入图片描述

6)Certificate,返回服务器证书,该证书中含有一个公钥,用于身份验证和密钥协商。保护进程无法捕获。

在这里插入图片描述

7)Server Key Exchange,Server Hello Done,服务器返回Server Key Exchange数据包,用于和客户端交换用于数据加密的密钥,Server Hello Done用于通知客户端已经发送用于密钥交换的数据等待客户端响应。保护进程无法捕获。

8)Client Key Change,Change Cipher Spec,Encrypted HandShake Message(客户端根据服务器返回的DH数据生成DH数据发给服务器。),保护进程无法捕获。

9)New Session Ticket,Change Cipher Spec,Encrypted HandShake Message(每隔一段时间就要更新一次会话密钥),实验捕获时间区间较短未捕获。

在这里插入图片描述

5、实验小结

(包括遇到的特定问题和解决办法、心得体会、意见与建议等)

5.1问题与解决办法:

问题1、配置邮件用户代理时,提示账户信息错误或无法连接到服务器。

解决方法:关闭邮件客户端的SSL/TLS加密设置,然后重新连接。

问题2、数据包分析困难。

解决方法:查找资料,了解数据包中报文的结构和信息含义。

问题3、不知道怎么分析SMTP的结构和通信过程。

解决方法:用鼠标右键一组数据,点击选择“数据流”,选择“TCPStream”。

5.2心得体会:

通过本次实验,我深入理解了电子邮件系统的基本结构,以及客户端和服务器端之间的通信过程。我掌握了SMTP和POP3协议的基本原理和通信方式,并能够使用邮件代理软件和Web邮件进行邮件的收发操作。通过Wireshark抓包分析,我进一步了解了网络协议在电子邮件通信中的实际应用和具体细节。这次实验不仅加深了我对电子邮件系统的理解,也提升了我的实践操作能力。

相关文章:

实验6 电子邮件

实验6 电子邮件 1、实验目的 理解电子邮件系统基本结构 理解客户端和服务器端&#xff0c;以及服务器之间的通信 分析理解SMTP&#xff0c;POP3协议 2、实验环境 硬件要求&#xff1a;阿里云云主机ECS 一台。 软件要求&#xff1a;Linux/ Windows 操作系统 3、实验内容…...

AI大模型从0到1记录学习numpy pandas day24

第 1 章 环境搭建 1.1 Anaconda 1.1.1 什么是Anaconda Anaconda官网地址&#xff1a;https://www.anaconda.com/ 简单来说&#xff0c;Anaconda Python 包和环境管理器&#xff08;Conda&#xff09; 常用库 集成工具。它适合那些需要快速搭建数据科学或机器学习开发环境的用…...

深入理解浏览器渲染引擎:底层机制与性能优化实战

现代浏览器背后是一个庞大而复杂的系统工程&#xff0c;渲染引擎作为核心模块之一&#xff0c;承担着从解析 HTML/CSS 到最终绘制页面的关键职责。本文将从底层机制出发&#xff0c;系统梳理渲染引擎&#xff08;如 Blink&#xff09;工作原理、V8 与渲染流程的协作方式&#x…...

大模型浪潮下,黑芝麻智能高性能芯片助力汽车辅助驾驶变革

在全球汽车产业向智能化、网联化加速转型的浪潮中&#xff0c;大模型技术的崛起为汽车领域带来了前所未有的变革机遇。黑芝麻智能在高性能芯片和基础软件架构领域的持续创新&#xff0c;正全力推动汽车智能化的发展&#xff0c;为行业注入新的活力。 大模型全面助力辅助驾驶迈…...

鸿蒙OSUniApp制作多选框与单选框组件#三方框架 #Uniapp

使用UniApp制作多选框与单选框组件 前言 在移动端应用开发中&#xff0c;表单元素是用户交互的重要组成部分。尤其是多选框&#xff08;Checkbox&#xff09;和单选框&#xff08;Radio&#xff09;&#xff0c;它们几乎存在于每一个需要用户做出选择的场景中。虽然UniApp提供…...

康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX

目录 一、OpenDRIVE&#xff1a;兼容多版本地图标准 &#xff08;1&#xff09;Atlas 工作流 &#xff08;2&#xff09;UE Plugin 工作流 二、OpenSCENARIO&#xff1a;标准化动态行为建模 三、OpenCRG&#xff1a;还原毫米级路面细节 四、OpenMATERIAL&#xff1a;更真…...

VMware中快速安装与优化Ubuntu全攻略

准备工作 在开始安装之前&#xff0c;确保已经下载了VMware Workstation或VMware Player&#xff0c;并准备好Ubuntu的ISO镜像文件。VMware Workstation是一款功能强大的虚拟机软件&#xff0c;支持在Windows或Linux主机上运行多个操作系统。 创建虚拟机 打开VMware Worksta…...

GPUGeek云平台实战:DeepSeek-R1-70B大语言模型一站式部署

随着人工智能技术的迅猛发展&#xff0c;特别是在自然语言处理领域&#xff0c;大型语言模型如DeepSeek-R1-70B的出现&#xff0c;推动了各行各业的变革。为了应对这些庞大模型的计算需求&#xff0c;云计算平台的普及成为了关键&#xff0c;特别是基于GPU加速的云平台&#xf…...

无人机动力系统全解析:核心组件、工作原理与实用指南

无人机想要实现稳定飞行与灵活操控&#xff0c;离不开一套高效协同的动力系统。该系统以电机、电子调速器&#xff08;电调&#xff09;、电池和螺旋桨四大核心组件为基础&#xff0c;各部分精密配合&#xff0c;共同驱动无人机翱翔蓝天。接下来&#xff0c;本文将从基础原理入…...

【C语言】初阶数据结构相关习题(二)

&#x1f386;个人主页&#xff1a;夜晚中的人海 今日语录&#xff1a;知识是从刻苦劳动中得来的&#xff0c;任何成就都是刻苦劳动的结果。——宋庆龄 文章目录 &#x1f384;一、链表内指定区间翻转&#x1f389;二、从链表中删去总和值为零的节点&#x1f680;三、链表求和&…...

嵌入式学习--江科大51单片机day7

我们在听课的过程中&#xff0c;可能对老师讲的有疑问&#xff0c;或者有些自己的理解&#xff0c;我们可以去问豆包&#xff0c;包括在写博客的时候我也是&#xff0c;不断去问豆包保证思考的正确性。&#xff08;有人感觉豆包很low啊&#xff0c;其实这些基础性的东西豆包一般…...

基于大模型预测围术期麻醉苏醒时间的技术方案

目录 一、数据收集与处理(一)数据来源(二)数据预处理二、大模型构建与训练(一)模型选择(二)模型训练三、围术期麻醉苏醒时间预测(一)术前预测(二)术中动态预测四、并发症风险预测(一)风险因素分析(二)风险预测模型五、基于预测制定手术方案(一)个性化手术规划…...

Element Plus 取消el-form-item点击触发组件,改为原生表单控件

文章目录 问题&#xff1a;方法一&#xff1a;使用全局样式覆盖&#xff08;推荐&#xff09;方法二&#xff1a;自定义指令&#xff08;更灵活&#xff09;方法三&#xff1a;封装高阶组件方法四&#xff1a;运行时DOM修改&#xff08;不推荐&#xff09; 问题&#xff1a; 描…...

javascript —— ! 和 !! 的区别与作用

javascript —— ! 和 !! 的区别与作用 在 JavaScript 里&#xff0c;! 和 !! 是两种不同的逻辑运算符&#xff0c;它们的功能和使用场景有明显区别。 1、 !&#xff08;逻辑非运算符&#xff09; 它的主要作用是 对操作数进行布尔值取反。具体来说&#xff0c;就是 先把操作…...

鸿蒙 ArkUI - ArkTS 组件 官方 UI组件 合集

ArkUI 组件速查表 鸿蒙应用开发页面上需要实现的 UI 功能组件如果在这 100 多个组件里都找不到&#xff0c;那就需要组合造轮子了 使用技巧&#xff1a;先判断需要实现的组件大方向&#xff0c;比如“选择”、“文本”、“信息”等&#xff0c;或者是某种形状比如“块”、“图…...

LLM笔记(三)位置编码(1)

位置编码理论与应用 1. 位置编码如何解决置换不变性及其数学表现 在Transformer模型中&#xff0c;自注意力机制&#xff08;Self-Attention&#xff09;具有置换不变性&#xff08;permutation invariance&#xff09;&#xff0c;这意味着对输入序列的词元&#xff08;toke…...

麒麟v10 部署 MySQL 5.6.10 完整步骤

需要包的私信我 一、安装依赖&#xff08;Perl环境&#xff09; # 在线安装依赖 yum -y install perl perl-devel# 离线安装&#xff08;需提前下载好rpm包&#xff09; mkdir /data/ybn/soft/pre yum install --downloadonly --downloaddir/data/ybn/soft/pre perl perl-dev…...

Git-学习笔记(粗略版)

前言 很多人都听过git&#xff0c;github这些名词,但是它们是什么&#xff0c;怎么使用&#xff1f;git和github是一个东西吗&#xff1f;本文将详细解答这些问题&#xff0c;彻底弄懂git。 1.Git是啥❓ 有一天&#xff0c;我们的插画师小王接到一个绘画订单&#xff0c;但奈…...

专项智能练习(定义判断)

1. 单选题 热传导是介质内无宏观运动时的传热现象&#xff0c;其在固体、液体和气体中均可发生。但严格而言&#xff0c;只有在固体中才是纯粹的热传导&#xff0c;在流体&#xff08;泛指液体和气体&#xff09;中又是另外一种情况&#xff0c;流体即使处于静止状态&#xff…...

失控的产品

大部分程序员很难有机会做一个新的产品&#xff0c;绝大多时候去一家新公司也都是在旧产品上修修补补。 笔者还是很幸运得到了开发新品的机会&#xff0c;从2023年开始做&#xff0c;中间经历了许多磕磕碰碰。 有的小伙伴从中离开&#xff0c;偶尔又加入1~2个人&#xff0c;但…...

【iOS安全】Dopamine越狱 iPhone X iOS 16.6 (20G75) | 解决Jailbreak failed with error

Dopamine越狱 iPhone X iOS 16.6 (20G75) Dopamine兼容设备 参考&#xff1a;https://www.bilibili.com/opus/977469285985157129 A9 - A11&#xff08;iPhone6s&#xff0d;X&#xff09;&#xff1a;iOS15.0-16.6.1 A12-A14&#xff08;iPhoneXR&#xff0d;12PM&#xf…...

无线定位之 二 SX1302 网关源码 thread_down 线程详解

前言 笔者计划通过无线定位系列文章、系统的描述 TDOA 无线定位和混合定位相关技术知识点, 并以实践来验证此定位系统精度。 笔者从实践出发、本篇直接走读无线定位系统关键节点、网关 SX1302 源码框架,并在源码走读过程 中、着重分析与无线定位相关的PPS时间的来龙去脉、并在…...

对心理幸福感含义的探索 | 幸福就是一切吗?

注&#xff1a;机翻&#xff0c;未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切吗&#xff1f;对心理幸福感含义的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …...

多平台图标设计与管理的终极解决方案

IconWorkshop Pro 是一款由Axialis团队开发的专业图标设计与制作软件&#xff0c;专注于为设计师、开发者及企业用户提供高效且灵活的图标创作解决方案。该软件凭借其强大的功能与跨平台适配性&#xff0c;成为Windows、macOS、iOS、Android等多系统图标设计的首选工具之一。 …...

ngx_http_keyval_module动态键值管理

一、模块安装与验证 检查模块是否可用 nginx -V 2>&1 | grep --color -o ngx_http_keyval_module如果看到 ngx_http_keyval_module&#xff0c;说明模块已编译进 NGINX。 若未找到&#xff0c;请联系你的 NGINX 供应商&#xff0c;获取商业版或重新编译并启用该模块&am…...

【高频面试题】LRU缓存

文章目录 1 相关前置知识&#xff08;OS&#xff09;2 面试题 16.25. LRU 缓存2.1 题面2.2 示例2.3 解法1 &#xff08;双端队列哈希表&#xff09;思路 2.4 解法2思路 3 参考 1 相关前置知识&#xff08;OS&#xff09; 为什么需要页面置换算法&#xff1a;当进程运行时&…...

讯联云库项目开发日志(二)AOP参数拦截

目录 利用AOP实现参数拦截: 一、​​HTTP请求进入Controller​&#xff08;发送邮件验证码&#xff09; 二、AOP切面触发 1. 切面拦截&#xff08;GlobalOperactionAspect.class&#xff09; method.getAnnotation()​​ null interceptor 判断​​ 2.参数校验注解 3. 参…...

龙虎榜——20250515

上证指数缩量收阴线&#xff0c;个股跌多涨少&#xff0c;上涨波段4月9日以来已有24个交易日&#xff0c;时间周期上处于上涨末端&#xff0c;注意风险。 深证指数缩量收阴线&#xff0c;日线上涨结束的概率在增大&#xff0c;注意风险。 2025年5月15日龙虎榜行业方向分析 一…...

知识图谱重构电商搜索:下一代AI搜索引擎的底层逻辑

1. 搜索引擎的进化论 从雅虎目录式搜索到Google的PageRank算法&#xff0c;搜索引擎经历了三次技术跃迁。而AI搜索引擎正在掀起第四次革命&#xff1a;在电商场景中&#xff0c;传统的「关键词匹配」已无法满足个性化购物需求&#xff0c;MOE搜索等新一代架构开始融合知识图谱…...

python-修改图片背景色

在Python中&#xff0c;可以使用图像处理库&#xff08;如OpenCV或Pillow&#xff09;来修改图片的背景色。通常&#xff0c;修改背景色的流程包括以下步骤&#xff1a; 1、对图片进行分割&#xff0c;识别前景和背景。 2、对背景区域进行颜色替换。 下面是两种实现方法&#x…...