Tasklist介紹
Tasklist"是 winxp/win2003/vista/win7/win8下的命令,用來顯示運行在本地或遠程計算機上的所有進程,帶有多個執行參數。
使用格式
tasklist [/s <Computer> [/u [<Domain>\]<UserName> [/p <Password>]]] [{/m <Module> | /svc | /v}] [/fo {table | list | csv}] [/nh] [/fi <Filter> [/fi <Filter> [ ... ]]]
參數含義
/S <computer> 指定連接到的計算機或IP地址,默認本機。
/u [<Domain>\]<UserName> 指定使用哪個用戶執行這個命令。
/P [password] 為指定的用戶指定密碼。
/M [module] 列出調用指定的DLL模塊的所有進程。如果沒有指定模塊名,顯示每個進程加載的所有模塊。
/SVC 顯示每個進程中的服務信息,當/fo參數設置為table時有效。
/V 顯示詳細信息。
/FI filter 顯示一系列符合篩選器指定的進程。
/FO format 指定輸出格式,有效值:TABLE、LIST、CSV。
/NH 指定輸出中不顯示欄目標題。只對TABLE和CSV格式有效。
filter可使用的參數和操作符
過濾器名稱
可用操作符
可用值
STATUS
eq, ne
RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME
eq, ne
映像名稱
PID
eq, ne, gt, lt, ge, le
PID值
SESSION
eq, ne, gt, lt, ge, le
會話數量
SESSIONNAME
eq, ne
會話名稱
CPUTIME
eq, ne, gt, lt, ge, le
CPU的使用時間,格式為HH:MM:SS
MEMUSAGE
eq, ne, gt, lt, ge, le
kb為單位的內存使用量
USERNAME
eq, ne
合法用戶名
SERVICES
eq, ne
服務名稱
WINDOWTITLE
eq, ne
窗口標題
MODULES
eq, ne
DLL名稱
應用實例
查看本機進程
在“命令提示符”中輸入Tasklist命令即可顯示本機的所有進程(圖1)。本機的顯示結果由5部分組成:圖像名(進程名)、PID、會話名、會話#和內存使用。
C:\Users\Administrator>tasklist 映像名稱 PID 會話名 會話# 內存使用 ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 24 K System 4 Services 0 9,516 K smss.exe 420 Services 0 836 K csrss.exe 632 Services 0 4,632 K wininit.exe 752 Services 0 4,388 K csrss.exe 772 Console 1 92,908 K services.exe 816 Services 0 8,856 K lsass.exe 836 Services 0 11,160 K lsm.exe 844 Services 0 3,748 K svchost.exe 948 Services 0 8,496 K
查看遠程系統的進程
在命令提示符下輸入“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進程,而總共有二十幾項服務使用這個進程。
C:\Users\Administrator>tasklist /svc 映像名稱 PID 服務 ========================= ======== ============================================ System Idle Process 0 暫缺 System 4 暫缺 smss.exe 420 暫缺 csrss.exe 632 暫缺 wininit.exe 752 暫缺 csrss.exe 772 暫缺 services.exe 816 暫缺 lsass.exe 836 KeyIso, ProtectedStorage, SamSs, VaultSvc lsm.exe 844 暫缺 svchost.exe 948 DcomLaunch, PlugPlay, Power ibmpmsvc.exe 1020 IBMPMSVC nvvsvc.exe 432 nvsvc svchost.exe 472 RpcEptMapper, RpcSs
對於遠程系統來說,查看系統服務也很簡單,使用“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”為關系運算符“不相等”和“相等”。
綜合應用之結束進程
Taskkill
談到“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不能省)
來源:百度百科
