TASKLIST

TASKLIST

Tasklist"是 winxp/win2003/vista/win7/win8下的命令,用來顯示運行在本地或遠程計算機上的所有進程,帶有多個執行參數。

命令介紹


使用格式

tasklist [/s [/u [\] [/p ]]] [{/m | /svc | /v}] [/fo {table | list | csv}] [/nh] [/fi [/fi [ ... ]]]

參數含義

/S  指定連接到的計算機或IP地址,默認本機。
/u [\] 指定使用哪個用戶執行這個命令。
/P [password] 為指定的用戶指定密碼。
/M [module] 列出調用指定的DLL模塊的所有進程。如果沒有指定模塊名,顯示每個進程載入的所有模塊。
/SVC 顯示每個進程中的服務信息,當/fo參數設置為table時有效。
/V 顯示詳細信息。
/FI filter 顯示一系列符合篩選器指定的進程。
/FO format 指定輸出格式,有效值:TABLE、LIST、CSV
/NH 指定輸出中不顯示欄目標題。只對TABLE和CSV格式有效。
filter可使用的參數和操作符
過濾器名稱可用操作符可用值
STATUSeq, neRUNNING | NOT RESPONDING | UNKNOWN
IMAGENAMEeq, ne映像名稱
PIDeq, ne, gt, lt, ge, lePID值
SESSIONeq, ne, gt, lt, ge, le會話數量
SESSIONNAMEeq, ne會話名稱
CPUTIMEeq, ne, gt, lt, ge, leCPU的使用時間,格式為HH:MM:SS
MEMUSAGEeq, ne, gt, lt, ge, lekb為單位的內存使用量
USERNAMEeq, ne合法用戶名
SERVICESeq, ne服務名稱
WINDOWTITLEeq, ne窗口標題
MODULESeq, neDLL名稱

應用實例


查看本機進程

在“命令提示符”中輸入Tasklist命令即可顯示本機的所有進程(圖1)。本機的顯示結果由5部分組成:圖像名(進程名)、PID、會話名、會話#和內存使用。

查看遠程系統的進程

在命令提示符下輸入“Tasklist /s 218.22.123.26 /u jtdd /p 12345678”(不包括引號)即可查看到IP地址為218.22.123.26的遠程系統的進程。其中/s參數后的“218.22.123.26”指要查看的遠程系統的IP地址,/u后的“jtdd”指Tasklist命令使用的用戶賬號,它必須是遠程系統上的一個合法賬號,/p后的“12345678”指jtdd賬號的密碼。
注意:使用Tasklist命令查看遠程系統的進程時,需要遠程機器的RPC服務的支持,否則,該命令不能正常使用。

查看系統進程提供的服務

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的遠程系統進程所提供的服務。

查看調用DLL模塊文件的進程列表

要查看本地系統中哪些進程調用了shell32.dll模塊文件,只需在命令提示符下輸入“Tasklist /m shell32.dll”即可顯示這些進程的列表。

使用篩選器查找指定的進程

在命令提示符下輸入“TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running”,就可以列出系統中正在運行的非SYSTEM狀態的所有進程。其中“/FI”為篩選器參數,“ne”和“eq”為關係運算符“不相等”和“相等”。

結束進程


Tasklist

談到“Tasklist”命令,我們就不得不提到它的孿生兄弟“Taskill”命令,顧名思義,它是用來關掉進程的。
要關掉本機的notepad.exe進程,有兩種方法:
1、先使用Tasklist查找它的PID,假設系統顯示本機notepad.exe(notepad.exe是個病毒性程序,很難刪除,一般在C:/windows/system32下)進程的PID值為1132,然後運行“Taskkill /pid 1132”命令即可。其中“/pid”參數後面是要終止進程的PID值。
2、直接運行“taskkill /IM notepad.exe”命令,其中“/IM”參數後面為進程的圖像名。

NTSD

系統debug級的ntsd,很多進程Tasklist是殺不了的,但是用ntsd就可以,基本上除了WINDOWS系統自己的管理進程,ntsd都可以殺掉,不過有些rootkit級別的超級木馬就無能為力了,不過幸好這類木馬還是很少的。
1、利用進程的PID結束進程
命令格式:ntsd -c q -p pid
命令範例: ntsd -c q -p 1332 (結束explorer.exe進程)
2、利用進程名結束進程
命令格式:ntsd -c q -pn ***.exe (***.exe 為進程名,exe不能省)