Tasklist介紹
使用格式
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、會話名、會話#和記憶體使用。
查看遠程系統的進程
在命令提示符下輸入“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不能省)