您的位置:首页 > 职场人生

系统自带的一些好东西

2008-04-15 15:24 405 查看
你们碰到一些木马,病毒,需要查看一些进程和需要删除它,是不是用到一些工具呢!?下面我来介绍一下不需要工具, windows下自带的东西.在Windows XP中使用“Ctrl+Alt+Del”组合键,进入“Windows 任务管理器”,在“进程”选项卡中可以查看本机完整的进程列表,而且可以通过手工定制进程列表的方式获得更多 的进程信息,如会话ID、用户名等,但遗憾的是,我们查看不到这些进程到底提供了哪些系统服务。其实,在Windows XP中新增的一个命令行工具“Tasklist.exe”就能实现上面的功能。 Tasklist命令用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数。使用格式: Tasklist[/S system[/U username[/P[password]]]][/M[module]| /SVC | /V][/FI filter [/FO format][/NH]参数含义:/S   ystem 指定连接到的远程系统。
  /U[omain\]user 指定使用哪个用户执行这个命令。
  /P[password]为指定的用户指定密码。
  /M[module]列出调用指定的 DLL 模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。
  /SVC  显示每个进程中的服务。
  /V   显示详细信息。
  /FI  filter 显示一系列符合筛选器指定的进程。
  /FO  format 指定输出格式,有效值:TABLE、LIST、CSV。
  /NH  指定输出中不显示栏目标题。只对 TABLE和CSV格式有效。  下面我们来看看Tasklist命令的应用实例。1.查看本机进程   在“命令提示符”中输入Tasklist命令即可显示本机的所有进程(图1)。本机的显示结果由5部分组成:图像名(进程名)、PID、会话名、会话#和内存使用。 2.查看远程系统的进程 在命令提示符下输入“Tasklist /s 218.22.123.26 /u jtdd /p 12345678”(不包括引号)即可查看到IP地址为218.22.123.26的远程系统的进程(图2)。其中/s参数后的“218.22.123.26”指要查看的远程系统的IP地址,/u后的“jtdd”指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后的“12345678”指jtdd账号的密码。3.查看系统进程提供的服务   Tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。如查看本机进程SVCHOST.EXE提供的服务,在命令提示符下输入“Tasklist /svc”命令即可(图3)。你会惊奇地发现,有4个SVCHOST.EXE进程,而总共有二十几项服务使用这个进程。  对于远程系统来说,查看系统服务也很简单,使用“Tasklist /s 218.22.123.26 /u jtdd /p 12345678 /svc”命令,就可以查看IP地址为218.22.123.26的远程系统进程所提供的服务。4.查看调用DLL模块文件的进程列表 要查看本地系统中哪些进程调用了shell32.dll模块文件,只须在命令提示符下输入“Tasklist /m shell32.dll”即可显示这些进程的列表。5.使用筛选器查找指定的进程 在命令提示符下输入“TASKLIST /FI ″USERNAME ne NT AUTHORITY\SYSTEM″ /FI ″STATUS eq running”,就可以列出系统中正在运行的非SYSTEM状态的所有进程。其中“/FI”为筛选器参数,“ne”和“eq”为关系运算符“不相等”和“相等”。 注意:使用Tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务的支持,否则,该命令不能正常使用。使用Tasklist列出所有正在运行的进程,需要配合下面的工具Taskkill来杀死可疑的进程(病毒或者木马程序)。

TASKKILL [/S system [/U username [/P [password]]]]

{ [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]
描述:
这个命令行工具可用来结束至少一个进程。

参数列表:
/S system 指定要连接到的远程系统。

/U [domain\]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定密码。
/F 指定要强行终止进程。
/PID process id 指定要终止的进程的PID。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。

使用该命令可以同时结束多个进程,使用Tasklist和Taskkill配合使用,提供了比图形界面下更强的功能,可以列出svchosts下挂载的进程列表,(有病毒或者木马是挂在svchots下运行的,不过需要高超的技术,这样就会在图形界面的任务管理器里面实现隐身。具有很大的欺骗性。在对付关联进程型的病毒或者木马方面也是技高一筹,因为任务管理器不能同时结束两个进程,而手工结束的时候怎么也赶不上病毒关联进程产生的快。另外一个在图形界面下的进程管理器ICESWORD也可以同时结束多个进程,但是还是被最新的MSN病毒所封杀,DOS下面的这两个工具虽然使用不便,但是可以提供在图形界面不能使用时很好的替代品,并且可以远程连接到别的机器上去,检查和结束远程设备上的服务或进程。对于不能停机或者重新开机的网络服务主机来说,这个办法是非常好用的对于新病毒或者木马的手动清除工具。
具体使用方法是,用tasklist列出进程列表,使用taskkill /pid ** /pid ** /t方式同时杀掉多个进程,然后再进行其他的操作来排除病毒或者木马。[align=left]ntsd的用法![/align]ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程。
用法为打开cmd 后输入以下命令就可以结束进程:
方法一:利用进程的PID结束进程
命令格式:ntsd -c q -p pid
命令范例: ntsd -c q -p 1332 (结束explorer.exe进程)
范例详解:explorer.exe的pid为1332,但是如何获取进程的pid呢?在CMD下输入TASKLIST就可以获取当前任务管理器所有进程的PID
方法二:利用进程名结束进程
命令格式:ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
命令范例:ntsd -c q -pn explorer.exe
另外的能结束进程的DOS命令还有taskkill:
命令格式: taskkill /pid 1234 /f ( 也可以达到同样的效果。)
如果上面这些还不能满足您的求知欲,下面还有:
ntsd详解
有一些高等级的进程,tskill和taskkill或许无法结束,那么我们还有一个更强大的工具,那就是系统debug级的ntsd.准确的说,ntsd是一个系统调试工具,只提供给系统开发级的管理员使用,但是对我们杀掉进程还是很爽的.基本上除了WINDOWS系统自己的管理进程,ntsd都可以杀掉.当然咯,有些rootkit级别的超级木马,还是无能为力,幸好这种牛牛级别的木马还是很少的.NTSD 调试程序在启动时要求用户指定一个要连接的进程。使用 TLIST 或 PVIEWER,您可以获得某个现有进程的进程 ID,然后键入 NTSD -p pid 来调试这个进程。NTSD 命令行使用如下的句法:
NTSD [options] imagefile
其中,imagefile 是要调试的映像名称,options 是下面选项之一:
选项说明-2打开一个用于调试字符模式的应用程序的新窗口-d将输出重定向到调试终端-g 使执行自动通
过第一个断点-G使 NTSD 在子程序终止时立即退出o启用多个进程的调试,默认值为由调试程序衍生的一
个进程-p指定调试由进程 ID 标识的进程-v产生详细的输出
例如,假设 inetinfo.exe 的进程 ID 为 104。键入以下命令将 NTSD 调试程序连接到 inetinfo 进程 (IIS)。NTSD -p 104
也可使用 NTSD 启动一个新进程来进行调试。例如NTSD notepad.exe 将启动一个新的 notepad.exe 进程,并与它建立连接。
一旦连接到某个进程,您就可以用各种命令来查看堆栈、设置断点、转储内存,等等。
命令含义~显示所有线程的一个列表KB 显示当前线程的堆栈轨迹~*KB显示所有线程的堆栈轨迹R显示当前
帧的寄存器输出U反汇编代码并显示过程名和偏移量D[type][< range>]转储内存BP[#] 无涯教程
网:http://www.wuyapc.com
设置断点BC[]清除一个或多个断点BD[]禁用一个或多个断点BE[< bp>]启用一个或多个断点BL[]列出一个或多个断点
个人意见,有一个非常重要的参数就是-v参数,我们可以通过它发现一个进程下面挂接了哪些连接库文件.
有很多病毒,木马,或者恶意软件,都喜欢把自己做成动态库,然后注册到系统正常程序的加载库列表中,达到隐藏自己的目的.
首先我们需要设置一下ntsd的输出重定向,最好是重定向到一个文本文件,方便我们分析研究.
c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt
注意,虽然输出重定向了,但是我们的输出依然会继续显示在屏幕上,而且会进入到debug模式,我们使用-c q参数,就可以避免这个问题.
c:\>ntsd -c q -v notepad.exe
现在我们的pdw.txt文件中,就可以看见notepad.exe文件的调试信息.
ntsd使用以下参数杀死进程.
c:\>ntsd -c q -p PID 只要你能提供进程的PID,那么你就可以干掉进程.[align=left]ntsd -c q -p PID [/align][align=left]-c:执行后面的debug命令。q:debug命令-退出。-p:指定被调试的线程ID。
PID:线程ID。只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。ntsd按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD中所附的帮助文件。 [/align][align=left]注:某些系统进程被ntsd结束后会自动退出系统,请小心使用。 [/align][align=left] [/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息