Webmail还原,其实也就是HTTP协议的还原,而HTTP协议的还原,核心部分是TCP会话的重组。在TCP会话进行重组之后,再对重组的报文进行HTTP解析,得到Webmail中相应的信息。
由于每个邮件服务商实现Webmail的方式都各不相同,要想使用一种方法对所有的Webmail进行还原,不太现实,对于了解HTTP协议的人来说,做这个事情,其实是一个“苦力活”。
下面以163免费邮箱为例,尝试对她发送的邮件(包括附件)进行还原,得到发件人、收件人、邮件内容等信息。
下图是通过163 WEB免费邮箱发送邮件(包括附件)的报文截图:
从上图可以看出:
1、在选择附件之后,会立即上传附件,而不像以前在发送邮件的时候才上传附件,这么做提高了用户体验(在测试的时候,发现比较大的附件文件,会开启多个会话,并行上传)。可是怎么怎么确定附件与邮件之间的关系呢?因为邮件内容是在附件上传之后才发送的,从上图可以看到,在204号报文的POST请求中,带有一个”cid=c:1355753818585″的字串,而“1355753818585”就是附件与邮件内容相关联的纽带。
2、如果在写邮件时,内容比较多,需要的时间也长,那么邮件会进行自动保存。424号报文就是一个自动保存报文的请求。POST请求中的action值为auto。
3、在发送邮件时,POST请求中的action值为deliver。邮件内容以及发件人、收件人信息使用XML文件进行封装,并使用了URLENCODE编码,因此在还原时,需要对其解码,然后解析XML文件,获取邮件相关信息。
下图是一个发送邮件内容还原的截图: