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”命令的用法還有很多,大家一起研究一下