Windows服务名称与显示名称的查看及其重要性解析
打开services.msc,右键任一服务的属性,即可查看该服务的服务名称及显示名称:
服务名称与显示名称的区别在于:服务名称是系统定义的,用于区别其他服务的标识;而显示名称是显示在services.msc里的名称,如下图所示的“名称”:
无论是服务名称还是显示名称,均可用于net stop\start 命令,格式如下:
net stop\start SERVICE_NAME
net stop\start "DISPLAY_NAME"
查看服务名称与显示名称对应关系的方法,除了之间在services.msc里查看属性外,还可以通过sc命令查看,如
sc query state= all|findstr "SERVICE_NAME DISPLAY_NAME"
可能有人会问,我为什么要查看这个呢?让我们来看一个实例:
假设你的一台03服务器被入侵,现在需要查看服务器是否被植入木马。首先,你想到的是查看任务管理器中,是否有可疑进程在运行,很快你发现了一个名为xenservice.exe的进程。然后你想看看该进程对应的后台服务:
C:\Documents and Settings\Administrator>tasklist /svc |findstr xenser
xenservice.exe 1900 xensvc
于是你知道,这个进程是一个名为xensvc的服务产生的。接着,你打开service.msc,想看看关于此服务的详细信息。问题来了,在服务窗口里根本找不到一个名为xensvc的服务。
为什么会这样呢?
因为服务窗口里显示的服务名,是显示名称(DISPLAY_NAME),而不是服务名称(SERVICE_NAME)。
所以,我们就需要查看先服务xensvc对应的显示名称:
sc query state= all|findstr "SERVICE_NAME DISPLAY_NAME"
在输出结果中,可以看到对应的显示名称为Citrix Tools for Virtual Machines Service:
SERVICE_NAME: xensvc
DISPLAY_NAME: Citrix Tools for Virtual Machines Service
然后再回到服务窗口,查找名为Citrix Tools for Virtual Machines Service的服务:
很明显,这是虚拟机的相关服务,并非木马程序。