图2所示的是科来网络分析系统5.0对上面发送邮件操作的报文跟踪,详细信息如下: A. 第1、2、3个数据包是TCP连接的三次握手数据包,连接的双方是本机与域名ns1.colasoft.com对应的IP地址; B. 从第4个数据包开始,客户端开始通过TCP协议连接SMTP服务器,并与SMTP服务器进行命令的交互,及邮件的发送,具体的交互过程详见图3以及对图3的分析。
图3所示的是科来网络分析系统5.0对上面发送邮件操作的TCP原始数据流重组信息。具体分析数据流重组信息,可以得到上面发送邮件操作的详细过程如下: A. 客户端使用EHLO(或HELO)命令向SMTP服务器发送HELO报文,启动邮件传输过程,并同时将客户端地址发送SMTP服务器端,此处为wangym; B. SMTP服务器接受了客户端的连接请求,并请求输入账号和密码进行认证; C. 客户端向服务器端传送账号和密码; D. SMTP服务器通过验证,客户端使用MAIL命令将邮件发送者的名称传送给SMTP服务器; E. 客户端使用RCPT命令将邮件接收者的名称传送给SMTP服务器; F. 客户端使用DATA命令传送邮件数据给SMTP服务器; G. 数据传送完毕后,客户端发送QUIT命令关闭连接。 注意: SMTP传输使用的是base64编码,图4中AUTH LOGIN下的“dGVzdDFAY29sYXNvZnQuY29t”是当前使用账号对应的base64编码; 图3所示的SMTP数据流中,客户端向SMTP服务器传送了两次发件人名称和收件人名称,可能的原因有两种: a. 网络的延迟较大,客户端在规定时间内未收到SMTP服务器的响应,认为传送发件人名称和收件人名称的数据包丢失而进行的重传; b. 客户端主机上的防病毒软件在邮件发送前对邮件进行的检测,如Norton Antivirus就会进行这种检测,禁用此检测功能即可避免此种情况的发生。 2) 接收邮件 我们再使用科来网络分析系统5.0捕获并分析一个使用POP3协议的接收邮件过程,客户端主机名为“wangym”,客户端用户代理使用Foxmail 5.0 beta2,邮件接收者test2@colasoft.com。 在客户端主机上打开科来网络分析系统5.0。与上面相同,设定一个过滤器,只捕获本机的数据通讯,选择高级分析模块,在邮件分析模块的常规设置中,将保存邮件选择为“是”,并选择好邮件的保存位置,如图1所示。 在科来网络分析系统5.0中开始数据捕获,同时在Foxmail中选中test2@colasoft.com,并收取邮件。接收完成后即可在科来网络分析系统5.0对刚才的邮件接收操作进行分析(为避免数据包干扰,分析时可停止捕获。)。 注意:此文里提到的接收邮件均指使用TCP 110端口的标准POP3通信,对于非110端口的邮件发送,用户可在“工程->高级分析模块->邮件分析模块->SMTP设置->POP3端口”处进行更改,系统默认为110,当SMTP服务器有多个端口时,多个端口之间用分号分隔,如110;1110。
图4所示的是科来网络分析系统5.0对上面接收邮件操作的报文跟踪。 A. 1、2、3数据包是TCP连接的三次握手数据包,连接的双方是本机与域名ns1.colasoft.com对应的IP地址; B. 从第4个数据包开始,客户端开始通过TCP协议连接POP3服务器,并与POP3服务器进行命令的交互,及邮件的接收,具体的交互过程详见图4以及对图4的分析。
图5所示的是科来网络分析系统5.0对上面接收邮件操作的TCP原始数据流重组信息。具体分析其数据流重组信息,可以得到上面接收邮件操作的详细过程: A. 客户端使用USER命令向POP3服务器传送用户账号test2@colasoft.com; B. 客户端使用PASS命令向POP3服务器传送用户密码1234567890; C. POP3服务器通过验证,向客户端发送一个OK报文; D. 客户端使用STAT命令请求POP3服务器返回邮箱的统计资料信息,POP3服务器返回当前有一封邮件; E. 客户端使用LIST命令列出POP3服务器里的邮件数量,当前为1封邮件; F. 客户端使用RETR命令接收邮件,接收后使用DELE命令将邮件POP3服务器中的邮件置为删除状态; G. 客户端发送QUIT命令,邮件服务器将将置为删除标志的邮件删除,连接结束。 注意: POP3直接使用明文传输; 图5中最后部分(由于篇幅,图5中未列出),直接重组出了接收到的邮件内容,此信息不经过任何编码或加密处理,直接为明文方式,与图1所示的邮件原始信息一致。