最近访问服务器量有所增加,为排除一些功能行为,所以需要定时执行BAT进行数据统计。那么我的解决方案如下:
1.编写BAT文件实现自动创建目录和定时创建一个统计文本文件
2.配置windows2008计划任务并实现
第一步:
首先编写一个mkdirdate.bat文件进行每天凌晨00:00:00分执行创建一个目录,代码如下:
@echo off
set dat=%date:~0,4%%date:~5,2%%date:~8,2%
md %dat%
第二步:
由于时间的格式问题,如果是早上9点以前则取一位,如果是10点以后则取两位
这里的leq是判断是否时间小于9,而geq则是是否大于10
统计IP至当前时间的文本文件中
%time:~0,2% 这个是取系统时间的前两位
首先编写一个BAT脚本文件,本文以“ipcount.bat”为名称源码如下:
@echo off
set dat=%date:~0,4%%date:~5,2%%date:~8,2%
set tm=%time:~0,2%
if %tm% leq 9 set time0=%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%
if %tm% geq 10 set time0=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
set dttm=%dat%%time0%
netstat -an >%dat%\IP%dttm%.txt
第三步:
统计服务器总链接数及其他的一些信息,创建文件“datacount.bat”代码如下:
@echo off
set dat=%date:~0,4%%date:~5,2%%date:~8,2%
set tm=%time:~0,2%
if %tm% leq 9 set time0=%time:~1,1%%time:~3,2%%time:~6,2%%time:~9,2%
if %tm% geq 10 set time0=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
set dttm=%dat%%time0%
netstat -es >%dat%\Count%dttm%.txt
好了三个文件我们都已经创建好,接下去我们再讲一下配置计划任务时要注意的是分以下两步
第一步:
mkdirdate.bat 文件单独创建一个计划任务在每天00:00:00执行,每天执行一次就可以了。
第二步:
datacount.bat
ipcount.bat
两个文件添加到同一个计划任务里,并配置好每天重复执行,我这里配置是每分钟执行一次统计,每次会自动生成两个不同时间的文本文件,至于时间可以自己调整如果访问不高,可以5分钟统计一次,或是半小时,一小时都可以。
根据统计的文本,然后进行分析,流量大小,或是哪些IP比较可疑,如果有IP链接多达100以上的基本可以确定是属于非正常访问,当然就情况不同而决定
关于非法的IP链接数怎么进行过滤,我会在另一篇防火墙过滤指定IP的文章中进行说明。
看一下BAT任务执行后的效果图:
