mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1036 字
3 分钟
实验5 电子邮件
2022-07-01

1.实验目的#

  • 理解电子邮件系统基本结构
  • 理解客户端和服务器端,以及服务器之间的通信
  • 分析理解SMTP,POP3协议

2.实验环境#

  • 硬件要求:阿里云云主机ECS 一台。
  • 软件要求:Linux/ Windows 操作系统

3.实验内容#

3.1 使用邮件代理收发邮件#

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

3.2 本地收发邮件#

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

3.3 web邮件#

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

3.4 telnet收发邮件#

利用telnet命令登陆QQ邮件服务器,发送电子邮件。同时利用Wireshark抓包分析其通信过程和通信协议。

具体操作命令和端口查询自行网络资料解决。

4.实验结果与分析#

4.1 使用邮件代理收发邮件#

  1. 进入QQ邮箱,开启POP3/SMTP服务,获取授权码。

WAPvTMgEO7DYlX9.png

  1. 按照QQ邮箱给予教程,完成outlook对QQ邮箱的绑定

nyDNv6BM2EXT8W4.png

4.2 本地收发邮件#

  1. 关闭账号SSL

pdY93TjtRnJUafk.png

  1. 使用wireshark对WLAN进行抓包,并发送邮件

e5dzHk21IfX4xBa.png

  1. 使用wireshark对SMTP进行追踪

L83wZDIPviyQljA.png

  1. 分析通讯过程及通讯协议
C: telnet imap.qq.com 25 //以telnet方式连接qq邮件服务器
S: 220 newxmesmtplogicsvrszc10.qq.com XMail Esmtp QQ Mail Server. //连接成功,220为响应数字,后面为欢迎信息
C: EHLO DREAIFEDESKTOP //向服务器表明身份
S: 250-newxmesmtplogicsvrszc10.qq.com | PIPELINING | SIZE 73400320 | STARTTLS | AUTH LOGIN PLAIN XOAUTH XOAUTH2 | AUTH=LOGIN | MAILCOMPRESS | 8BITMIME //成功
C: AUTH LOGIN //登录账号
S: 334 VXNlcm5hbWU6
C: User: ODc3MjYxNzkzQHFxLmNvbQ== //输入账号与授权码的base64编码
S: 334 UGFzc3dvcmQ6
C: Pass: enVqbnVobWFhcnB5YmJiYg==
S: 235 Authentication successful
C: MAIL FROM: <[email protected]> //发送人邮箱
S: 250 OK
C: RCPT TO: <[email protected]> //收信人邮箱
S: 250 OK
C: DATA //邮件内容
S: 354 End data with <CR><LF>.<CR><LF>.
C: DATA fragment, 2429 bytes
from: <[email protected]>, subject: , (text/plain) (text/html)
S: 250 OK: queued as.
C: QUIT //发送完成并退出
S:221 Bye

4.3 web邮件#

  1. 使用wireshark对WLAN进行抓包,并发送邮件

9yA3gaBJip5nZFx.png

  1. 使用wiresharktls/ssl进行追踪

f56VQIEgGpxHtyr.png

  1. 分析通讯过程及通讯协议

Client Hello

SPGzmxOXKJpVorj.png

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

MUh98dIWNmpn1Lc.png

  1. Server Hello && Certificate

Aa2ZoQi6EhGBbeR.png

服务器收到客户端的Client Hello数据包之后,根据客户端发来的加密套件列表,选择一个加密套件,也生成一个随机字符串返回给客户端。密钥交换算法选择的是使用ECDHE_RSA,对称加密算法使用AES_128_GCM_SHA256:同时还有返回的服务器的证书信息。

phEZKM1VHBfUAdt.png

  1. Server Key Exchange & Server Hello Done

3RYzrJUFaiPZKAM.png

服务器返回Server Key Exchange数据包,用于和客户端交换用于数据加密的密钥,Server Hello Done用于通知客户端已经发送用于密钥交换的数据等待客户端响应。

EvhOaj35WegzYoF.png

  1. Client Key Change & Change Cipher Spec & Encrypted HandShake Message

w1rncSCU9YBhsiR.png

客户端根据服务器返回的DH数据生成DH数据发给服务器,用来生成最终的pre-master-secret。如图:

7GXgdnSAIuFOCfe.png

  1. Application Data

QZ9AqUsz3n7NGSw.png

  1. Change Cipher Spec & Encrypted HandShake Message

TjVrHfLqJBPXeYc.png

每隔一段时间就要更新一次会话密钥

rwfkcnzlxQ1DBSL.png

4.4 telnet收发邮件#

  1. 开启电脑Telnet并使用wireshark抓包

DldVe27vhCkrOQ4.png

  1. 打开cmd进行操作

输入telnet imap.qq.com 25连接服务器后输入代码如下

bOlcSHmnQYNGPyq.png

  1. 邮件发送完成

SGZ1ThwLfAgRnIU.png

  1. 分析通讯过程及通讯协议
C: telnet imap.qq.com 25 //以telnet方式连接qq邮件服务器
S: 220 newxmesmtplogicsvrszc10.qq.com XMail Esmtp QQ Mail Server. //连接成功,220为响应数字,后面为欢迎信息
C: helo qq.com //向服务器表明身份
S: 250-newxmesmtplogicsvrsza5.qq.com-9.22.14.83-57293480
S: 250-SIZE 73400320
S: 250 OK //成功
C: auth login //登录账号
S: 334 VXNlcm5hbWU6
C: User: ODc3MjYxNzkzQHFxLmNvbQ== //输入账号与授权码的base64编码
S: 334 UGFzc3dvcmQ6
C: Pass: enVqbnVobWFhcnB5YmJiYg==
S: 235 Authentication successful
C: MAIL FROM: <[email protected]> //发送人邮箱
S: 250 OK
C: RCPT TO: <[email protected]> //收信人邮箱
S: 250 OK
C: DATA //邮件内容
S: 354 End data with <CR><LF>.<CR><LF>.
C: DATA fragment, 2429 bytes
from: <[email protected]>, subject: , (text/plain) (text/html)
S: 250 OK: queued as.
C: QUIT //发送完成并退出
S:221 Bye

5、实验小结#

5.1 问题与解决办法#

问题使用Xftp连接服务器时,出现连接错误的情况解决方法使用校园网连接后恢复正常,排查后发现为服务器防火墙原因

5.2 心得体会#

  • 本次实验报告熟系了对SMTP协议分析过程中代码及软件的操作,以及对SMTP报文的分析与提取,实现对课上知识的印证。通过这次实验,我掌握了telnet发送邮件的具体流程与步骤,了解了常用SMTP协议分析软件的基本用法,提高了自身编程能力。
  • 通过这些常用的SMTP协议分析命令操作,对SMTP协议使用时的跟踪分析,SMTP报文的结构分析,让我印证了上课所学的知识。
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

实验5 电子邮件
https://dreaife.tokyo/cn/email-experiment-2022/
作者
dreaife
发布于
2022-07-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

相关文章 智能推荐
1
实验3 UDP协议分析
cs-base 实验旨在掌握UDP协议的内容及其工作原理,分析DNS查询和QQ通信的UDP数据包。实验包括使用tcpdump和wireshark进行数据抓取与分析,结果显示UDP报文由源端口、目的端口、长度和校验和组成。通过实验,解决了traceroute命令和Xftp连接问题,并提高了对IP协议分析的理解和编程能力。
2
实验8 WEB服务器的部署与应用
cs-base 实验旨在理解电子邮件系统结构、客户端与服务器通信及SMTP、POP3协议。通过在阿里云上安装和部署Nginx与Apache,实验展示了静态和动态网页的访问,解决了依赖包安装问题,并提高了对Linux配置软件的掌握与编程能力。
3
实验2 IP协议分析
cs-base 实验旨在了解IP报文格式及字段含义,掌握tcpdump和Wireshark的使用。实验环境包括阿里云主机和操作系统。通过tcpdump抓包和Wireshark分析,学习IP协议结构及相关命令的应用,解决了traceroute命令和Xftp连接问题,提升了编程能力和对IP协议的理解。
4
实验6 DNS协议分析与测量
cs-base 实验旨在了解DNS协议及其基本概念,包括域名结构、DNS服务器和域名解析原理。实验内容涵盖DNS系统配置、使用dig工具进行DNS信息测量,以及通过tcpdump和wireshark分析DNS查询数据包。实验结果显示了DNS查询的各个字段及其含义,最后总结了在实验过程中遇到的问题及解决方案,提升了对DNS协议的理解和编程能力。
5
实验4 TCP协议分析
cs-base 实验旨在了解TCP协议的基本概念和报文结构,分析连接建立和释放过程,掌握使用tcpdump和wireshark进行TCP协议分析的技术。实验通过wget下载网页并抓取数据包,分析TCP报文头部及其字段,探讨三次握手和四次挥手的过程,最后总结了实验中的问题及解决方法,并提高了对IP协议和TCP报文结构的理解。

目录