|
分析新浪网的webmail(就是指在新浪网页发送邮件的那种,不是用foxmail或outlook等工具发送)。通过分析客户端向外发送的数据包来获取邮件的详细信息,并将其填入结构体内。涉及到的结构体的定义如下:
struct mail_packet
{
u_int32_t sip;
u_int32_t dip;
unsigned char smac[18];
unsigned char dmac[18];
unsigned char srcmac_bin[6];
unsigned char dstmac_bin[6];
u_int32_t seq; //该包的顺序号
u_int32_t next_seq; //下个包的顺序号
u_int16_t sport; //源端口
struct mail_info mail; //mail内容结构体
int pkt_num;
int accessory; //带附件则标示为 1, 不带则标示为 -1
char boundary[BOUNDARY_LEN];
int position; //该webmail已读取到的位置,初始值为0
time_t sec; //用于确认此连接是否超时
int recorded; //如果该邮件已记录,则置为 1, 否则置为 0
struct mail_packet *next;
};
#define WEBMAIL_LEN 30
#define ACCOUNT_LEN 30
#define SENDER_LEN 50
#define RECEIVER_LEN 100
#define SUBJECT_LEN 100
#define TEXT_LEN 50
#define ACCESSORY_LEN 50
#define ACCESSORY_NAME_LEN 50
//邮件信息结构
struct mail_info
{
u_int32_t sip;
char webmail[WEBMAIL_LEN];
char account[ACCOUNT_LEN];
char sender[SENDER_LEN];
char receiver[RECEIVER_LEN];
char subject[SUBJECT_LEN];
char text[TEXT_LEN];
char accessory[ACCESSORY_LEN]; //存储附件的文件名
char accessory_name[ACCESSORY_NAME_LEN]; //附件名
char accessory_len;
int action;
};
分析邮件的收/发件人、主题、内容、附件名、附件,并且填入上述结构体27中
将获取的正文存入一个文件中,附件也要存入另一个文件中。
要求:使用C语言编写,在linux环境下编译(最好是fedora4)
在编码前先把设计文档写出来,要详细的设计思路和解决方案,最好有流程图
希望各位高手帮帮我谢谢! |
|