邮箱解析_清净经解析
邮箱解析由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“清净经解析”。
2.4.2 QQ邮箱协议分析与实现
协议分析过程如下:
分析post头:利用wirshark抓取的QQ邮箱的数据流,其中host、origin、referer这三项中都带有qq.com,以此判断是何种邮箱;唯一的URL是区分发送邮件流与上传附件流的条件依据。
分析meage-body:发送邮件流,其中正文等信息都在meage-body里,直接提取即可;上传附件流,windows系统下,属于小附件时,是单会话单post,在meage-body中前364个字节是乱码后边是以明文显示,属于大附件时,是单会话多post,在meage-body中前364个字节是乱码后边是以明文显示,网盘上传附件时,是mime格式传递的。Linux系统下,小附件的情况,是单会话单post,在meage-body中是以明文显示。大附件的情况,是多会话多post,在meage-body中是以明文显示。网盘上传附件,是单会话多post,在meage-body中前364个字节是乱码后边是以明文显示。
具体实现如下:
1)判断协议:首先利用字符串匹配判断数据流的邮箱类型,是163、yeah还是126邮箱,然后利用字符串匹配和正则表达式匹配判断URL是发送邮件流还是上传附件流。
2)提取协议内容:先采用pcre类库的正则表达式技术提取数据流中的发件人、收件人、正文、主题、发送时间,再分别将提取的信息URL解码,并上报。3)提取协议文件: windows系统下①小附件情况,直接将meage-body除了前364位乱码的字符串以uuid的形式存到文件里。②大附件的情况,首先将meage-body除了前364位乱码的字符串以通过四元组产生哈希值为文件名存储,利用乱码判断是最后一个数据包,文件大小存到链表里,并将文件名改为uuid的形式,并上报。③网盘上传附件,利用正则表达式匹配提取文件名,利用sundy算法qq邮箱的类型判断与信息提取判断是否为发送个人邮件流是提取发件人、收件人、发送时间、主题、正文存放到webmail结构体否判断是否为发送群邮件流是提取发件人、收件群、发送时间、主题、正文存放到webmail结构体判断是否为上传乱码附件流或者是Linux大附件流是是否为乱码附件流是将文件大小与文件名存到链表里将body存到硬盘上否将附件内容、大小、名字存到链表否提取附件内容、名字、文件大小判断是否为分post分会话上传附件流是提取附件内容、大小判断上传附件与存文件的大小是否相等否是将文件大小与文件名存到链表里将body存到硬盘上否把body存硬盘上判断是Linux小附件流是将附件内容、大小、名字存到链表否结束存到janon串里提取文件内容。
图2-4 QQ邮箱协议分析流程图
Linux系统下,①小附件的情况,直接将meage-body以uuid的形式存到文件里。②大附件的情况,首先将meage-body以通过四元组产生哈希值为文件名存储,然后用提取的偏移量加content-length判断是否等于提取的附件大小,如果等于将提取与文件大小存到链表里,并将文件名改为uuid的形式,并上报。③网盘上传附件,利用正则表达式匹配提取文件名,利用sundy算法提取文件内容。
4)上报结果:主要采用janon类库的技术,以janon串的形式上报。处理QQ邮箱的流程图,如图2-4所示。2.4.3通过MIME格式发送邮件的邮箱协议分析与实现
协议分析如下:
以MIME格式为数据流的邮箱有:新浪、中国石油、21cn、央视网、tom、189邮箱。
分析post头:利用wirshark抓取的新浪、中国石油、21cn、央视网、tom邮箱的数据流,其中host、origin、referer这三项中分别都带有sina.com、sina.cn、cnpc.com、21cn.com、cntv.com、tom.com、189.cn,以此判断是何种邮箱;唯一的URL是区分发送邮件流与上传附件流的条件依据。
分析meage-body:发送邮件流,其中新浪、21cn、央视网邮箱分别以mime格式传递的,而中国石油、tom、189邮箱是整个的meage –body传递的。上传附件流,都是mime格式的,开头和结尾都是boundary形式,并有文件名。
实现:
1)判断协议:首先利用字符串匹配判断数据流的邮箱类型,然后利用字符串匹配和正则表达式匹配判断URL先判断是发送邮件流不是的话,再判断是上传附件流。
2)提取协议内容:先采用pcre类库的正则表达式技术提取数据流中的发件人、收件人、正文、主题、发送时间,再分别将提取的信息URL解码,并上报。
3)提取协议文件:利用正则表达式匹配提取文件名,利用sundy算法提取文件内容以及文件大小。
4)上报结果:主要采用janon类库的技术,以janon串的形式上报。处理简易通过MIME格式发送邮件的邮箱流程图,如图2-5所示。
MIME邮箱的类型识别与信息提取判断是否为发送邮件流提取发件人、收件人、发送时间、主题、正文存放到webmail结构体是否判断是否为上传附件流提取附件名字,大小、内容将附件内容、大小、名字存到链表是否结束存到janon串里图2-5 通过MIME格式发送邮件的邮箱协议分析流程图 2.4.4搜狐邮箱协议分析与实现
协议分析过程如下:
搜狐邮箱主要包括:搜狐邮箱、搜狗邮箱、chinaren邮箱。分析post头:利用wirshark抓取的搜狐邮箱的数据流,其中host、origin、referer这三项中分别都带有sohu.com、sogou.com、chinaren.com,以此判断是何种邮箱;唯一的URL是区分发送邮件流与上传附件流的条件依据。
分析meage-body:发送邮件内容的POST流,是通过meage –body实体传递的,而上传普通附件流,是通过mime格式传递。实体的开头和结尾均为boundary形式,并且有文件名等信息。最后,批量上传到搜狐U盘的数据流,是经过多会话发送的,并且其中不涉及加密。
搜狐邮箱的类型判断与信息提取将附件内容、大小、名字存到链表判断是否为上传附件流是提取附件内容、文件名、文件大小否提取发件人、收件人、发送时间、主题、正文存放到webmail结构体判断是否为发送邮件流否是判断是否为批量上传到U盘流是提取附件内容、大小、附件名判断上传附件与存文件的大小是否相等否否是将文件大小与文件名存到链表里将body存到硬盘上把body存硬盘上存到janon串里结束图2-6搜狐邮箱的协议分析流程图
具体实现如下:
1)判断协议:首先利用字符串匹配判断数据流的邮箱类型,然后利用字符串匹配和正则表达式匹配判断URL是否是上传附件流,不是的话,再判断是否是发送邮件流,再不是的话,再判断是否为上传到搜狐u盘数据流。
2)提取协议内容:先采用pcre类库的正则表达式技术提取数据流中的发件人、收件人、正文、主题、发送时间,再分别将提取的信息URL解码,并上报。
3)提取协议文件:对于普通附件数据流,利用正则表达式匹配提取文件名,利用sundy算法提取文件内容以及文件大小;上传到搜狐U盘的数据流,首先将meage-body通过四元组产生哈希值为文件名存储,然后用提取的偏移量加content-length判断是否等于提取的附件大小,如果等于将提取文件大小存到链表里,并将文件名改为uuid的形式,并上报。
4)上报结果:主要采用janon类库的技术,以janon串的形式上报。
搜狐邮箱协议分析流程图如图2-6所示。