I come, I see, I conquer

                    —Gaius Julius Caesar

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

 

一、日志服务器 Kiwi-Syslog-Server-9.5.0

 

1、日志服务器的设置

 

1.1  设置日志保存路径、日志文件名称格式、周转设置

 

1.2  设置日志服务器监听端口(采用默认设置)

 

 

2、日志收集

 

网络保障:产生日志的设备到日志服务器的监听端口是通的。 

1.1  网络设备

cisco:

 

华为:

 

天清汉马:

 

 

1.2  操作系统

Linux:

(1)在/etc/syslog.conf或rsyslog.conf文件中增加 *.*  @remote-loghost-ip。日志来源和等级可自定。

 

(2)重启syslogd或rsyslog服务使syslog.conf文件的更改生效。

 

Windows: 使用evtsys程序

下载:Evtsys_4.5.1_32-64-Bit-LP

        

 

 

1.3  日志乱码

wireshark抓包发现:

这是什么格式?

网上一查,有人问道:

------------------------

再找啊找,发现了所谓的url解码与编码。

上图红线部分的源内容是:尝试登录的用户

下面对这7个字进行Url编码:

 

选中utf-8,然后按”UrlEncode编码“按键,汉字转换成了%x%x%x的型式。结果如下:

把上图中的%x%x%x...中的x转换成8进制后,恰好 对应了包中的数据:

\345\260\235\350\257\225\347\231\273\345\275\225\347\232\204\347\224\250\346\210\267

 

utf-8,什么鬼??不懂!!!

紧接着,看到了各种编码的区别

1、Unicode 和 UTF-8 有何区别?

2、unicode,ansi,utf-8,unicode big endian编码的区别

竟然说到notepad记事本中输入联通二个字,然后保存再打开,竟然不见了!好神奇啊

 

按如下设置了没用。请高手帮忙!

将默认的Data encoding从System改为UTF-8

 

 

二、自制日志服务器 Hd-Syslog-Server

算了,自己弄一个吧,用C#写个console

1.1  下载:Hd-Syslog-Server


 

1.2  将程序注册为服务,让其开机后自动运行

(1)支持软件

instsrv和srvany

(2)操作步骤:

1、用instsrv.exe安装srvany.exe

将instsrv.exe和srvany.exe拷贝到"C:\WINDOWS\system32"目录下(如果是64bit系统,则将其拷贝到C:\WINDOWS\SysWOW64),用instsrv.exe安装srvany.exe,进入dos界面:

C:\Documents and Settings\administrator>C:\WINDOWS\SysWOW64\instsrv.exe MyService C:\WINDOWS\SysWOW64\srvany.exe

注:Myservice是自定义的服务的名称,可以根据应用程序名称任意更改。

2、对srvany.exe进行配置

点击"开始-运行-regedit"打开注册列表,定位到以下路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService
MyService是你安装srvany.exe时定义的名称。

一般情况下该服务名下没有Parameters项目,需要手动建立:对服务名称项目右击新建项,名称为
Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。

(3)操作

下载:将程序注册成服务示例(来自互联网)

 准备启动服务,可失败了。为啥?

install.bat内容如下:

@echo off
cd /d %~dp0
call run-install.bat "Hd Syslog Server" Hd-Syslog-Server.exe
pause

run-install.bat内容如下:

@echo off

rem 参数依次为 服务名称 可执行文件名称 @echo 服务名称:%1 @echo 程序名称:%2

rem 定义需要运行的程序路径 set curExe=%~dp0%2 rem 定义注册表路径 set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\ rem 定义srvany.exe文件路径 set sourcePath=%~dp0srvany.exe

rem 进入当前目录 cd /d "%~dp0" rem 安装引导服务 instsrv %1  "%sourcePath%" @echo 服务添加完成

rem 添加注册表语法: reg add 注册表路径 /v 项名称 /t 值类型 /d 数据 /f 表示强行修改不提示

rem 名称 Application 值为你要作为服务运行的程序地址 /d对应的参数有斜杠不是为了转义引号,而是路径还有斜杠,默认将引号转义了,额外添加斜杠是为了保留引号 reg add %regpath% /v AppDirectory /t REG_SZ /d "%~dp0\" /f

rem 名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径 reg add %regpath% /v Application /t REG_SZ /d "%curExe%" /f

rem 名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数 reg add %regpath% /v AppParameters /t REG_SZ /f @echo 注册表添加完成

-----------------------------------

仔细到网上找了下关于srvany和instsrv的东东。

使用srvany.exe将任何程序作为Windows服务运行

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

srvany.exe是什么?

srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。

如何获取?

你可以通过下载并安装Microsoft Windows Resource Kits获得或者可以通过我分享的下载地址1(国内线路)下载地址2(国外线路)得到。

如何使用?

当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,比如说可以通过Microsoft Windows Resource Kits中另外一个实用的小工具instsrv.exe进行安装(下载地址),将srvany.exe和instsrv.exe拷贝到C:\Windows\System32\后,我们可以通过下面的命令行进行srvany.exe的服务安装:

instsrv ServiceName C:\Windows\System32\srvany.exe

ServiceName即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。

安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 – 运行 – regedit,打开注册表,定位到下面的路径。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName

同样的ServiceName是你刚才安装服务时自定义的服务名称。

如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。

名称 Application 值为你要作为服务运行的程序地址。 名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。 名称 AppParameters  值为你要作为服务运行的程序启动所需要的参数。

      上文来自:http://wangye.org/blog/archives/42/

 

看完后,我决定打开regedit看一下。发现:

服务名是对的,可是该服务名下没有Parameters项目!!!!

再看一下作者的bat,发现错在红箭头处:

算了算了,bat知识以后再研究,当务之急是把服务化做好。决定试一下上文作者做的软件。哈哈,程序转服务看起来相当简单啊。

工具与介绍:http://wangye.org/blog/archives/644/

可是,问题又来了,即使弄好了,可是怎么让用户输入参数呢?界面怎么弄出来???看了下网上说,要把服务->属性->登录中的"允许服务与桌面交互"勾上。可是然并卵。

于是,干脆弄个配置文件,从配置文件中读吧。

 

 

效果如下:

 

 

测试监听ip是127.0.0.1没问题。于是我部署到正式机器上。可竟然没看到日志文件。???? 纳尼?

看了下作者说srvany.exe这东西最好放在系统文件夹下。于是我把这东西从作者软件安装目录中移入WINDOWS\SysWOW64中。再试一下重启服务。

又报了个错误:

  

再看一下此服务->属性->常规中的可执行文件路径,srvany这东西竟然要求在system32目录中有。于是我赶紧放一个到system32目录。

再启服务,一切,终于正常!

 

posted on 2017-06-20 17:32  jcsu  阅读(1033)  评论(0)    收藏  举报