登录社区:用户名: 密码: 忘记密码 网页功能:加入收藏 设为首页 网站搜索  

文档

下载

图书

论坛

安全

源码

硬件

游戏
首页 信息 空间 VB VC Delphi Java Flash 补丁 控件 安全 黑客 电子书 笔记本 手机 MP3 杀毒 QQ群 产品库 分类信息 编程网站
  立华软件园 - 安全技术中心 - 技术文档 - 安全配制 技术文章 | 相关下载 | 电子图书 | 攻防录像 | 安全网站 | 在线论坛 | QQ群组 | 搜索   
 安全技术技术文档
  · 安全配制
  · 工具介绍
  · 黑客教学
  · 防火墙
  · 漏洞分析
  · 破解专题
  · 黑客编程
  · 入侵检测
 安全技术工具下载
  · 扫描工具
  · 攻击程序
  · 后门木马
  · 拒绝服务
  · 口令破解
  · 代理程序
  · 防火墙
  · 加密解密
  · 入侵检测
  · 攻防演示
 安全技术论坛
  · 安全配制
  · 工具介绍
  · 防火墙
  · 黑客入侵
  · 漏洞检测
  · 破解方法
 其他安全技术资源
  · 攻防演示动画
  · 电子图书
  · QQ群组讨论区
  · 其他网站资源
最新招聘信息

利用脚本编程格式化输出转存系统日志
发表日期:2003-08-12作者:netone[] 出处:  

日志对于操作系统来说其重要性时不言而喻的,一个优秀的nt网络的管理员,往往会定期的备份系统日志,以备查询服务器运行状况及系统安全状况。

如果利用系统日志的“另存为”功能手工备份,则比较麻烦,而且输出的日志难以实现格式化输出,微软的resource kit工具包中有一个免费的查看本地或远程日志的小工具dumpel.exe,利用它可以把日志存为文本文件以备后需,在这里我利用windows脚本编程来实现定期备份并格式化输出html文件,如果条件许可,可以直接转储到打印机上打印。下面是具体的实现方法。

windows脚本编程包括vbscript和javascript,这也是网页特效编程中常见的语言,实际上利用vbs和js强大的系统和网络管理功能,可以使系统管理员简化很多工作的。

vbs和js本身不提供察看日志的方法,但wscript.shell具有run方法,即可以运行windows命令,所以我们要借助上面说的dumpel工具,首先说一下它的使用方法,

dumpel -f file [-s \\\\server] [-l log [-m source]] [-e n1 n2 n3...] [-r] [-t] [-d x]

常用的参数:

-f file 即为日志的存储位置和文件名

-s server 在查看远程日志时使用(必须有admin权限)

-m 过滤日志条件

-l 指定日志,如系统日志(system),应用程序(application),安全日志(security),域控制器还有dns,文件复制等

例如,要把server01上安全日志保存为security.log,

命令:dumpel -f security.log -s \\\\server01 -l security

然后即产生一个security.log的文本文档,为了得到格式化输出的日志文件,我们采取下面的编程方法:

假设我们要查看日志的服务器为\\\\server, 存储位置为\\\\data\\backup,文件名为 "计算机名+日期+日志类型".html

并通过计划任务,一天产生一个html文档,原代码如下:

logreport.js

month=new Array(12)

month[1]="一月"

month[2]="二月"

month[3]="三月"

month[4]="四月"

month[5]="五月"

month[6]="六月"

month[7]="七月"

month[8]="八月"

month[9]="九月"

month[10]="十月"

month[11]="十一月"

month[12]="十二月"

days=new Array(7)

days[1]="星期日"

days[2]="星期一"

days[3]="星期二"

days[4]="星期三"

days[5]="星期四"

days[6]="星期五"

days[7]="星期六"

function theData(aDate)

{

 var currentday=days[aDate.getDay()+1]

 var currentmonth=month[aDate.getMonth()+1]

 return currentday+","+currentmonth+","+aDate.getDate()

}

var result;result=0

var ws=WScript.CreateObject("WScript.shell")

c=ws.expandenvironmentstrings("%computername%")

netdrive="\\\\date\\backup"

today=new Date()

var logday=today.getDate()

var logmonth=today.getMonth()

logarray=new Array(2)

logarray[0]="system"

logarray[1]="application"

logarray[2]="security"

for (l in logarray) {

ws.run("dumpel.exe /s \\\\server /l "+logarray[l]+" /f "+netdrive+"\\\\"+c+"-"+logmonth+"-"+logday()+"-"+logarray[l]+".log /d 1",

 0,"TRUE")

}

ForReading=1

ForAppending=8

for (l in logarray) {

var fs=new ActiveXObject("scripting.FileSystemObject")

var f=fs.opentextfile(""+netdrive+"\\\\"+c+"-"+logmonth+"-"+logday()+"-"+logarray[l]+".log",ForReading,"TRUE")

fContents=f.ReadAll()

f.Close()

var f=fs.OpenTextFile(""+netdrive+"\\\\"+c+"-"+logmonth+"-"+logday()+"-"+logarray[l]+".htm",ForAppending,"TRUE")

fHeader="<html><head><title>Daily "

fHeader+=logarray[l]

fHeader+=c

fHeader+="</title></head>"

fHeader+="<body bgcolor=#ffffff text=#000000>"

fHeader+="<h1>daily"

fHeader+=logarray[l]

fHeader+=" log report for "

fHeader+=c

fHeader+="</h1>"

fHeader+="<h3>"

fHeader+=theData(today)

fHeader+="</h3>"

fHeader+="<pre>"

f.Write(fHeader)

f.Write(fContents)

fFooter="</pre></body></html>"

fWrite(fFooter)

f.Close()

}

将以上代码用记事本打开,并把后缀名存为js,并与dumpel.exe放在同一目录下,双击即可运行,运行后自动建立"计算机名+日期+日志类型".html

要使此脚本程序定期的进行日志备份,可以利用windows图形化的计划任务或是“at"命令。

利用图形化的计划任务使脚本自动执行非常简单,这里不再详细介绍,用at命令同样可以达到目的。

例如需要在每天的0:00执行此脚本来备份系统日志,则在命令提示行下输入

at \\\\server /every M,T,W,Th,F,S,Su 0:00 "path\\logreport.js"

此处server为logreort.js所在的机器,本机可省略。

path为logreport.js所在的路径,默认的为%systemroot%

我来说两句】 【发送给朋友】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 利用脚本编程格式化输出转存系统日志

 ■ [欢迎对本文发表评论]
用  户:  匿名发出:
您要为您所发的言论的后果负责,故请各位遵纪守法并注意语言文明。

最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放 / 友情链接  
Copyright ©2001-2006 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00167