自动记录win2003服务器远程登录者ip的方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动记录win2003服务器远程登录者ip的方法 Post By:2012-2-20 14:25:00





-
WINDOWS 2003 远程桌面不能记录登陆IP真是件头痛的事,本方法可以记录登陆者IP,具体的操作步骤如下:

1、建立一个存放日志的目录,如C盘下建立一个RDP的目录“C:/RDP”。

2、然后在“C:/RDP”目录下创建一个名字为“RDPlog.txt”的文本文件“C:/RDP/RDPlog.txt”。

3、然后在“C:/RDP”目录下创建一个名字为“RDPlog.bat”的批处理文件,内容为:

date /t >>RDPlog.txt

time /t >>RDPlog.txt

netstat -n -p tcp | find ":3389">>RDPlog.txt

start Explorer

4、进入控制面板---管理工具---终端服务器配置---RDP-Tcp---属性-环境-用户登录时启用下列程序---在程序路径和文件名---写“C:\RDP\rdplog.bat”---起始于---写“C:\RDP\”这样就ok了。下次用终端登陆的时候就会自动记录IP地址到“C:/RDP/RDPlog.txt”了,打开直接看就行了。

--------

方法二:

@echo off

rem 3389log.bat

:log

date /t >>c:\winnt\system\38log.log

time /t >>c:\winnt\system\38log.log

netstat an /find "3389" /find "ESTABLI SHED" >> c:\winnt\system\38log.log

goto :log

把这个文件放到c:\winnt\system\grouppolicy\user\script\Logon 下面,然后在运行中输入:gpedit.msc,进入组策略,选择:用户配制》》windows设置》》脚本。在右窗口中双击登陆,最后选“添加”把刚才的批处理加上。

===============

对于日志的问题,其实Terminal Service自己是有日志功能的,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务(比如RDP-TCP(Microsoft RDP5.0)),选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了吗?我们来加入一个Everyone组,这代表所有的用户,然后审核他的“连接”、“断开”、“注销”的成功和“登陆”的功能和失败就足够了,审核太多了反而不好,这个审核试记录在安全日志中的,可以从“管理工具”->“日志查看器”中查看。

现在什么人什么时候登陆都一清二楚了,可是它却不记录客户端的IP(只能查看在线用户的ip)而是记录计算机名,我们可以建立一个.bat文件,叫做TSLog.bat,这个文件用来记录登录者的ip,内容如下:

time /t>>TSLog.log

netstat -n -p tcp|find ":3389">>TSLog.log

start Explorer

我来解释一下这个文件的含义:

第一行是记录用户登陆的时间,Time/t的意思是直接返回系统时间(如果不加/t,系统会等待你输入新的时间),然后我们用追加符号

>>把这个时间记入TSLog.log

第二行是记录用

户的ip地址,Netstat是用来显示当前网络连接状况的命令,-n表示显緄p和端口而不是域名、协议,-p tcp是只显示

tcp协议,然后我们用管道符号“|”把这个命令的结果输出给Find命令,从输出结果中查找包含“:3389”的行(这就是我们要得客户

的ip所在行,如果你改了终端服务的端口,这个数值也要作相应的改变),最后我们同样把这个结果重定向到日志文件TSLog.log中去,

于是在TSLog.log文件中,记录格式如下:

22:40

TCP 192.168.12.28:3389 192.168.10.123:4903ESTABLISHED

22:54

TCP 192.168.12.28:3389 192.168.12.29:1039ESTABLISHED

也就是说只要这个TSLog.bat文件一运行,所有连在3389端口的ip都会被记录,那么如何让这个批处理文件运行呢?我们知道终端服务允许我们为用户自定义起始的程序,在终端服务配置中,我们覆盖用户的登陆脚本设置并指定TSLog.bat为用户登录时需要打开的脚本,这样每个用户登录后都必须执行这个脚本,因为默认得脚本(相当于SHELL环境)是Explorer(资源管理器),所以我在TSLog.bat的最后一行加上了启动Explorer的命令start Explorer,如果不加这一行命令,用户是没有办法进入桌面的。当然,如果你只需要给用户特定的SHELL:例如cmd.exe或者word.exe你也可以把start explorer替换成任意的SHELL。

这个脚本也可以有其他的写法,例如写一个脚本把每个登陆用户的ip发送到自己的信箱对于很重要的服务器也是一个很好的方法。正常情况下,一般的用户没有查看终端服务设置的权限,所以他不会知道你对登陆进行了ip审核,只要把TSLog.bat文件和TSLog.log 文件放在比较隐蔽的目录里就足够了,不过需要注意的是这只是一个简单的终端服务日志攻略,并没有太多的安全保障措施和权限机制 ,如果服务器有更高的安全要求,那还是需要通过编程后购买入侵检测 软件来完成。

_______________________________________________________

首先建立一个bat 文件,比如:login.bat //或者login.cmd ,前提是你的系统上设置允许查看文件后缀名。具体设置选项,可以打开我的电脑/工具/文件夹选项/查看/ 清除“隐藏己知文件类型的扩展名”前面的钩。

文件内容如下:

echo off

date /t >>D:\temp\login.log

time /t >>D:\temp\login.log

echo 协议 本地IP地址 远程IP地址 连接状态 >>D:\temp\login.log

netstat -an -p tcp |find ":3389" >>D:\temp\login.log

start explorer

echo __________________________________________________________________ >>D:\temp\login.log

其中find ":3389" 为你的3389端口,如果你改过3389端口请改成相应的端口,后面的andy.log 是记录文件的名

字!可随意更改(注:要把所有的LOG结尾的文件名改成你命名的文件)。把此文件放到你系统的目录下,本文以C:\winnt 目录为例:

点击 开始--程序--管理工具--终端服务配置--链接 选择右面栏里的RDP-TCP打开属性对话框 ,打开环境选项,在初始程序中的

替代用户配置文件和客户端链接管理器向导的设置 打对号

在 用户登录时,启动下列程序里写入

c:\winnt\3389.bat

在 开始位置 中写入

c:\winnt\

点击确定

重启计算机.

再次登录时,查看login.log文件,确定脚本是否运行正常.




该文章转自[创业中国]
原文地址:/dispbbs.asp?boardid=26&id=229243

相关文档
最新文档