组合使用Linux命令生成winwebmail使用的防垃圾邮件kill.ini
2008-12-02 21:56
513 查看
近一段时间自己的WINWEBMAIL上的垃圾邮件越来越多,参考官方网站上的说明,只要把垃圾邮件连接IP放到KILL.INI中,即可阻挡一部分。
要取得垃圾邮件连接IP,可以到反垃圾邮件网站上下,不过一般都很大,针对性不强。
这里介绍一个根据自己的服务器LOG生成KILL.INI的方法,供大家参考。
1. 取得服务器LOG
把winmail\log\下的Logyyyy-mm-dd.txt文件下载到本地。
-----LOG片断------------
Tue, 2 Dec 2008 03:03:02 Smtp怬. IP: 118.68.102.231 , Port 22231^M
Tue, 2 Dec 2008 03:03:02 Smtp怬. IP: 118.68.102.231 , Port 22233^M
Tue, 2 Dec 2008 03:03:02 Smtp怬. IP: 118.68.102.231 , Port 22236^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:52 Smtp怬. IP: 118.68.102.231 , Port 22943^M
-------LOG片断--------
2.思路:
对于在短时间内多次连接的,可以初步认为是垃圾邮件IP。
3.使用如下命令:
cat Log* |grep '\['|awk -F[ '{print $1,$2}'|awk -F] '{print $1}'|awk '{print $6}'|uniq -c|awk '$1>3{print $2}'|sort|uniq -c|awk '$1>3{print $2}'>kill.ini
有点复杂,一条一条命令说一下:
cat Log* 输出所有Log文件
grep '\[' 把含有[的行选出来,[]中是地址
awk -F[ '{print $1,$2}'|awk -F] '{print $1}' 去掉[和]
awk '{print $6}' 只显示IP地址列
uniq -c 对连续的相同IP地址进行计数
awk '$1>3{print $2}' 输出超过3次的地址
sort 对所有IP地址排序
再次应用 uniq 和 awk 对超过3次的IP进行筛选,最后的结果输出到kill.ini
4.把kill.ini拷贝到 winmail目录。
5.重启winwebmail服务。
至此,设置完成,等过一个月,再看看有没有改善。
要取得垃圾邮件连接IP,可以到反垃圾邮件网站上下,不过一般都很大,针对性不强。
这里介绍一个根据自己的服务器LOG生成KILL.INI的方法,供大家参考。
1. 取得服务器LOG
把winmail\log\下的Logyyyy-mm-dd.txt文件下载到本地。
-----LOG片断------------
Tue, 2 Dec 2008 03:03:02 Smtp怬. IP: 118.68.102.231 , Port 22231^M
Tue, 2 Dec 2008 03:03:02 Smtp怬. IP: 118.68.102.231 , Port 22233^M
Tue, 2 Dec 2008 03:03:02 Smtp怬. IP: 118.68.102.231 , Port 22236^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:14 [118.68.102.231] ¹Ø±ÕÁ¬½Ó.^M
Tue, 2 Dec 2008 03:03:52 Smtp怬. IP: 118.68.102.231 , Port 22943^M
-------LOG片断--------
2.思路:
对于在短时间内多次连接的,可以初步认为是垃圾邮件IP。
3.使用如下命令:
cat Log* |grep '\['|awk -F[ '{print $1,$2}'|awk -F] '{print $1}'|awk '{print $6}'|uniq -c|awk '$1>3{print $2}'|sort|uniq -c|awk '$1>3{print $2}'>kill.ini
有点复杂,一条一条命令说一下:
cat Log* 输出所有Log文件
grep '\[' 把含有[的行选出来,[]中是地址
awk -F[ '{print $1,$2}'|awk -F] '{print $1}' 去掉[和]
awk '{print $6}' 只显示IP地址列
uniq -c 对连续的相同IP地址进行计数
awk '$1>3{print $2}' 输出超过3次的地址
sort 对所有IP地址排序
再次应用 uniq 和 awk 对超过3次的IP进行筛选,最后的结果输出到kill.ini
4.把kill.ini拷贝到 winmail目录。
5.重启winwebmail服务。
至此,设置完成,等过一个月,再看看有没有改善。
相关文章推荐
- linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下
- Linux下使用mail命令发送邮件
- linux使用mail命令发送邮件
- 使用linux的mail命令发送html格式的邮件
- Linux mail命令使用用其他SMTP服务器发送邮件
- Linux中的mail邮件命令的各种参数使用详解
- Linux下安装及使用mail命令发送邮件到指定邮箱
- 使用Linux的mail命令发送邮件
- linux使用mail命令发邮件―第三方smtp
- 常用Linux命令组合使用方式
- linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下
- linux下使用命令组合的问题
- 菜鸟学Linux 第020篇笔记 find命令使用和命令组合条件
- 使用pidof/kill组合命令,变相解决mediaserver内存泄漏
- JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用
- linux下mail命令使用
- linux使用dd命令快速生成大文件
- CentOS6 Linux下mail命令配置及使用
- Linux中快捷键的使用,who命令,rm命令,ps命令,cd命令,kill命令,find命令,grep命令,tar命令(gz、tar、bz2),用户管理,vim部分配置,相关命令
- Linux下OpenSSL客户端中使用req命令来生成证书的教程