一、问题的提出:
写过一些端口的文章,但有一个问题一直困扰着我,就是查找端口所对应的服务。比如:如图1所示1035和1063端口对应的进程都是svchost,但是这两个端口对应的是哪个服务呢?只有找到对应的服务才能停止该服务从而彻底关闭对应的端口,同时才能看看是正常服务还是木马服务。

图1
二、问题的解决 参考了网上的一些文章和自己的摸索找到了一个简单的方法,下面先以查找1035和1063端口为例看看查找的过程,步骤如下:
1、如图1:用TCPView(http://www.mydown.com/soft/115/115304.html)查看端口列表。记下1035和1063端口对应的进程都是svchost,注意它们的pid值都为1308(svchost.exe:1308),记住这个数。
2、如图2:在命令窗口(运行cmd进入)运行tasklist /svc列出进程所对应的服务。看到pid=1308所对应的服务了吗?显示的是dhcp和dnscache服务。
3、如图3所示,当打开服务(运行services.msc)界面时却发现界面中显示的是红圈中的内容而不是dhcp和dnscache,这两个常用的能猜到是什么服务,但有些服务名称和在图2中显示的根本对不上。下面就是本文的关键,接着往下看。
4、用系统中自带的sc命令查找相应的服务名称。
用法如下:
C:/>sc getdisplayname dhcp [SC] GetServiceDisplayName 成功 名称 = DHCP Client
C:/>sc getdisplayname dnscache [SC] GetServiceDisplayName 成功 名称 = DNS Client 看到了吧!dhcp对应的名称是DHCP Client,dnscache对应的是DNS Client,从图2中可以找到相应的服务了吧!
5、停止该服务。
有下面几种方法可以停止服务。
1)在图2中直接点击该服务,按"停止"即可。 2)也可以在命令状态中输入: C:/>net stop dhcp DHCP Client 服务正在停止. DHCP Client 服务已成功停止。
C:/>net stop dnscache DNS Client 服务已成功停止。 3)还可以在命令状态中输入:sc stop dhcp
注意在2、3方法中用的名称都是用tasklist命令查出的名称。而用sc getdisplayname的作用就是验证一下到底是哪个服务。不然停错了正常服务那可非我所愿。

图2

图3
三、例子
下面再举个停止w3svc服务的例子,自己看吧,不做解释了。
C:/>sc getdisplayname w3svc [SC] GetServiceDisplayName 成功 名称 = World Wide Web Publishing Service services.msc
图4
C:/>sc stop w3svc
SERVICE_NAME: w3svc TYPE : 20 WIN32_SHARE_PROCESS STATE : 3 STOP_PENDING (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))
WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x1 WAIT_HINT : 0x4e20 【转自世纪安全网 http://www.21safe.com】
|