课程表

MS DOS命令课程

工具箱
速查手册

程序进程

当前位置:免费教程 » 数据库/运维 » MS DOS命令

ntsd是一个用户态进程调试工具,从Windows 2000就开始被附随在System32目录下。它能够结束除System、smss.exe、csrss.exe、lsass.exe及各种rootkit程序外所有的程序。在Windows Vista以前的版本中,ntsd是系统默认自带的命令,但在Vista及以上版本的Windows中不含ntsd,必须手动下载至电脑中才可使用。

Ntsd在Windows中只有System、smss.exe、csrss.exe、lsass.exe和一些rootkit程序不能杀。前两个是纯内核态的,第三个是Win32子系统,ntsd本身需要它。lsass.exe也不要杀掉,它是负责本地账户安全的。被调试器附着的进程会随调试器一起退出,所以可以用来在命令行下终止进程。此外,ntsd也不能终止360,IceSword,nod32等杀毒软件程序。

准确的说,ntsd是一个系统调试工具,只提供给系统开发级的管理员使用,但是对我们杀掉进程还是很爽的.基本上除了WINDOWS系统自己的管理进程,ntsd几乎都可以杀掉。NTSD 调试程序在启动时要求用户指定一个要连接的进程。使用 TLIST 或 PVIEWER,您可以获得某个现有进程的进程 ID,然后键入 NTSD -p pid 来调试这个进程。

方法一:利用进程的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详解

当然咯,有些rootkit级别的超级木马,还是无能为力,幸好这种牛牛级别的木马还是很少的。NTSD 调试程序在启动时要求用户指定一个要连接的进程。使用 TLIST 或 PVIEWER,您可以获得某个现有进程的进程 ID,然后键入 NTSD -p pid 来调试这个进程。NTSD 命令行使用如下的句法:

  1. NTSD [options] imagefile

其中,imagefile 是要调试的映像名称,options 是下面选项之一:

2:打开一个用于调试字符模式的应用程序的新窗口

-d将输出重定向到调试终端

-g 使执行自动通过第一个断点

-G使 NTSD 在子程序终止时立即退出

-o启用多个进程的调试,默认值为由调试程序衍生的一个进程

-p指定调试由进程 ID 标识的进程

-v产生详细的输出

例如,假设 inetinfo.exe 的进程 ID 为 104。键入以下命令将 NTSD 调试程序连接到 inetinfo 进程(IIS):

  1. NTSD -p 104

也可使用 NTSD 启动一个新进程来进行调试。例如,NTSD notepad.exe 将启动一个新的 notepad.exe 进程,并与它建立连接。

一旦连接到某个进程,您就可以用各种命令来查看堆栈、设置断点、转储内存,等等。

命令含义

~:显示所有线程的一个列表

KB 显示当前线程的堆栈轨迹

~*KB显示所有线程的堆栈轨迹

R显示当前帧的寄存器输出

U反汇编代码并显示过程名和偏移量

D转储内存

BP设置断点

BC清除一个或多个断点

BD禁用一个或多个断点

BE启用一个或多个断点

BL列出一个或多个断点

个人意见,有一个非常重要的参数就是-v参数,我们可以通过它发现一个进程下面挂接了哪些连接库文件。有很多病毒,木马,或者恶意软件,都喜欢把自己做成动态库,然后注册到系统正常程序的加载库列表中,达到隐藏自己的目的。首先我们需要设置一下ntsd的输出重定向,最好是重定向到一个文本文件,方便我们分析研究。

  1. c:\>set _NT_DEBUG_LOG_FILE_APPEND=c:\pdw.txt

注意,虽然输出重定向了,但是我们的输出依然会继续显示在屏幕上,而且会进入到debug模式,我们使用-c -q参数,就可以避免这个问题。

  1. c:\>ntsd -c q -v notepad.exe

现在我们的pdw.txt文件中,就可以看见notepad.exe文件的调试信息。

ntsd使用以下参数杀死进程。

c:\>ntsd -c q -p PID 只要你能提供进程的PID,那么你就可以干掉进程。

我们知道,Windows的任务管理器是我们了解当前计算机运行了哪些程序的有利工具,那么如何打开这个任务管理器呢?在实际使用中通常有两种方法:一是按下键盘上的Ctrl+Alt+Del就可以打开任务管理器;二是鼠标移到任务栏上空白处,右键→选择任务管理器即打开任务管理器。但是,有时候电脑中病毒后,病毒会禁用任务管理器,这个时候怎么办呢?请往下看。

这个时候我们就要采用更专业的方法来打开任务管理器,即采用命令提示符的方式,下面教大家如何使用命令提示符打开任务管理器,以及如何利用命令来关闭相关进程。

1、用命令提示符(cmd)打开任务管理器查看进程方法

开始→运行→cmd,然后在命令提示符窗口中输入Tasklist就可以查看计算机当前的进程了。

2、用命令提示符(cmd)终止某个进程的方法

在这里用举例的方法来说明问题,假如要中止当前进程中的记事本进程notepad.exe,即可采用下列命令:

  1. taskkill /f /im notepad.exe

如果你知道了要终止的进程pid值(通过任务管理器可以看出每个进程的pid值),比如是100,就可以采用下列命令:

  1. ntsd -c q -p 100 或者 taskkill /f /pid 100
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号