论文部分内容阅读
摘要:随着Internet的普及,电子邮件已经逐渐取代传统邮件日益广泛地影响着我们的生活与工作,而邮局协议是保证我们通过客户端软件成功获取电子邮件的协议。本文结合目前市场功能最强大的协议分析软件Sniffer Pro对邮局协议进行直观的分析与研究。
关键词:Sniffer Pro;POP3;电子邮件
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c
Research and Analysis of POP3 Based on Sniffer
YANG Ming-chuan
(Department of Computer Engineer Shenzhen Polytechnic, Shenzhen 518055, China)
Abstract: With the Internet popularization, E-mail has already taken place tradition mail. It influences widely our life and work.POP3 endure us to receive E-mail successfully by client soft. It also unified the present most popular software of network data packet capturing: Sniffer to direct-viewing research and the analysis the POP3.
Key words: Sniffer Pro;POP3;E-mail
1 邮局协议(POP3)
邮局协议即POP,它的全称是Post Office Protocol,用于电子邮件的接收,它使用TCP的110端口。现在常用的是第三版 ,所以简称为 POP3。POP3采用Client/Server工作模式,Client被称为客户端,一般我们日常使用outlook或Foxmail是作为客户端软件,而Server(服务器)则是网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是用户,邮局协议好比是用户开启信息的钥匙。
2 邮局协议(POP3)的工作原理
下面就让我们一起来看看电子邮件软件收取电子邮件的过程,一般我们在电子邮件软件的账号属性上设置一个POP服务器的URL(比如pop.21cn.com),以及邮箱的账号和密码。当我们按下电子邮件软件中的“收取”键后,电子邮件客户端软件首先会调用DNS协议对POP服务器进行解析IP地址,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的110端口。当邮件程序成功地连上POP服务器后,其先会使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的账号传给服务器,当完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,比如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。然后邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮件服务器便会将置为删除标志的邮件给删除了。
3 Sniffer的介绍
Sniffer产品是IT行业内支持的网络拓扑结构范围最广,协议最多,并携带具有专家支持系统的网络分析仪,同时也是一个网络故障、性能和安全管理的有力工具,适用于Ethernet、Fast Ethernet、Switched LANs等网络。它对各种现有网络协议进行解码,支持多达574种网络协议并对各种应用层协议进行解码。它安装在网络接口层,用于对网络主机的监听,我们通过分析截获的报文,可以理解各种协议定义的数据结构, 也可以理解数据在每一层上的封装情况。
4 Sniffer对邮局协议的研究与分析
4.1 实验平台
(1)申请电子信箱
以电子邮件yymmcc@21cn.com为例,首先在WWW.21CN.COM,作出申请,获得邮箱名字为yymmcc@21cn.com,密码为abcd12,记下该邮箱的发送邮件服务器的地址为smtp.21cn.com,接收邮件服务器的地址为pop.21cn.com。
(2)安装并配置电子邮件客户端软件Foxmail
以局域网上IP地址为10.1.14.102的主机作为操作对象,在该机上安装电子邮件客户端软件Foxmail软件。安装好后在帐户-属性中设置发送邮件服务器的地址为smtp.21cn.com,接收邮件服务器的地址为pop.21cn.com以及刚才申请的电子邮件帐号、密码。
(3)设置Sniffer捕获过滤器。
在IP地址为10.1.14.102的主机上安装Sniffer Pro,如果该机安装多块网卡,在文件菜单中选择“选择设置”,指定要捕获数据包的IP地址为10.1.14.102的网卡,然后在工具栏上打开捕获过滤器-高级标签, 定义要捕获的协议数据,在高级标签中选择IP-TCP-POP协议。
(4)启动Sniffer捕获过滤器,将Foxmail客户端连接邮件服务器,捕获并用解码方式查看捕获到的数据包。
4.2 POP3工作过程的研究与分析
POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件。PO3适用于C/S结构的脱机模型。脱机模型即不能在线操作,当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本 OK或-ERR指出相应的操作状态是成功还是失败。如图1:
4.2.1 POP3授权状态
在成功和邮件服务器建立连接之后,客户端软件要向邮件服务器发送电子邮件的帐号信息,即发送命令USER,用户名是该命令的参数即yymmcc。捕获的数据如下:
图3 POP3的PASS命令
如果用户名和密码吻合的话,服务器会返回一条正确的消息,随即进入传送状态。
4.2.2 传送状态
客户端发出STAT命令请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数。如下图:
图5 邮件服务器返回信息
如果邮箱中没有邮件,用QUIT命令就可结束同服务器的连接。如果邮箱中有邮件的话,客户端发出UIDL命令来返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的。在获得邮件服务器确认后发出 LIST命令,用来返回邮件数量和每个邮件的大小(图略)。客户端发出RETR2命令将服务器上的两封邮件下载到本地机。
图7 POP3的DELE命令
4.2.3更新状态
客户端发出QUIT命令,进入更新状态。这个命令来确认所做的所有改变,删除被标上删除标记的邮件以及关闭连接。
图8 POP3 QUIT命令
5 结束语
邮局协议是用户经常使用的协议,但是它的原理和工作过程比较抽象。本文通过嗅探软件Sniffer从协议层的角度对邮局协议进行了分析和解析,使用户对该协议有更清晰明确的了解。
参考文献:
[1]RFC1939-POP3协议.
[2]Robert J. Shimonski, Wally Eaton, 等. Sniffer Pro网络优化与故障检修手册[M]. 北京:电子工业出版社,2004.8.
收稿日期:2008-01-28
作者信息:杨名川,女,吉林人,讲师,硕士,研究方向:计算机网络。
关键词:Sniffer Pro;POP3;电子邮件
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c
Research and Analysis of POP3 Based on Sniffer
YANG Ming-chuan
(Department of Computer Engineer Shenzhen Polytechnic, Shenzhen 518055, China)
Abstract: With the Internet popularization, E-mail has already taken place tradition mail. It influences widely our life and work.POP3 endure us to receive E-mail successfully by client soft. It also unified the present most popular software of network data packet capturing: Sniffer to direct-viewing research and the analysis the POP3.
Key words: Sniffer Pro;POP3;E-mail
1 邮局协议(POP3)
邮局协议即POP,它的全称是Post Office Protocol,用于电子邮件的接收,它使用TCP的110端口。现在常用的是第三版 ,所以简称为 POP3。POP3采用Client/Server工作模式,Client被称为客户端,一般我们日常使用outlook或Foxmail是作为客户端软件,而Server(服务器)则是网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是用户,邮局协议好比是用户开启信息的钥匙。
2 邮局协议(POP3)的工作原理
下面就让我们一起来看看电子邮件软件收取电子邮件的过程,一般我们在电子邮件软件的账号属性上设置一个POP服务器的URL(比如pop.21cn.com),以及邮箱的账号和密码。当我们按下电子邮件软件中的“收取”键后,电子邮件客户端软件首先会调用DNS协议对POP服务器进行解析IP地址,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的110端口。当邮件程序成功地连上POP服务器后,其先会使用USER命令将邮箱的账号传给POP服务器,然后再使用PASS命令将邮箱的账号传给服务器,当完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,比如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。然后邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮件服务器便会将置为删除标志的邮件给删除了。
3 Sniffer的介绍
Sniffer产品是IT行业内支持的网络拓扑结构范围最广,协议最多,并携带具有专家支持系统的网络分析仪,同时也是一个网络故障、性能和安全管理的有力工具,适用于Ethernet、Fast Ethernet、Switched LANs等网络。它对各种现有网络协议进行解码,支持多达574种网络协议并对各种应用层协议进行解码。它安装在网络接口层,用于对网络主机的监听,我们通过分析截获的报文,可以理解各种协议定义的数据结构, 也可以理解数据在每一层上的封装情况。
4 Sniffer对邮局协议的研究与分析
4.1 实验平台
(1)申请电子信箱
以电子邮件yymmcc@21cn.com为例,首先在WWW.21CN.COM,作出申请,获得邮箱名字为yymmcc@21cn.com,密码为abcd12,记下该邮箱的发送邮件服务器的地址为smtp.21cn.com,接收邮件服务器的地址为pop.21cn.com。
(2)安装并配置电子邮件客户端软件Foxmail
以局域网上IP地址为10.1.14.102的主机作为操作对象,在该机上安装电子邮件客户端软件Foxmail软件。安装好后在帐户-属性中设置发送邮件服务器的地址为smtp.21cn.com,接收邮件服务器的地址为pop.21cn.com以及刚才申请的电子邮件帐号、密码。
(3)设置Sniffer捕获过滤器。
在IP地址为10.1.14.102的主机上安装Sniffer Pro,如果该机安装多块网卡,在文件菜单中选择“选择设置”,指定要捕获数据包的IP地址为10.1.14.102的网卡,然后在工具栏上打开捕获过滤器-高级标签, 定义要捕获的协议数据,在高级标签中选择IP-TCP-POP协议。
(4)启动Sniffer捕获过滤器,将Foxmail客户端连接邮件服务器,捕获并用解码方式查看捕获到的数据包。
4.2 POP3工作过程的研究与分析
POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件。PO3适用于C/S结构的脱机模型。脱机模型即不能在线操作,当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码表示。服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本 OK或-ERR指出相应的操作状态是成功还是失败。如图1:
4.2.1 POP3授权状态
在成功和邮件服务器建立连接之后,客户端软件要向邮件服务器发送电子邮件的帐号信息,即发送命令USER,用户名是该命令的参数即yymmcc。捕获的数据如下:
图3 POP3的PASS命令
如果用户名和密码吻合的话,服务器会返回一条正确的消息,随即进入传送状态。
4.2.2 传送状态
客户端发出STAT命令请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数。如下图:
图5 邮件服务器返回信息
如果邮箱中没有邮件,用QUIT命令就可结束同服务器的连接。如果邮箱中有邮件的话,客户端发出UIDL命令来返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的。在获得邮件服务器确认后发出 LIST命令,用来返回邮件数量和每个邮件的大小(图略)。客户端发出RETR2命令将服务器上的两封邮件下载到本地机。
图7 POP3的DELE命令
4.2.3更新状态
客户端发出QUIT命令,进入更新状态。这个命令来确认所做的所有改变,删除被标上删除标记的邮件以及关闭连接。
图8 POP3 QUIT命令
5 结束语
邮局协议是用户经常使用的协议,但是它的原理和工作过程比较抽象。本文通过嗅探软件Sniffer从协议层的角度对邮局协议进行了分析和解析,使用户对该协议有更清晰明确的了解。
参考文献:
[1]RFC1939-POP3协议.
[2]Robert J. Shimonski, Wally Eaton, 等. Sniffer Pro网络优化与故障检修手册[M]. 北京:电子工业出版社,2004.8.
收稿日期:2008-01-28
作者信息:杨名川,女,吉林人,讲师,硕士,研究方向:计算机网络。