现在的位置: 首页 > 综合 > 正文

DOS下进程管理(备忘)

2013年08月01日 ⁄ 综合 ⁄ 共 4045字 ⁄ 字号 评论关闭

cmd下两个非常重要的命令,往往我们在得到对方的dosshell以后,想给对方传送木

马或者rdmin等远程控制软件,但是对方开了win自带的防火墙,或者是天网,更或者

是瑞星的实时监控(其中以瑞星的最麻烦,因为都是有关联服务的),这时我们可以

用"tsd -c q -p PID",PID的获得方法有vbs脚本,也可以使用tasklist..现在先说下

tasklist...(cmd下执行tasklist就可以获得进程的详细资料,如下图所示)

PID也就是process id--进程id,获得进程id的作用,嘿嘿,不用说太明白了吧

Taskkill的具体格式

taskkill 有如下参数:

     /S     system            指定要连接到的远程系统。

     /U     [domain/]user     指定应该在哪个用户上下文
                            执行这个命令。

     /P     [password]        为提供的用户上下文指定
                            密码。如果忽略,提示输入。

     /F                      指定要强行终止
                            进程。

     /FI    filter            指定筛选进或筛选出查询的
                            的任务。

     /PID   process id        指定要终止的进程的
                            PID。

     /IM    image name        指定要终止的进程的
                            图像名。通配符 '*'
                            可用来指定所有图像名。

     /T                      Tree kill: 终止指定的进程
                            和任何由此启动的子进程。

     /?                      显示帮助/用法

 

例如:
     TASKKILL /S system /F /IM notepad.exe /T

     TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
     TASKKILL /F /IM notepad.exe /IM mspaint.exe
     TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
     TASKKILL /F /FI "USERNAME eq NT AUTHORITY/SYSTEM" /IM notepad.exe
     TASKKILL /S system /U domain/username /FI "USERNAME ne NT*" /IM *
     TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

我一般用的是    taskkill /f /pid <相对的PID值> /t

比如我们要在DOS下结束QQ.exe 先用tasklist查一下QQ的PID值,我现在的是3108,那么输入

taskkill /f /pid 3108 /t

这个命令的意思是,强行终止远程计算机进程ID为3108的特定进程,并关

由此进程打开任何子进程...

最后补充,用vbs脚本查看pid的方法,将以下代码保存为vbs文件,dos下传给对方

,然后执行cscript pid.vbs

wscript.echo "PID ProcessName"
for each ps in getobject("winmgmts://./root/cimv2:win32_process").instances_
wscript.echo ps.handle&vbtab&ps.name
next

 

 

另附下文:

问:怎么才能关掉一个用任务管理器关不了的进程?我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了

答1:杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:

  c:/>ntsd -c q -p PID

  只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。NtsdNtsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。用法:开个cmd.exe窗口,输入:

  ntsd -c q -p PID

  把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。

答2:xp下还有两个好东东tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill 程序名!!

windows xp的任务管理器,大家一定不会陌生。通过“Ctrl+Alt+Del”组合键,选择“任务管理器”就可以查看到本机完整的进程列表,而且可以通过手工定制进程列表的方式获的更多的进程信息,如会话ID、用户名等,但遗憾的是,我们查看不到这些进程到底提供了哪些系统服务。在Windows XP中新增了一个命令行工具“tasklist.exe”能实现上面的功能。

“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。
它的使用格式为:
TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
参数列表:
/S system 指定连接到的远程系统。
/U [domain/]user 指定使用哪个用户执行这个命令。
/P [password] 为指定的用户指定密码。
/M [module] 列出调用指定的 DLL 模块的所有进程。
如果没有指定模块名,显示每个进程加载的所有模块。
/SVC 显示每个进程中的服务。
/V 指定要显示详述信息。
/FI filter 显示一系列符合筛选器指定的进程。
/FO format 指定输出格式,有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定栏标头不应该在输出中显示。
只对 "TABLE" 和 "CSV" 格式有效。

1、 使用“Tasklist”命令查看本机进程
运行“命令提示符”程序,在提示符窗口中输入:“tasklist”命令(图一),这样就显示本机的所有进程。本机的显示结果由五部分组成:图像名(进程名)、PID、会话名、会话#、内存使用。

2、 查看远程系统的进程
在命令提示符下输入(图二):
“tasklist /s 218.22.123.26 /u jtdd /p 12345678”(不包括引号)
其中/s参数后的“218.22.123.26”指要查看的远程系统的IP地址,/u后的“jtdd”指tasklist命令使用的用户帐号,它是远程系统上的一个合法帐号,/p后的“12345678”指jtdd帐号的密码,。
这样,通过上面的命令,我们就可以查看到远程系统的进程了。
小提示:使用tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务器的支持,否则,该命令就不能正常使用。

3、 查看系统进程提供的服务
tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。
如查看本机的进程“SVCHOST.EXE”提供的服务,在命令提示符下输入:

“tasklist /svc”命令即可(图三),你会惊奇的发现,有四个“SVCHOST.EXE”进程,原来有二十几项服务使用这个进程,对于远程系统来说,查看系统服务也很简单,使用” tasklist /s 218.22.123.26 /u jtdd /p 12345678 /svc”命令,就可以查看IP地址为“218.22.123.26”的远程系统进程所提供的服务。

4、 查看调用DLL模块文件的进程列表
例如,我们要查看本地系统中哪些进程调用了“shell32.dll” DLL模块文件。
(图四)在命令提示符下输入:
tasklist /m shell32.dll
这时系统将显示调用进程列表。

5、 使用筛选器查找指定的进程
在命令提示符下输入:
“TASKLIST /FI "USERNAME ne NT AUTHORITY/SYSTEM" /FI "STATUS eq running“
这样就列出了系统中正在运行的非“SYSTEM“状态的所有进程(图五)。
其中“/FI“为筛选器参数,” ne“和”eq“为关系运算符”不相等“和”相等“。

补充:
谈到“Tasklist”命令,我们就不得不提它得孪生兄弟“taskkill”命令,顾名思义,它是用来杀死进程的。
如要杀死本机的“notepad.exe”进程。
首先,使用Tasklist查找它的PID,系统显示本机“notepad.exe”进程的PID值为“1132“,然后运行“taskkill /pid 1132”即可,或则运行” taskkill /IM notepad.exe“也可,
其中” /pid “参数后面跟要终止进程的PID值,“/IM“参数后面为进程的图像名。

“Tasklist”命令的用法还有很多,大家一起研究一下

抱歉!评论已关闭.