实验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抓包分析,我进一步了解了网络协议在电子邮件通信中的实际应用和具体细节。这次实验不仅加深了我对电子邮件系统的理解,也提升了我的实践操作能力。