过量的存储分配,要求的操作未执行 邮箱名不可用,要求的操作未执行 操作失败【实验步骤】
步骤一:利用Outlook发送电子邮件,捕获数据包并分析
1、打开邮件工具:Outlook Express,按照已经申请的邮箱信息进行配置,例如邮箱为2008.test.star@163.com ,密码为:Test2008,配置完成后可看到的邮件帐户属性为:
图5- 75 在Outlook Express中设置邮箱帐户
174
第五章 应用层协议分析
2、在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中选择“SMTP协议”:
图5- 76 设置SMTP协议过滤器
3、在Outlook中创建一封邮件,发送出去。
4、进行数据捕获,并分析数据包内容,可以看到SMTP的命令和参数,图5- 77中可以看到MAIL FROM命令,并可看到邮箱地址 2008.test.star@163.com :
图5- 77 SMTP协议的MAIL FROM命令报文
而在图5- 78中,则可以看到这是一个携带邮件内容的DATA报文:
175
计算机网络协议原理实验教程
图5- 78 SMTP协议中的DATA报文
5、分析其中发送邮件的过程传输层采用什么协议?发送端的目的端口号是多少?代表什么协议?
步骤二:利用“TCP工具”和SMTP命令编辑邮件并发送
本步骤的目的是学习SMTP协议的命令用法,以及一个邮件发送的过程。
1、首先要与某个邮件服务器建立一个TCP连接,例如:使用步骤一中的163.com的邮件服务器,可从刚才捕获到的报文中看到其IP地址为:202.208.5.81,用户名:2008.test.star,密码为:Test2008,邮件服务器域名:163.com。
(1)、首先打开协议分析仪,准备好进行数据包的捕获,然后打开协议分析仪,点击工具栏中的“TCP”按钮;
(2)、在弹出的“TCP连接工具”中填写邮件服务器的IP地址(202.208.5.81)及邮件服务器SMTP协议的端口号(25),点击“启动”,从而建立本机与邮件服务器SMTP端口的TCP连接,如图5- 79所示:
图5- 79 利用TCP工具与邮件服务器建立连接
176
第五章 应用层协议分析
从协议分析器一端可以捕获到三次握手的过程:
图5- 80 与邮件服务器建立TCP连接的过程
(3、)若连接成功,在接收窗口会显示成功连接的信息:
220 163.com Anti-spam GT for Coremail System (163com[071018]) 若不成功,查看IP地址和端口号是否有错,再次尝试进行连接,直到成功。
2、用SMTP命令编辑发送邮件,捕获数据包并进行分析:
(1)、在发送的编辑栏里面编辑发送SMTP协议的命令HELO,参数为发送方的主机名,例如:HELO STAR:
图5- 81 在TCP工具中编辑发送SMTP命令报文
177
计算机网络协议原理实验教程
(2)、发送命令AUTH LOGIN,此命令的含义是要求进行身份认证;
(3)、邮件服务器返回“334 dXNlcm5hbWU6”,要求主机发送用户名,“dXNlcm5hbWU6”是“username:”的BASE编码;
(4)、发送“MjAwOC50ZXN0LnN0YXI=”,这是“2008.test.star”的BASE编码(可以使用BASE转换工具将字符转换为BASE编码);
(5)、邮件服务器返回“334 UGFzc3dvcmQ6”,要求主机发送密码,“UGFzc3dvcmQ6”是“Password:”的BASE编码;
(6)、发送“VGVzdDIwMDg=”,这是“Test2008”的BASE编码;
(7)、邮件服务器返回“235 Authentication successful”,表示身份认证通过; (8)、发送“MAIL FROM <2008.test.star@163.com>”,说明邮件接收方是2008.test.star@163.com ,邮件服务器返回“250 Mail OK”;
(9)、发送“RCPT TO <2008.test.star@163.com>”,说明邮件发送方是2008.test.star@163.com (这是一封自己发送给自己的邮件),邮件服务器返回“250 Mail OK”;
(10)、发送命令“DATA”,说明下面将开始发送的是邮件正文的内容;
(11)、服务器返回“354 End data with .”,说明服务器准备接收邮件正文,并要求正文内容以单独的一个“.”结束;(12)、发送字符“my email.” (13)、发送字符“.”; (
14
)、
服
务
器
返
回
“250 Mail OK queued as
smtp1,C9GowLDLOx2P_9FIJx30JQ==.36538S2 1221722068”,说明邮件正文发送成功;
(15)、发送命令“QUIT”结束这个邮件会话,服务器返回“221 Bye”(从协议分析仪上可以看到四次断开的过程)。
此时,使用Outlook Express可以收到这封邮件,不过内容为空,因为发送的内容“my email.”不能解析成包含主题、From、To、Subject、Date等格式要求的邮件正文。
下面是在协议分析仪的TCP工具“数据信息”区域显示的全部交互过程:
正在连接202.108.5.81:25 连接成功!
220 163.com Anti-spam GT for Coremail System (163com[071018]) ------------------------------------------------------------------------------- 发送HELO STAR 发送成功!
250 OK
------------------------------------------------------------------------------- 发送AUTH LOGIN 发送成功!
334 dXNlcm5hbWU6
-------------------------------------------------------------------------------
178
第五章 应用层协议分析
发送MjAwOC50ZXN0LnN0YXI= 发送成功!
334 UGFzc3dvcmQ6
------------------------------------------------------------------------------- 发送VGVzdDIwMDg= 发送成功!
235 Authentication successful
------------------------------------------------------------------------------- 发送MAIL FROM <2008.test.star@163.com> 发送成功!
250 Mail OK
==
------------------------------------------------------------------------------- 发送RCPT TO <2008.test.star@163.com> 发送成功!
250 Mail OK
------------------------------------------------------------------------------- 发送DATA 发送成功!
354 End data with .------------------------------------------------------------------------------- 发送my email. 发送成功!
------------------------------------------------------------------------------- 发送. 发送成功!
250 Mail OK queued as smtp1,C9GowLDLOx2P_9FIJx30JQ.36538S2 1221722068
-------------------------------------------------------------------------------
发送QUIT 发送成功! 221 Bye 连接结束
步骤三:编辑一个SMTP报文
1、在主机上打开协议数据发生器,在工具栏上选择“添加”,会弹出“网络包模版”对话框,选择“SMTP协议模版”,建立一个SMTP数据报文:
179
计算机网络协议原理实验教程
图5- 82 建立SMTP协议报文
2、填写其中以太网帧头、IP首部、TCP首部和SMTP报文的内容:
z 填写以太网协议首部信息:
¾ 目的物理地址:在地址本中选择实验室网关的IP地址(例如:192.168.1.1),
确认后自动填入网关的MAC地址:00-D0-F8-B5-24-8F;
¾ 源物理地址:在地址本中选择实验主机(例如:192.168.1.2),确认后自动填
入实验主机的MAC地址:02-00-4C-4F-4F-50; ¾ 类型或长度:该字段应为0800(即IP协议的类型值)。 z 填写IP协议头信息:
¾ 总长度字段:包括TCP段内容的总长度,20 IP+20 TCP+34 SMTP = 74; ¾ 高层协议字段:即上层协议类型为6(TCP协议的类型为6);
¾ 发送IP地址:在地址本中选择实验主机的IP地址,确认后自动填入主机的IP
地址192.168.1.2;
¾ 目标IP地址:手工填写邮件服务器的IP地址:202.108.5.81; ¾ 点击工具栏中的“校验和”按钮计算IP头校验和。 z 填写TCP协议的各个字段信息:
¾ 16位源端口号:任意大于1024的数; ¾ 16位目的端口号:25;
¾ 32位序号:选择一个序号(例如:194258); ¾ 32位确认序号:设置为0;
¾ 首度:首度设为5,即长度为20字节; ¾ 标志位:标志位设为2,即标志位SYN=1; ¾ 窗口大小:任意,例如填入32768; ¾ 紧急指针:0;
180
第五章 应用层协议分析
¾ 校验和:点击工具栏中的“校验和”按钮计算TCP校验和(覆盖TCP首部(包
含伪首部)和TCP数据两部分,计算方法同UDP协议一样)。
z 5、填写SMTP协议报文的内容:
可填入SMTP的常用命令及参数,例如:MAIL FROM <2008.test.star@163.com>。
最终的编辑结果如图5- 83所示:
图5- 83 编辑SMTP报文的内容
3、点击工具栏上的“发送”按钮,将编辑好的SMTP数据报文发送,可设置循环发送。 4、在实验主机上运行网络协议分析仪,捕获数据,捕获结果如图5- 84所示,其中可以清晰地看到,这个TCP报文的标志位是SYN,里面携带的是SMTP报文,具体的SMTP命令及参数是MAIL FROM <2008.test.star@163.com>:
图5- 84 捕获编辑的SMTP报文
181
计算机网络协议原理实验教程
【思考问题】
1、在SMTP协议的传输报文中,是否有携带帐号、密码的报文?
2、通过实验说明你的电子邮件在网络上传输是安全的吗?为什么?如果不安全,你认为实现邮件安全传输的最好的办法是什么?
182